-
Notifications
You must be signed in to change notification settings - Fork 301
Add docs for docs MCP server #2338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
appwrite.ioProject ID: Note You can use Avatars API to generate QR code for any text or URLs. |
Walkthrough
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 💡 Knowledge Base configuration:
You can enable these sources in your CodeRabbit configuration. ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (9)
src/routes/docs/tooling/mcp/+layout.svelte (1)
20-23: Use ISO date and align nav label with page title
- Safer date literal for cross-env parsing.
- Consider aligning nav label with page title for consistency.
- label: 'MCP for Docs', + label: 'MCP Server for Docs', href: '/docs/tooling/mcp/mcp-for-docs', - new: isNewUntil('31 Oct 2025') + new: isNewUntil('2025-10-31')src/routes/docs/tooling/mcp/mcp-for-docs/+page.markdoc (8)
3-4: Title/style consistencyUse consistent capitalization across nav and page metadata.
-title: MCP server for Appwrite docs +title: MCP Server for Appwrite Docs
7-7: Grammar: “API's” → “APIs”; tighten sentenceMinor copy edit for correctness and flow.
-In addition to the Appwrite MCP server that allows LLMs and code-generation tools to interact with the platform, Appwrite offers an MCP server that provides AI assistants with comprehensive access to Appwrite's documentation, enabling intelligent code generation for Appwrite's API's and SDKs and troubleshooting assistance. +In addition to the Appwrite MCP server that allows LLMs and code-generation tools to interact with the platform, Appwrite offers an MCP server that provides AI assistants with comprehensive access to Appwrite’s documentation, enabling intelligent code generation for Appwrite APIs and SDKs, plus troubleshooting assistance.
22-22: Copy: clearer CTA phrasingSimplify the instruction.
-Add the MCP server to Cursor by clicking on the following: +Add the MCP server to Cursor using the button below:
42-42: Copy: mirror Cursor phrasing for consistency-Add the MCP server to VS Code by clicking on the following: +Add the MCP server to VS Code using the button below:
62-67: Add prerequisites and restart note (reduces setup friction)Readers need Node for
npx, and many clients require a restart to pick up config changes.Open the **Windsurf Settings** page, head to the **Cascade** tab, find the **Model Context Protocol (MCP) Servers** section, and click on the **View raw config** button.  Update the `mcp_config.json` file to include the following: + +> Note: Requires Node.js 18+ (for `npx`). After saving the config, restart Windsurf to load the MCP server.
82-82: Keyboard and platform casingFollow common style: “Ctrl”, “Command”, “macOS”.
-In the Claude Desktop app, open the app's **Settings** page (press `CTRL + ,` on Windows or `CMD + ,` on MacOS) and head to the **Developer** tab. +In the Claude Desktop app, open the app’s **Settings** page (press Ctrl + , on Windows or Command + , on macOS) and head to the **Developer** tab.
101-103: Unify alias name across clientsJSON examples use “appwrite-docs” while CLI uses “appwrite-docs-mcp”. Pick one to avoid confusion.
-claude mcp add appwrite-docs-mcp https://mcp-for-docs.appwrite.io -t http +claude mcp add appwrite-docs https://mcp-for-docs.appwrite.io -t http
116-117: Grammar: improve prompt phrasing-Show me how to set up real-time subscriptions that trigger on the create of a user +Show me how to set up real-time subscriptions that trigger when a user is created
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (3)
static/images/docs/mcp/mcp-for-docs/best-practices.pngis excluded by!**/*.pngstatic/images/docs/mcp/mcp-for-docs/code-generation.pngis excluded by!**/*.pngstatic/images/docs/mcp/mcp-for-docs/troubleshooting.pngis excluded by!**/*.png
📒 Files selected for processing (2)
src/routes/docs/tooling/mcp/+layout.svelte(2 hunks)src/routes/docs/tooling/mcp/mcp-for-docs/+page.markdoc(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: build
- GitHub Check: tests
🔇 Additional comments (2)
src/routes/docs/tooling/mcp/mcp-for-docs/+page.markdoc (2)
119-139: Referenced assets verified exist; no missing images detected.
19-39: Markdoc shortcodes validated as supported
Grep acrosssrc/routes/**/+page.markdocshows{% tabs %},{% tabsitem %},{% only_light %},{% only_dark %},{% cards %}, and{% cards_item %}in use on multiple pages, confirming they’re registered for docs routes.
| <script lang="ts"> | ||
| import Docs from '$lib/layouts/Docs.svelte'; | ||
| import Sidebar, { type NavParent, type NavTree } from '$lib/layouts/Sidebar.svelte'; | ||
| import { isNewUntil } from '$lib/utils/date'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Confirm isNewUntil date parsing expectations
If isNewUntil parses with new Date(...), string parsing can be locale-sensitive. Prefer ISO-8601 literals to avoid SSR/Node differences.
Run to inspect usage patterns and the helper’s implementation:
🏁 Script executed:
#!/bin/bash
# Show helper implementation (and nearby code)
rg -nC2 'isNewUntil' --type=ts
# Show all call sites and the date literals being passed
rg -nP "isNewUntil\\((['\"]).*?\\1\\)" -C1Length of output: 5215
Use ISO-8601 date strings for isNewUntil
All current calls (e.g. in your various +layout.svelte files) pass locale-specific literals like '31 Oct 2025' into new Date(date), which is implementation-dependent and may differ between browsers and Node/SSR. Convert these to ISO-8601 format ('2025-10-31') or update isNewUntil to use a fixed-format parser to guarantee consistent behavior.
🤖 Prompt for AI Agents
In src/routes/docs/tooling/mcp/+layout.svelte around line 4, you import
isNewUntil but elsewhere pass locale-specific date strings like '31 Oct 2025'
into new Date(), which is implementation-dependent; update callers to pass
ISO-8601 date strings (e.g. '2025-10-31') or modify isNewUntil to parse a fixed
format (e.g. accept 'YYYY-MM-DD' and use Date.parse or a strict parser) so date
parsing behavior is consistent across browsers and SSR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (6)
src/routes/docs/tooling/mcp/mcp-for-docs/+page.markdoc (6)
7-7: Tighten intro + fix grammar (“API’s” → “APIs”).Reads cleaner and avoids the apostrophe error.
-In addition to the Appwrite MCP server that allows LLMs and code-generation tools to interact with the platform, Appwrite offers an MCP server that provides AI assistants with comprehensive access to Appwrite's documentation, enabling intelligent code generation for Appwrite's API's and SDKs and troubleshooting assistance. +In addition to the Appwrite MCP server for interacting with the platform, Appwrite offers an MCP server that gives AI assistants comprehensive access to our documentation—enabling intelligent code generation for Appwrite APIs and SDKs, plus troubleshooting assistance. See the [MCP overview](/docs/tooling/mcp) for platform-level tooling.
68-77: Add “-y” to npx args to avoid interactive prompts.Prevents first-run install prompts in Claude/Windsurf environments.
"mcpServers": { "appwrite-docs": { "command": "npx", - "args": ["@appwrite/mcp-server-docs"] + "args": ["-y", "@appwrite/mcp-server-docs"] } }"mcpServers": { "appwrite-docs": { "command": "npx", - "args": ["@appwrite/mcp-server-docs"] + "args": ["-y", "@appwrite/mcp-server-docs"] } }Also applies to: 88-97
82-82: Product/OS casing and key names.Use standard casing and key labels.
-In the Claude Desktop app, open the app's **Settings** page (press `CTRL + ,` on Windows or `CMD + ,` on MacOS) and head to the **Developer** tab. +In the Claude Desktop app, open the app's **Settings** page (press `Ctrl + ,` on Windows or `Cmd + ,` on macOS) and head to the **Developer** tab.
101-103: Prefer documented flag order for Claude CLI.Keeps parity with Anthropic docs; both work, but this is clearer.
-claude mcp add appwrite-docs-mcp https://mcp-for-docs.appwrite.io -t http +claude mcp add --transport http appwrite-docs-mcp https://mcp-for-docs.appwrite.io
19-19: Optional: add a short security note near Installation.Helps set expectations about third‑party servers.
{% tabs %} +> Note: Only connect to MCP servers you trust. Servers can read requests you send and may call external services.
60-77: Optional: pin MCP server version for reproducibility.Consider pinning a version to reduce surprises from breaking releases; update when you intend to.
- "args": ["-y", "@appwrite/mcp-server-docs"] + "args": ["-y", "@appwrite/mcp-server-docs@<version>"]Replace
<version>with the intended tag.Also applies to: 80-97
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
src/routes/docs/tooling/mcp/mcp-for-docs/+page.markdoc(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: build
- GitHub Check: tests
🔇 Additional comments (2)
src/routes/docs/tooling/mcp/mcp-for-docs/+page.markdoc (2)
24-37: All referenced images verified
No missing assets detected in the repository.
17-17: No changes needed—Markdoc anchor syntax{% #… %}is the project convention. The grep results show 0{#…}anchors and 327{% #… %}anchors across src/routes, so the existing syntax is correct.Likely an incorrect or invalid review comment.

What does this PR do?
Adds docs for docs MCP server under the MCP page in the Tooling section
Test Plan
pnpm i && pnpm dev/docs/tooling/mcp/mcp-for-docsRelated PRs and Issues
N/A
Have you read the Contributing Guidelines on issues?
Yes
Summary by CodeRabbit
New Features
Documentation