MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

Kiro-mcp-ui

Created 5/9/2026
Updated about 3 hours ago
Repository documentation and setup instructions

Kiro MCP Server Manager

A web UI to manage Model Context Protocol (MCP) servers for Kiro CLI.

Kiro MCP Manager

Features

  • Read/write ~/.kiro/settings/mcp.json directly
  • Add/Edit/Remove MCP servers via form, presets, or raw JSON
  • Toggle enable/disable servers with one click
  • Health Check — probes each server via MCP JSON-RPC protocol, shows active/error status and tool count
  • 22 presets — AWS Docs, GitHub, Playwright, Gmail, Slack, PostgreSQL, Redis, and more
  • Import/Export config as JSON file
  • View JSON — see raw config
  • Supports both local (stdio) and remote (HTTP/SSE) server types
  • Falls back to localStorage if backend is unavailable

Quick Start

git clone https://github.com/subnanih/Kiro-mcp-ui.git
cd Kiro-mcp-ui
node server.js

Open http://localhost:3456

No dependencies required — just Node.js (v16+).

How It Works

┌─────────────────┐         ┌──────────────┐         ┌─────────────────────────┐
│   Browser UI    │ ──API── │  server.js   │ ──R/W── │ ~/.kiro/settings/mcp.json│
│  (index.html)   │         │  (port 3456) │         └─────────────────────────┘
└─────────────────┘         │              │
                            │  /api/probe  │ ──spawn──▶ MCP Server (stdio)
                            └──────────────┘           initialize → tools/list
  • GET /api/config — reads mcp.json
  • PUT /api/config — writes mcp.json
  • GET /api/probe — spawns each MCP server, sends JSON-RPC initialize + tools/list, reports status & tools
  • GET /api/probe/:name — probe a single server

MCP Config Format

Kiro CLI reads MCP config from ~/.kiro/settings/mcp.json:

{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "@package/name"],
      "env": {
        "API_KEY": "${MY_API_KEY}"
      },
      "disabled": false,
      "autoApprove": [],
      "disabledTools": []
    }
  }
}

Local Server Properties

| Property | Type | Required | Description | |----------|------|----------|-------------| | command | String | Yes | Command to run the MCP server | | args | Array | No | Arguments to pass to the command | | env | Object | No | Environment variables (supports ${VAR} expansion) | | disabled | Boolean | No | Whether the server is disabled | | autoApprove | Array | No | Tool names to auto-approve | | disabledTools | Array | No | Tool names to exclude |

Remote Server Properties

| Property | Type | Required | Description | |----------|------|----------|-------------| | url | String | Yes | HTTPS endpoint for the remote MCP server | | headers | Object | No | Headers for connection | | disabled | Boolean | No | Whether the server is disabled |

Adding MCP Servers via CLI

You can also add servers via Kiro CLI directly:

kiro-cli mcp add \
  --name "server-name" \
  --scope global \
  --command "npx" \
  --args "-y @package/name" \
  --env "KEY=value"

Presets Included

| Preset | Package | Description | |--------|---------|-------------| | AWS Docs | uvx awslabs.aws-documentation-mcp-server@latest | Search & read AWS documentation | | GitHub | docker ghcr.io/github/github-mcp-server | Repos, issues, PRs | | Playwright | npx @playwright/mcp@latest | Browser automation & testing | | Puppeteer | npx @modelcontextprotocol/server-puppeteer | Chrome browser control | | Fetch | uvx mcp-server-fetch | Fetch web pages | | Brave Search | npx @modelcontextprotocol/server-brave-search | Web search | | Filesystem | npx @modelcontextprotocol/server-filesystem | Local file read/write | | Memory | npx @modelcontextprotocol/server-memory | Persistent knowledge graph | | Sequential Thinking | npx @modelcontextprotocol/server-sequential-thinking | Step-by-step reasoning | | Git | uvx mcp-server-git | Git repo operations | | Docker | npx @modelcontextprotocol/server-docker | Container management | | PostgreSQL | npx @modelcontextprotocol/server-postgres | Query Postgres databases | | SQLite | uvx mcp-server-sqlite | Local SQLite databases | | Redis | npx @modelcontextprotocol/server-redis | Redis operations | | Slack | npx @modelcontextprotocol/server-slack | Read/send Slack messages | | Google Maps | npx @modelcontextprotocol/server-google-maps | Places, directions | | Linear | npx @modelcontextprotocol/server-linear | Issue tracking | | Notion | npx @modelcontextprotocol/server-notion | Pages & databases | | Sentry | npx @modelcontextprotocol/server-sentry | Error tracking | | EverArt | npx @modelcontextprotocol/server-everart | AI image generation | | Cloudflare | npx @cloudflare/mcp-server-cloudflare | Workers, KV, D1, R2 | | Gmail | uvx mcp-gsuite | Read, draft, reply to emails |

Gmail MCP Setup

The Gmail preset uses mcp-gsuite or @gongrzhe/server-gmail-autoauth-mcp.

Option A: @gongrzhe/server-gmail-autoauth-mcp (Recommended for Kiro)

Simpler setup, won't block Kiro on startup after initial auth.

1. Create Google Cloud OAuth Credentials

  1. Go to Google Cloud Console
  2. Create/select a project
  3. Enable Gmail API
  4. Go to Credentials → Create OAuth Client ID → Desktop app
  5. Add redirect URI: http://localhost:3000/oauth2callback
  6. Note your Client ID and Client Secret

2. Save OAuth Keys

mkdir -p ~/.gmail-mcp
cat > ~/.gmail-mcp/gcp-oauth.keys.json << 'EOF'
{
  "installed": {
    "client_id": "YOUR_CLIENT_ID.apps.googleusercontent.com",
    "client_secret": "YOUR_CLIENT_SECRET",
    "redirect_uris": ["http://localhost:3000/oauth2callback"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token"
  }
}
EOF

3. Authenticate (one-time)

npx -y @gongrzhe/server-gmail-autoauth-mcp auth

This opens your browser. Sign in and grant Gmail access. Token saves to ~/.gmail-mcp/credentials.json.

4. Add to Kiro

{
  "mcpServers": {
    "gmail": {
      "command": "npx",
      "args": ["-y", "@gongrzhe/server-gmail-autoauth-mcp"]
    }
  }
}

Option B: mcp-gsuite (Multi-account, Gmail + Calendar)

Supports multiple Google accounts but requires pre-authorization before adding to Kiro.

mkdir -p ~/.config/mcp-gsuite/credentials

# Create accounts file
cat > ~/.config/mcp-gsuite/.accounts.json << 'EOF'
{
  "accounts": [
    {
      "email": "your@gmail.com",
      "account_type": "personal",
      "extra_info": "Primary account"
    }
  ]
}
EOF

# Create OAuth config
cat > ~/.config/mcp-gsuite/.gauth.json << 'EOF'
{
  "web": {
    "client_id": "YOUR_CLIENT_ID.apps.googleusercontent.com",
    "client_secret": "YOUR_CLIENT_SECRET",
    "redirect_uris": ["http://localhost:4100/code"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token"
  }
}
EOF

# Pre-authorize (run once, complete browser auth)
uvx mcp-gsuite --accounts-file ~/.config/mcp-gsuite/.accounts.json --credentials-dir ~/.config/mcp-gsuite/credentials

Then add to Kiro:

{
  "mcpServers": {
    "gmail": {
      "command": "uvx",
      "args": [
        "mcp-gsuite",
        "--accounts-file", "~/.config/mcp-gsuite/.accounts.json",
        "--credentials-dir", "~/.config/mcp-gsuite/credentials"
      ]
    }
  }
}

Cron/Scheduler MCP Setup

Use mcp-cron for scheduling shell commands and AI tasks.

{
  "mcpServers": {
    "scheduler": {
      "command": "npx",
      "args": ["-y", "mcp-cron", "--transport", "stdio", "--prevent-sleep"]
    }
  }
}

Tools Available

| Tool | Description | |------|-------------| | add_task | Add a shell command task with cron schedule | | add_ai_task | Add an AI prompt task with cron schedule | | list_tasks | List all scheduled tasks | | run_task | Execute a task immediately | | enable_task / disable_task | Toggle task | | remove_task | Delete a task | | get_task_result | View execution history |

Cron Expression Format

┌───────────── second (0-59, optional)
│ ┌───────────── minute (0-59)
│ │ ┌───────────── hour (0-23)
│ │ │ ┌───────────── day of month (1-31)
│ │ │ │ ┌───────────── month (1-12)
│ │ │ │ │ ┌───────────── day of week (0-6)
* * * * * *

Examples:

  • 0 */5 * * * * — Every 5 minutes
  • 0 0 9 * * MON-FRI — Weekdays at 9 AM
  • 0 0 0 * * * — Daily at midnight

Troubleshooting

| Issue | Solution | |-------|----------| | Server timeout on health check | Server may need auth first (e.g., Gmail). Run auth separately. | | redirect_uri_mismatch | Add the correct redirect URI in Google Cloud Console | | Package not found (E404) | Check the exact npm package name | | Port 3456 in use | lsof -ti:3456 \| xargs kill then restart |

Config File Locations

| Scope | Path | |-------|------| | Global (user) | ~/.kiro/settings/mcp.json | | Workspace | <project>/.kiro/settings/mcp.json |

Workspace config overrides global. Agent config overrides both.

License

MIT

Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/subnanih/Kiro-mcp-ui
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "subnanih-kiro-mcp-ui": { "command": "git", "args": [ "clone", "https://github.com/subnanih/Kiro-mcp-ui" ] } } }