MCP setup (Claude, ChatGPT, Cursor)
Step-by-step MCP connection for Claude.ai, ChatGPT, and Cursor with OAuth or API key authentication.
Updated · Reviewed by Jacob
What it does
The Gryz MCP server lets your AI assistant manage documents and private Notes in your account. All ten tools are free with any signed-in account — no subscription required.
Requirements
- A free Gryz account
- MCP server URL (always use
www— apex redirects drop auth headers)
Primary URL — use this for new setups:
https://www.gryz.ai/api/mcp/Connect in Claude.ai
- Open Settings → Connectors in claude.ai
- Click Add connector (or Add custom MCP server)
- Paste
https://www.gryz.ai/api/mcp/ - Complete OAuth sign-in when prompted — your browser opens to authorize access
- Ask Claude to list or publish documents (see example prompts below)
Connect in ChatGPT
ChatGPT discovers MCP servers through the official MCP Registry. Search for Gryz and choose the connection that uses the gryz.ai endpoint.
- Open Settings → MCP connections in ChatGPT
- Search for Gryz (or paste the primary MCP URL above)
- Complete OAuth sign-in with your Gryz account
- Ask ChatGPT to list or publish documents
Connect in Cursor
Add the server to ~/.cursor/mcp.json. OAuth is recommended — no API key in the file.
After connecting, use the MCP tools reference to verify the available document and Notes operations.
One-click install
Opens Cursor and adds the Gryz MCP server automatically. You will still complete OAuth in your browser afterward.
Legacy URL still works if already configured: https://www.grtwo.app/api/mcp
Option A — OAuth (recommended)
{
"mcpServers": {
"gryz": {
"url": "https://www.gryz.ai/api/mcp/"
}
}
}Option B — API key
Generate a key on the API keys page, then add it as a Bearer token:
{
"mcpServers": {
"gryz": {
"url": "https://www.gryz.ai/api/mcp/",
"headers": {
"Authorization": "Bearer gryz_YOUR_KEY_HERE"
}
}
}
}Example prompts
Publish this markdown to Gryz as a public doc titled "Q3 Roadmap"Save this HTML to my Gryz dashboard as a private documentList my Gryz documentsGet my Gryz document with slug "q3-roadmap"Delete my Gryz test document with slug "draft-notes"
Tools
| Tool | Description | Access |
|---|---|---|
| publish_document | Publish new Markdown or HTML content as a document under your account and return its URL and slug. Public documents get a shareable link on the open web; private ones stay in your dashboard. Each call creates a separate document. | Write |
| get_document | Retrieve the content and metadata of a single document by its slug. Read-only. | Read |
| list_documents | List the documents owned by the authenticated account, newest first, with pagination. Read-only. | Read |
| update_document | Replace the content, type, or title of an existing document you own, addressed by slug. Overwrites rather than appends, so it is non-additive; re-running with the same arguments yields the same result. | Write |
| delete_document | Permanently delete a document you own, addressed by slug. Cannot be undone. | Delete |
| list_notes | Check the user's saved notes before answering when their request refers to something they told you earlier, asks what they noted or decided, or would benefit from a running list they keep (packing lists, ideas, decisions, todos). Returns each note's id, title, content preview, and agent_access ("collaborate" or "read_only" — you may only append to or update the ones set to collaborate), newest first. Optional `q` filters by a case-insensitive match on title and body; optional `source` narrows to notes a given client authored ("me" = the user's own web edits). Private to the account; read-only. | Read |
| create_note | Use when the user says to note, remember, jot down, or keep track of something that is not ready to publish — a decision, a fact, a draft, a list. First call list_notes: if a related note already exists, prefer append_note over creating a duplicate. Each call creates one separate private note. Subject to the plan note quota. | Write |
| update_note | Use only when the user wants to rewrite or correct a note in place — replaces its title and/or content wholesale. To add to a note without losing what is there, use append_note instead. Addressed by the id from list_notes. Fails cleanly if the note is set to read-only for AI assistants. | Write |
| append_note | The default way to add to an existing note: use when the user adds an item to a list they keep, records another decision, or extends a running log. Additive — existing content is preserved. Call list_notes first to find the right note id by its title and preview. Fails cleanly if the note is set to read-only for AI assistants. | Write |
| delete_note | Use only when the user explicitly asks to delete or discard a specific note. The user can restore it from their dashboard for a short window, but treat it as permanent — confirm which note (by title) if there is any ambiguity. Addressed by the id from list_notes. Fails cleanly if the note is set to read-only for AI assistants. | Delete |
Read tools are marked read-only and idempotent. Document mutations set openWorldHint: true because they can change publicly reachable links. Notes stay private to the account, so Notes mutations set openWorldHint: false.
See the MCP tools reference for required inputs, mutation semantics, and per-plan hourly limits. For private working context, read the Notes overview.
Troubleshooting
- Unknown client — Claude registers a fresh
client_idvia/api/oauth/register/before opening the browser. Remove the connector in Claude, addhttps://www.gryz.ai/api/mcp/again, and complete sign-in in the same browser Claude opens. - Magic link on a different device — OAuth state lives in a short-lived browser cookie. Start the connection on desktop and open the email link on desktop, not on your phone.
- After the magic link — you should land on the Allow screen automatically. If you briefly see "Finishing sign-in…", wait a second; do not refresh manually.
- Use www and trailing slash — Always add
https://www.gryz.ai/api/mcp/. The apex domain redirects and can break the OAuth cookie handoff; omitting the trailing slash can break OAuth discovery. - Claude Desktop — Add the connector under Settings → Connectors (not
claude_desktop_config.json). Claude useshttps://claude.ai/api/mcp/auth_callbackas the redirect URI.