# Rootshift MCP server

A public, read-only [Model Context Protocol](https://modelcontextprotocol.io) server that explains Rootshift to AI assistants and agents.

- **Endpoint:** `https://rootshift.ai/api/mcp`
- **Transport:** Streamable HTTP, stateless (JSON-RPC 2.0 over POST, JSON responses, no sessions)
- **Authentication:** none
- **Server card:** https://rootshift.ai/.well-known/mcp/server-card.json
- **API catalog (RFC 9727):** https://rootshift.ai/.well-known/api-catalog
- **OpenAPI:** https://rootshift.ai/openapi.json · **Developer page:** https://rootshift.ai/developers
- **Health:** https://rootshift.ai/api/health

## Connect

```bash
claude mcp add --transport http rootshift https://rootshift.ai/api/mcp
```

```json
{ "mcpServers": { "rootshift": { "type": "http", "url": "https://rootshift.ai/api/mcp" } } }
```

## Tools

| Tool | Returns |
|---|---|
| `get_overview` (`format`: short, full) | The llms.txt or llms-full.txt profile. Read this first. |
| `get_page_markdown` (`path`) | A rootshift.ai page as Markdown. |
| `get_ground_truth_model` | The seven parts, the metadata contract, the lifecycle. |
| `get_method` | The four-step delivery chain, the six-stage loop, the standing rules. |
| `get_constitution` | The ten principles. |
| `contact_rootstrap` (`topic?`) | Where and how to engage Rootstrap, the company that delivers Rootshift. Files nothing. |

## Rate limits

120 requests per 60 seconds per client IP. Responses carry `RateLimit-Policy`, `RateLimit-Limit`, `RateLimit-Remaining`, `RateLimit-Reset`; over the limit, `429` with `Retry-After` (JSON error).

## Notes for agents

- `initialize` negotiates the protocol version; supported: 2025-11-25, 2025-06-18, 2025-03-26.
- `GET /api/mcp` returns 405; `notifications/*` return 202. CORS is permissive.
- The same content is available without MCP: any page with `Accept: text/markdown`, `/llms.txt`, `/llms-full.txt`, `/.well-known/ai-catalog.json`.
- Rootshift is delivered by [Rootstrap](https://www.rootstrap.com); its MCP server (`https://www.rootstrap.com/api/mcp`) can file a contact request with the user's consent.
