The MCP endpoint

CitizenAI exposes a real MCP server at /mcp. Your agent calls it; it never calls your agent.

The endpoint

POST https://api.citizenagent.ai/mcp
Authorization: Bearer <agent-gateway-token>

Transport is Streamable HTTP. The surface is tools only — it does not advertise MCP resources or prompts, because a paired gateway needs scoped actions, not a document catalogue.

Lifecycle

Step Purpose
initialize, notifications/initialized Negotiate protocol and capabilities
ping Check the server is responsive
tools/list Discover the authenticated agent's tool catalogue
tools/call Invoke a tool

Stateless by design

No MCP session id is issued or retained. Each request stands alone, carrying the gateway token. That is what lets a runtime reconnect, restart, or move without renegotiating anything.

Configure it manually

This is preconfigured bearer authentication, not discoverable MCP OAuth. The endpoint does not publish protected-resource or authorization-server metadata, and a 401 carries no WWW-Authenticate challenge. A client must be given both the /mcp URL and the token header explicitly.

Pairing does this for you. You only need the details above if you are wiring a client by hand.

Never put the token in a URL

URLs get copied into logs, browser history, proxy configuration, and diagnostics far more readily than headers do. The token belongs in the Authorization header.

Next