Skip to content

Commit 11d6f45

Browse files
committed
Update links and fix lint errors
1 parent 33dc390 commit 11d6f45

File tree

3 files changed

+75
-34
lines changed

3 files changed

+75
-34
lines changed

pages/mcp/authzed/authzed-mcp-server.mdx

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
# AuthZed MCP Server
22

3-
Connect your AI tools to AuthZed and SpiceDB documentation using the Model Context Protocol (MCP). Access comprehensive documentation, API references, and authorization pattern examples directly from your AI assistant.
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.
45

56
## Overview
67

7-
AuthZed MCP Server is a remote MCP server available at `https://mcp.authzed.com`. 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.
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.
810

911
### What You Can Do
1012

@@ -33,6 +35,7 @@ Available on Pro and Plus accounts.
3335

3436
1. Enable **Developer mode** in Settings
3537
2. Create connector:
38+
3639
- **Name**: AuthZed
3740
- **MCP server URL**: `https://mcp.authzed.com`
3841
- **Authentication**: None
@@ -53,6 +56,7 @@ Available on Pro, Max, Team, and Enterprise plans.
5356
1. Open **Settings****Connectors**
5457
2. Select **Add custom connector**
5558
3. Configure:
59+
5660
- **Name**: AuthZed
5761
- **URL**: `https://mcp.authzed.com`
5862

@@ -75,6 +79,7 @@ Add to `.cursor/mcp.json`:
7579
1. Command Palette → **MCP: Add Server**
7680
2. Select **HTTP**
7781
3. Configure:
82+
7883
- **URL**: `https://mcp.authzed.com`
7984
- **Name**: AuthZed
8085

@@ -164,9 +169,11 @@ The assistant uses `send_feedback` to guide you through submitting structured fe
164169

165170
**`system_instructions`** - View the system instructions for the AuthZed MCP server, including how it works and how to use it effectively.
166171

167-
**`explain_concept`** - Ask questions about SpiceDB concepts, AuthZed features, schema design, API usage, best practices, or troubleshooting. Returns authoritative answers with documentation references and examples.
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.
168174

169-
**`send_feedback`** - Provide feedback about the AuthZed MCP server, documentation, tools, or your general experience. The prompt guides you through submitting structured feedback.
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.
170177

171178
## Available Resources
172179

@@ -180,11 +187,13 @@ The assistant uses `send_feedback` to guide you through submitting structured fe
180187
### Public Information Only
181188

182189
The server provides access to:
190+
183191
- Public SpiceDB and AuthZed documentation
184192
- Publicly available API specifications
185193
- Open source schema examples
186194

187195
The server does **not** access:
196+
188197
- Your AuthZed or SpiceDB instances
189198
- Your authorization data
190199
- Your application schemas
@@ -193,6 +202,7 @@ The server does **not** access:
193202
### Verify the Endpoint
194203

195204
Always confirm you're connecting to:
205+
196206
```
197207
https://mcp.authzed.com
198208
```

pages/mcp/authzed/spicedb-dev-mcp-server.mdx

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@ import { Callout } from 'nextra/components'
66
The SpiceDB Dev MCP server is available as a Tech Preview. Tech Preview features provide the earliest access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process.
77
</Callout>
88

9-
Run a local SpiceDB development environment directly in your AI coding assistant. Build, test, and debug permissions systems interactively with an in-memory SpiceDB instance.
9+
Run a local SpiceDB development environment directly in your AI coding assistant.
10+
Build, test, and debug permissions systems interactively with an in-memory SpiceDB instance.
1011

1112
## Overview
1213

13-
SpiceDB Dev MCP Server is a local development tool that runs an in-memory SpiceDB instance accessible through MCP. It's designed for developers actively building permissions systems who want to iterate quickly on schemas and test permission logic with AI assistance.
14+
SpiceDB Dev MCP Server is a local development tool that runs an in-memory SpiceDB instance accessible through MCP.
15+
It's designed for developers actively building permissions systems who want to iterate quickly on schemas and test permission logic with AI assistance.
1416

1517
**Key characteristics**:
18+
1619
- Runs locally on your machine
1720
- In-memory only (no persistence)
1821
- No external dependencies
@@ -37,7 +40,8 @@ zed mcp run
3740

3841
The server starts on `http://localhost:9999/mcp` with an empty in-memory SpiceDB instance.
3942

40-
**Important**: The server runs in-memory only. All schemas and relationships are lost when you stop the server.
43+
**Important**: The server runs in-memory only.
44+
All schemas and relationships are lost when you stop the server.
4145

4246
## Connecting Clients
4347

@@ -58,6 +62,7 @@ claude
5862
### Other Clients
5963

6064
For MCP clients supporting HTTP transport, configure:
65+
6166
```
6267
Transport: HTTP
6368
URL: http://localhost:9999/mcp
@@ -69,7 +74,9 @@ URL: http://localhost:9999/mcp
6974

7075
Start by defining your authorization model:
7176

72-
> You: "Create a schema for a document sharing system. Documents have owners, editors, and viewers. Owners can share documents, editors can edit, and viewers can only read."
77+
> You: "Create a schema for a document sharing system.
78+
> Documents have owners, editors, and viewers.
79+
> Owners can share documents, editors can edit, and viewers can only read."
7380
7481
The assistant uses `write_schema` to create the schema in your development instance.
7582

@@ -150,6 +157,7 @@ The assistant updates the schema with `write_schema` and you can immediately tes
150157
### Testing Edge Cases
151158

152159
Use the development server to test:
160+
153161
- Indirect permissions through [subject relations](/spicedb/concepts/schema#subject-relations)
154162
- Complex permission unions and intersections
155163
- Caveat evaluation with different contexts
@@ -158,6 +166,7 @@ Use the development server to test:
158166
### Validation Files
159167

160168
Use validation files to:
169+
161170
- Define expected permission outcomes
162171
- Test your schema systematically
163172
- Document authorization requirements
@@ -169,32 +178,32 @@ Access with `validation://current` resource.
169178

170179
The MCP server works with your AI assistant to help you save schemas and validation files to disk.
171180

172-
**Exporting Schemas**
181+
#### Exporting Schemas
173182

174183
Ask your assistant to save the current schema to a file:
175184

176185
> You: "Save my schema to schema.zed"
177-
186+
>
178187
> You: "Write the current schema to permissions/document-sharing.zed"
179188
180189
The assistant reads from `schema://current` and writes the schema to your specified file path.
181190

182-
**Exporting Validation Files**
191+
#### Exporting Validation Files
183192

184193
Save validation test cases to preserve your permission tests:
185194

186195
> You: "Save the validation file to tests/permissions.yaml"
187-
196+
>
188197
> You: "Export validation to document-tests.yaml"
189198
190199
The assistant reads from `validation://current` and writes the validation YAML to your specified file.
191200

192-
**Loading Existing Files**
201+
#### Loading Existing Files
193202

194203
You can also load schemas from existing files:
195204

196205
> You: "Load the schema from schema.zed and apply it to the dev server"
197-
206+
>
198207
> You: "Read permissions/document-sharing.zed and write it to the MCP server"
199208
200209
The assistant reads your file and uses `write_schema` to apply it to the development instance.
@@ -204,6 +213,7 @@ The assistant reads your file and uses `write_schema` to apply it to the develop
204213
### Local Development Only
205214

206215
**Never use in production**:
216+
207217
- No authentication or authorization on the server itself
208218
- In-memory only, no data persistence
209219
- Designed for localhost access only
@@ -233,11 +243,13 @@ The assistant reads your file and uses `write_schema` to apply it to the develop
233243
### Server Won't Start
234244

235245
**Check Zed CLI installation**:
246+
236247
```bash
237248
zed version
238249
```
239250

240251
**Port 9999 in use**:
252+
241253
```bash
242254
# macOS/Linux
243255
lsof -i :9999
@@ -257,7 +269,7 @@ netstat -an | findstr 9999
257269

258270
### Schema Errors
259271

260-
**Syntax errors**: Review against [SpiceDB schema documentation](#)
272+
**Syntax errors**: Review against [SpiceDB schema documentation](/spicedb/modeling/developing-a-schema)
261273

262274
**Undefined types**: Ensure all referenced types are defined in the schema
263275

@@ -266,6 +278,7 @@ netstat -an | findstr 9999
266278
### Unexpected Permission Results
267279

268280
**Debug process**:
281+
269282
1. View current schema: `schema://current`
270283
2. List all relationships: `relationships://all`
271284
3. Check indirect permission paths
@@ -274,9 +287,11 @@ netstat -an | findstr 9999
274287

275288
### Data Loss
276289

277-
**Remember**: The server is in-memory only. All data is lost when stopped.
290+
**Remember**: The server is in-memory only.
291+
All data is lost when stopped.
278292

279293
**To preserve work**:
294+
280295
- Save schemas to files regularly
281296
- Export relationships for test cases
282297
- Use validation files to document expected behavior
@@ -290,17 +305,18 @@ When ready to move beyond development:
290305
- Ask your assistant: "Save my schema to schema.zed"
291306
2. **Document permissions**: Create comprehensive validation files
292307
- Ask your assistant: "Save validation to tests/permissions.yaml"
293-
3. **Deploy SpiceDB**: See [SpiceDB deployment guide](#)
294-
4. **Connect your application**: Use [SpiceDB client libraries](#)
308+
3. **Deploy SpiceDB**: See [Deploying with SpiceDB Operator](/spicedb/ops/deploying-spicedb-operator)
309+
4. **Connect your application**: Use [SpiceDB client libraries](/spicedb/getting-started/client-libraries)
295310
5. **Import relationships**: Migrate test relationships if appropriate
296311
6. **Test thoroughly**: Validate in staging before production
297312

298-
The development server is not suitable for production use. Deploy a proper SpiceDB instance with authentication, persistence, and monitoring.
313+
The development server is not suitable for production use.
314+
Deploy a proper SpiceDB instance with authentication, persistence, and monitoring.
299315

300316
## Resources
301317

302-
- [SpiceDB Documentation](#)
303-
- [Schema Language Reference](#)
304-
- [Zed CLI Documentation](#)
305-
- [SpiceDB Client Libraries](#)
306-
- [Validation Testing Guide](#)
318+
- [SpiceDB Documentation](/spicedb/getting-started/discovering-spicedb)
319+
- [Schema Language Reference](/spicedb/modeling/developing-a-schema)
320+
- [Zed CLI Documentation](/spicedb/getting-started/installing-zed)
321+
- [SpiceDB Client Libraries](/spicedb/getting-started/client-libraries)
322+
- [Validation Testing Guide](/spicedb/modeling/validation-testing-debugging)

pages/mcp/index.mdx

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
## Overview
44

5-
Model Context Protocol (MCP) is an open standard that enables large language models (LLMs) to communicate with external tools and data sources. Often referred to as "USB-C for AI", MCP provides a universal interface that allows AI applications to integrate once and interoperate with any MCP-compatible system.
5+
Model Context Protocol (MCP) is an open standard that enables large language models (LLMs) to communicate with external tools and data sources.
6+
Often referred to as "USB-C for AI", MCP provides a universal interface that allows AI applications to integrate once and interoperate with any MCP-compatible system.
67

78
By standardizing how AI tools access external data and functionality, MCP eliminates the need for custom integrations between every AI application and every external service.
89

@@ -22,35 +23,41 @@ LLMs face fundamental limitations when providing contextually relevant responses
2223

2324
### How MCP Works
2425

25-
The MCP specification standardizes how AI tools interact with data sources and functionality. Instead of building separate integrations for each AI application and external service, developers implement MCP once and gain compatibility across the entire ecosystem.
26+
The MCP specification standardizes how AI tools interact with data sources and functionality.
27+
Instead of building separate integrations for each AI application and external service, developers implement MCP once and gain compatibility across the entire ecosystem.
2628

2729
MCP uses a client-server architecture:
2830

2931
- **MCP Host**: The AI application that users interact with (IDEs like Cursor or Windsurf, chat applications like ChatGPT or Claude, AI agents)
3032
- **MCP Client**: The connection component within the host that communicates with external services
3133
- **MCP Server**: The external service being accessed (databases, APIs, cloud services)
3234

33-
Each MCP host must create and manage separate MCP client connections for each MCP server it communicates with. This architecture enables AI applications to access multiple data sources and tools simultaneously while maintaining clear separation between services.
35+
Each MCP host must create and manage separate MCP client connections for each MCP server it communicates with.
36+
This architecture enables AI applications to access multiple data sources and tools simultaneously while maintaining clear separation between services.
3437

3538
## Core Capabilities
3639

3740
MCP provides three primitives for extending LLM functionality:
3841

3942
### Resources
4043

41-
Resources inject information into the AI's context. This includes configuration data, documentation, company policies, product catalogs, or customer information. Resources enable AI models to work with accurate, current data without manual intervention.
44+
Resources inject information into the AI's context.
45+
This includes configuration data, documentation, company policies, product catalogs, or customer information.
46+
Resources enable AI models to work with accurate, current data without manual intervention.
4247

4348
**Example use case**: When drafting a customer email, automatically provide the customer's order history, support ticket details, and account preferences so the AI can write personalized, contextually accurate responses.
4449

4550
### Tools
4651

47-
Tools enable AI models to trigger actions on behalf of users based on goals and information in the context. They allow AI to interact with external systems, automating tasks that would otherwise require manual execution across multiple applications.
52+
Tools enable AI models to trigger actions on behalf of users based on goals and information in the context.
53+
They allow AI to interact with external systems, automating tasks that would otherwise require manual execution across multiple applications.
4854

4955
**Example use case**: Create a new project in your task management system, assign team members, set deadlines, and generate initial task lists—all from a single conversation with the AI, without switching between applications.
5056

5157
### Prompts
5258

53-
Prompts provide tested, reusable instructions that guide AI behavior consistently. Instead of users needing to craft precise instructions each time, MCP servers can supply pre-configured prompts that have been refined for specific tasks or contexts.
59+
Prompts provide tested, reusable instructions that guide AI behavior consistently.
60+
Instead of users needing to craft precise instructions each time, MCP servers can supply pre-configured prompts that have been refined for specific tasks or contexts.
5461

5562
**Example use case**: When analyzing customer feedback, use a standardized prompt that ensures the AI always considers sentiment, key themes, and actionable insights in a consistent format across your team.
5663

@@ -64,19 +71,25 @@ The MCP specification has evolved rapidly since its introduction, with three maj
6471
- **2025-03-26**: Enhanced security features
6572
- **2025-06-18**: Enterprise readiness improvements
6673

67-
The most recent versions have focused heavily on security and enterprise readiness, introducing mechanisms to authenticate users and clients while providing recommendations for authorizing resource access. The ability to implement granular access controls for resources is especially critical for enterprises integrating sensitive company and user data with MCP servers.
74+
The most recent versions have focused heavily on security and enterprise readiness, introducing mechanisms to authenticate users and clients while providing recommendations for authorizing resource access.
75+
The ability to implement granular access controls for resources is especially critical for enterprises integrating sensitive company and user data with MCP servers.
6876

6977
### Deployment Considerations
7078

7179
MCP servers can be deployed in two primary configurations, each with distinct authorization requirements:
7280

7381
#### Local MCP Servers
7482

75-
Local servers run as single instances on individual machines. These servers are assumed to be under the custodian of the user running them. Most MCP clients provide functionality that prompts users to approve tool invocations and resource access before execution. While this provides a basic security layer, it relies on user vigilance and awareness.
83+
Local servers run as single instances on individual machines.
84+
These servers are assumed to be under the custodian of the user running them.
85+
Most MCP clients provide functionality that prompts users to approve tool invocations and resource access before execution.
86+
While this provides a basic security layer, it relies on user vigilance and awareness.
7687

7788
#### Remote MCP Servers
7889

79-
Remote servers are hosted and accessed in multi-tenant environments, serving multiple users and organizations. These deployments require robust authentication and access control mechanisms for MCP resources. The MCP specification provides high-level guidance for authorization, but implementation details—including specific permission models and accurate enforcement—are the responsibility of MCP server developers.
90+
Remote servers are hosted and accessed in multi-tenant environments, serving multiple users and organizations.
91+
These deployments require robust authentication and access control mechanisms for MCP resources.
92+
The MCP specification provides high-level guidance for authorization, but implementation details—including specific permission models and accurate enforcement—are the responsibility of MCP server developers.
8093

8194
### Security Risks: The Lethal Trifecta
8295

@@ -86,7 +99,9 @@ Security researcher Simon Willison identified a [dangerous combination of capabi
8699
2. **Exposure to untrusted content**: Any mechanism by which text or images controlled by a malicious attacker could become available to your LLM
87100
3. **The ability to externally communicate**: Methods that could be used to exfiltrate your data
88101

89-
Implementing robust authorization in your MCP server can mitigate these risks within your service. However, once data from your MCP server is sent to the MCP host application and becomes part of the context, you lose control over access to that data. AI applications often have multiple MCP servers enabled simultaneously, and you cannot enforce permissions for actions taken on your data within other servers or the host application itself.
102+
Implementing robust authorization in your MCP server can mitigate these risks within your service.
103+
However, once data from your MCP server is sent to the MCP host application and becomes part of the context, you lose control over access to that data.
104+
AI applications often have multiple MCP servers enabled simultaneously, and you cannot enforce permissions for actions taken on your data within other servers or the host application itself.
90105

91106
### Best Practices
92107

0 commit comments

Comments
 (0)