{
  "markdown": "# handoff-mcp-server\n\nDurable handoffs and shared scratchpad for multi-agent workflows over MCP (HTTP transport).\n\n## Endpoints\n\n- `GET /` basic service info\n- `GET /health` health and storage stats\n- `POST /mcp` JSON-RPC MCP endpoint\n- `GET /robots.txt` discovery file\n- `GET /llms.txt` discovery file\n- `GET /sitemap.xml` discovery file\n\n## Environment Variables\n\n- `PORT` default `3000`\n- `DATA_DIR` default `/data`\n- `MCP_API_KEY` required in production (`NODE_ENV=production`)\n- `PUBLIC_MCP_DISCOVERY` default `true`\n- `PUBLIC_BASE_URL` optional, used for absolute links in discovery files\n\n## Local Run\n\n```bash\nnpm ci\nnpm run build\nMCP_API_KEY=test-secret node dist/index.js\n```\n\n## MCP Auth Behavior\n\n- Discovery methods (`initialize`, `tools/list`, `resources/list`, `prompts/list`, `ping`) can be public when `PUBLIC_MCP_DISCOVERY=true`.\n- `tools/call` requires valid upstream auth when `MCP_API_KEY` is set:\n  - `Authorization: Bearer <MCP_API_KEY>` or\n  - `x-api-key: <MCP_API_KEY>`\n\n## Xpay + Railway Configuration (Required)\n\n1. Railway variables:\n- `MCP_API_KEY=<your-strong-key>`\n- `PUBLIC_MCP_DISCOVERY=true`\n- `PUBLIC_BASE_URL=https://handoff-mcp-server-production.up.railway.app`\n\n2. Xpay MCP URL:\n- Use `https://handoff-mcp-server-production.mcp.xpay.sh/mcp?key=xpay_sk_...`\n- Without `?key=...`, Xpay returns auth required and requests will not forward.\n\n3. Client calls through Xpay:\n- Keep the Xpay key in URL.\n- Also send upstream auth header for `tools/call` (`x-api-key` or Bearer token matching `MCP_API_KEY`).\n\n## Publishing\n\n### MCP Registry\n\n- Server name: `io.github.josephibra/handoff-mcp-server`\n- Primary remote: Xpay URL (with key at client usage time, not committed)\n- Secondary remote: Railway URL\n\n### Smithery\n\n- Namespace: `josephibrahim`\n- Server ID: `handoff-mcp-server`\n- MCP Server URL: `https://handoff-mcp-server-production.mcp.xpay.sh/mcp?key=xpay_sk_...`\n\n### Agentverse\n\n- Create a new agent and attach MCP server:\n  - URL: `https://handoff-mcp-server-production.mcp.xpay.sh/mcp?key=xpay_sk_...`\n  - Headers: `x-api-key: <MCP_API_KEY>` for tool execution paths\n\n## Recommended Extra Discovery Listings\n\n- PulseMCP directory\n- mcp.so\n- OpenTools catalog\n- MCPmarket / mcpservers.org\n\nUse the same canonical MCP URL and matching auth notes everywhere to avoid inconsistent behavior.\n",
  "bytes": 2330,
  "sha": "9cc7bba5a1a652bf1c42011e91040d8ff0b9ca7fae8b0d48cb326e7844a7723f",
  "repo_slug": "josephibra/handoff-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_josephibra_handoff_mcp_server_7b3c3cd9/readme"
}