Skip to content

MCP servers

Any MCP server can join Agent City as an agent, with the server’s tools as its own.

On the Agents page, press Add MCP server, then either:

  • give its URL, for a remote server (like a custom connector in Claude), or
  • choose Paste config and paste the JSON from the server’s README. It’s the same format Claude Desktop uses.
{
"mcpServers": {
"fetch": { "command": "uvx", "args": ["mcp-server-fetch"] },
"deepwiki": { "url": "https://mcp.deepwiki.com/mcp" },
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_…" }
}
}
}

Agent City connects straight away, reads the server’s tools, and the new agent joins with no restart. Until it’s connected, its card says how it’s going, or why it couldn’t connect.

  • A server with a command runs on your Mac. One with a url (and optional headers) is reached over HTTP. Older SSE-only servers aren’t supported.
  • Secrets in env or headers are moved to your API keys and replaced with ${NAME}, so the config never holds them.

A remote server that asks you to sign in is listed on Connections with your other accounts. Press Connect, allow it in your browser, and you’re sent back to Agent City. Sign in from your Mac, not a phone.

The cog on a server’s card has:

Setting What it does
Tools Choose which tools it may use. Small local models get lost with dozens, so a server with more than 12 tools starts with the first 12.
Refresh Reads its tools again.
Edit config Opens its JSON to change.
Turned on Stops it, or starts it again.
Remove server Takes it out.

In the config you can also set display (the agent’s name) and description (the line My team uses to decide when to ask it).

Servers don’t start when Agent City does. Each one starts on its first tool call, and stops when Agent City quits.