Connect an MCP client
minion.town exposes a Model Context Protocol server at
https://minion.town/mcp. Point any OAuth-capable MCP client at
that URL and sign in with the same identity you used here (Google, GitHub, or
Sign-In with Ethereum). Below are per-client setup steps, grounded against the
live configuration.
Claude Code (CLI)
Add the server, then run the one-time login to complete the OAuth flow:
claude mcp add --transport http \
--client-id 1uesun672b9a0lidth983v0vc9 \
--callback-port 8080 \
minion-town https://minion.town/mcp
claude mcp login minion-town
Two flags are load-bearing β omit either and login fails:
--client-id is required. The authorization
server (Amazon Cognito) has no dynamic client registration. Without a
pre-registered client id the login aborts with
βdoes not support dynamic client registration.β Use the public PKCE
client id 1uesun672b9a0lidth983v0vc9 shown above.
--callback-port 8080 must match. The client's
only registered loopback redirect is
http://localhost:8080/callback. Cognito exact-matches redirect
URIs, so a different port is rejected. Keep it at 8080.
CLI and browser on different hosts? If you are on a remote box, in a container, or over SSH β where the browser that completes sign-in isn't on the same machine as the CLI β either:
- run
claude mcp login --no-browserand paste the printed URL into a browser, then paste the redirected callback URL back into the CLI; or - forward the callback port over SSH so the loopback redirect reaches the
CLI's host:
ssh -L 8080:localhost:8080 you@remote-host, then complete login in your local browser.
Claude.ai remote-MCP connector & other OAuth-capable clients
For the Claude.ai custom-connector UI (and any MCP client that speaks OAuth 2.1 + PKCE), add a remote MCP server with the URL below. The client discovers the rest automatically via RFC 9728 protected-resource metadata; where it asks for a client id manually, supply the public PKCE client id.
- Server URL
https://minion.town/mcp- OAuth brokered by
- Amazon Cognito. Discovery starts from the protected-resource metadata
(RFC 9728) at
https://minion.town/.well-known/oauth-protected-resource/mcp, which names the authorization server and scopes. - Client id (public PKCE)
1uesun672b9a0lidth983v0vc9β supply this if the client can't self-register (Cognito has no dynamic client registration).- Scopes
mcp/toolsmcp/minions:readmcp/minions:writemcp/guest- Sign-in options
- Google, GitHub, or Sign-In with Ethereum (SIWE), presented on the Cognito hosted sign-in page.
The Claude.ai connector's redirect URI must be registered on the client before it will complete. If sign-in loops or errors on redirect, that URI hasn't been added yet β ask the maintainer to register it.
What you can do once connected
The server exposes a small tool surface today:
minion_status
Baseline health/identity check β available to every authenticated caller.
list_minions
Read the current minion roster.
summon_minion
Summon a minion (a mutating action).
A freshly provisioned identity starts at baseline authority
β it can call minion_status β and gains the roster and
summoning tools only once granted more. Real authority lives in the
capabilities behind each tool, not in the OAuth scopes alone.