|
| 1 | +# AuthZed MCP Server |
| 2 | + |
| 3 | +Connect your AI tools to AuthZed and SpiceDB documentation using the Model Context Protocol (MCP). |
| 4 | +Access comprehensive documentation, API references, and authorization pattern examples directly from your AI assistant. |
| 5 | + |
| 6 | +## Overview |
| 7 | + |
| 8 | +AuthZed MCP Server is a remote MCP server available at `https://mcp.authzed.com`. |
| 9 | +It provides tools with searchable access to SpiceDB and AuthZed resources, enabling you to learn about authorization systems, explore APIs, and find implementation examples without leaving your LLM chat or development environment. |
| 10 | + |
| 11 | +### What You Can Do |
| 12 | + |
| 13 | +- **Search Documentation**: Find relevant information across all SpiceDB and AuthZed documentation pages |
| 14 | +- **Discover APIs**: Explore all API methods and message types with detailed specifications |
| 15 | +- **Find Examples**: Browse authorization pattern examples including RBAC, document sharing, and more with SpiceDB schemas included |
| 16 | +- **Learn Concepts**: Access comprehensive guides on schema design, relationships, and permissions |
| 17 | + |
| 18 | +## Supported Clients |
| 19 | + |
| 20 | +Works with any MCP-compatible AI client including: |
| 21 | + |
| 22 | +- ChatGPT |
| 23 | +- Claude Code and Claude Desktop |
| 24 | +- Cursor |
| 25 | +- VS Code with Copilot |
| 26 | +- Windsurf |
| 27 | +- Zed Editor |
| 28 | +- Other MCP-compatible tools |
| 29 | + |
| 30 | +## Setup |
| 31 | + |
| 32 | +### ChatGPT |
| 33 | + |
| 34 | +Available on Pro and Plus accounts. |
| 35 | + |
| 36 | +1. Enable **Developer mode** in Settings |
| 37 | +2. Create connector: |
| 38 | + |
| 39 | +- **Name**: AuthZed |
| 40 | +- **MCP server URL**: `https://mcp.authzed.com` |
| 41 | +- **Authentication**: None |
| 42 | + |
| 43 | +### Claude Code |
| 44 | + |
| 45 | +```bash |
| 46 | +claude mcp add --transport http authzed https://mcp.authzed.com |
| 47 | + |
| 48 | +# Start Claude Code |
| 49 | +claude |
| 50 | +``` |
| 51 | + |
| 52 | +### Claude Desktop |
| 53 | + |
| 54 | +Available on Pro, Max, Team, and Enterprise plans. |
| 55 | + |
| 56 | +1. Open **Settings** → **Connectors** |
| 57 | +2. Select **Add custom connector** |
| 58 | +3. Configure: |
| 59 | + |
| 60 | +- **Name**: AuthZed |
| 61 | +- **URL**: `https://mcp.authzed.com` |
| 62 | + |
| 63 | +### Cursor |
| 64 | + |
| 65 | +Add to `.cursor/mcp.json`: |
| 66 | + |
| 67 | +```json |
| 68 | +{ |
| 69 | + "mcpServers": { |
| 70 | + "authzed": { |
| 71 | + "url": "https://mcp.authzed.com" |
| 72 | + } |
| 73 | + } |
| 74 | +} |
| 75 | +``` |
| 76 | + |
| 77 | +### VS Code with Copilot |
| 78 | + |
| 79 | +1. Command Palette → **MCP: Add Server** |
| 80 | +2. Select **HTTP** |
| 81 | +3. Configure: |
| 82 | + |
| 83 | +- **URL**: `https://mcp.authzed.com` |
| 84 | +- **Name**: AuthZed |
| 85 | + |
| 86 | +### Windsurf |
| 87 | + |
| 88 | +Add to `mcp_config.json`: |
| 89 | + |
| 90 | +```json |
| 91 | +{ |
| 92 | + "mcpServers": { |
| 93 | + "authzed": { |
| 94 | + "serverUrl": "https://mcp.authzed.com" |
| 95 | + } |
| 96 | + } |
| 97 | +} |
| 98 | +``` |
| 99 | + |
| 100 | +## Using the Server |
| 101 | + |
| 102 | +### Learning SpiceDB |
| 103 | + |
| 104 | +Ask natural language questions about SpiceDB concepts: |
| 105 | + |
| 106 | +- "How do I define a relationship in SpiceDB?" |
| 107 | +- "What are the best practices for schema design?" |
| 108 | +- "Explain how Zedtokens work" |
| 109 | +- "What is the difference between relations and permissions?" |
| 110 | + |
| 111 | +### Exploring the API |
| 112 | + |
| 113 | +Discover API methods and understand their usage: |
| 114 | + |
| 115 | +- "How do I check permissions using the API?" |
| 116 | +- "Show me all read-related API methods" |
| 117 | +- "What parameters does WriteRelationships accept?" |
| 118 | +- "Explain the CheckPermission response structure" |
| 119 | + |
| 120 | +### Finding Examples |
| 121 | + |
| 122 | +Search for authorization patterns and implementation examples: |
| 123 | + |
| 124 | +- "Show me docs sharing examples" |
| 125 | +- "How do I implement role-based access control?" |
| 126 | +- "Example schema with caveats" |
| 127 | +- "Show me the Google IAM pattern in SpiceDB schema language" |
| 128 | + |
| 129 | +### Browsing Resources |
| 130 | + |
| 131 | +List and explore available resources: |
| 132 | + |
| 133 | +- "What example schemas are available?" |
| 134 | +- "List all API methods" |
| 135 | +- "Show me documentation about caveats" |
| 136 | + |
| 137 | +### Getting Help |
| 138 | + |
| 139 | +Get information about using the server effectively: |
| 140 | + |
| 141 | +- "How does the AuthZed MCP server work?" |
| 142 | +- "What can I do with this server?" |
| 143 | + |
| 144 | +Use `system_instructions` to understand server capabilities and usage patterns. |
| 145 | + |
| 146 | +### Providing Feedback |
| 147 | + |
| 148 | +Share your experience to help improve the server: |
| 149 | + |
| 150 | +- "I'd like to provide feedback about the documentation" |
| 151 | +- "The search results weren't helpful for my query" |
| 152 | +- "I have a suggestion for the MCP server" |
| 153 | + |
| 154 | +The assistant uses `send_feedback` to guide you through submitting structured feedback about the MCP server, documentation quality, tool effectiveness, or your general experience. |
| 155 | + |
| 156 | +## Available Tools |
| 157 | + |
| 158 | +**`search_docs`** - Search documentation pages by content, URL, or path |
| 159 | + |
| 160 | +**`search_api`** - Search API methods and message types with type filtering |
| 161 | + |
| 162 | +**`search_examples`** - Search authorization pattern examples by title or description |
| 163 | + |
| 164 | +**`list_resources`** - List all documentation pages, API methods, messages, and examples |
| 165 | + |
| 166 | +**`send_feedback`** - Send the AuthZed team feedback about the MCP server |
| 167 | + |
| 168 | +## Prompts |
| 169 | + |
| 170 | +**`system_instructions`** - View the system instructions for the AuthZed MCP server, including how it works and how to use it effectively. |
| 171 | + |
| 172 | +**`explain_concept`** - Ask questions about SpiceDB concepts, AuthZed features, schema design, API usage, best practices, or troubleshooting. |
| 173 | +Returns authoritative answers with documentation references and examples. |
| 174 | + |
| 175 | +**`send_feedback`** - Provide feedback about the AuthZed MCP server, documentation, tools, or your general experience. |
| 176 | +The prompt guides you through submitting structured feedback. |
| 177 | + |
| 178 | +## Available Resources |
| 179 | + |
| 180 | +- **Documentation**: Doc pages are accessible with `docs://` URIs |
| 181 | +- **API Methods**: API methods are accessible with `api://methods/` URIs |
| 182 | +- **API Messages**: Message types are accessible `api://messages/` URIs |
| 183 | +- **Examples**: Schema examples are accessible with `examples://schemas/` URIs |
| 184 | + |
| 185 | +## Security |
| 186 | + |
| 187 | +### Public Information Only |
| 188 | + |
| 189 | +The server provides access to: |
| 190 | + |
| 191 | +- Public SpiceDB and AuthZed documentation |
| 192 | +- Publicly available API specifications |
| 193 | +- Open source schema examples |
| 194 | + |
| 195 | +The server does **not** access: |
| 196 | + |
| 197 | +- Your AuthZed or SpiceDB instances |
| 198 | +- Your authorization data |
| 199 | +- Your application schemas |
| 200 | +- Any private information |
| 201 | + |
| 202 | +### Verify the Endpoint |
| 203 | + |
| 204 | +Always confirm you're connecting to: |
| 205 | + |
| 206 | +``` |
| 207 | +https://mcp.authzed.com |
| 208 | +``` |
| 209 | + |
| 210 | +When using third-party marketplaces, verify the domain name before connecting. |
| 211 | + |
| 212 | +## Troubleshooting |
| 213 | + |
| 214 | +**Connection issues**: Verify the URL is `https://mcp.authzed.com` and your client supports remote HTTP MCP servers |
| 215 | + |
| 216 | +**No search results**: Try broader terms, check spelling, or use `list_resources` to see available content |
| 217 | + |
0 commit comments