Claude Desktop
Connect Claude Desktop to your Graniite library via OAuth. About 30 seconds, no token paste required.
Claude Desktop has native HTTP MCP support. Paste the Graniite URL into its connectors UI and it handles the OAuth flow for you. No config file editing and no token paste.
Requirements
- A recent version of Claude Desktop with native HTTP MCP support (this landed in late-2025 and early-2026 builds). Check Claude → About Claude. If you are on a much older version, see the
mcp-remotefallback below. - A Graniite account. Sign in at graniite.co in your default browser before starting. The OAuth flow requires an active session.
Steps
-
Open Claude Desktop and go to Settings (the gear icon at bottom-left).
-
Find the Connectors section (sometimes called Custom Integrations).
-
Click Add custom integration.
-
Paste the MCP URL:
https://graniite.co/api/mcp -
Click Connect.
-
Your default browser opens to
graniite.co/oauth/authorizewith the consent screen. -
Review the scope (capabilities and folders) and click Allow.
-
The browser closes itself. Claude Desktop shows the connector as Connected.
In any new chat, Claude can now call search_knowledge_base, get_item, list_recent, and (if you granted write) add_to_knowledge.
What the consent screen shows
You will see "Claude Unverified wants to connect to your Graniite account." The "Unverified" badge is expected. Every client that registers via Dynamic Client Registration starts unverified. Since you initiated this from Claude Desktop yourself, the badge is honesty about how we know who is asking. See Authentication for the full security model.
Picking a scope
The OAuth flow uses the last scope you minted manually as the default. To use a different scope (for example, a single folder), mint a token at /settings/integrations first, then redo the Connect flow. It picks up your latest preferences.
For a one-shot quick start, whole library plus read is fine. You can revoke and re-mint with tighter scope later.
Verify it works
In any new Claude conversation, try:
Search my Graniite library for "your favorite topic" and show me the top 3 results.
Claude will call search_knowledge_base. If it works, you will see hits with similarity scores and source titles. If not, see troubleshooting below.
Fallback: mcp-remote bridge
If you are on an older Claude Desktop that does not support native HTTP MCP, use the stdio-to-HTTP bridge.
1. Mint a token
Visit /settings/integrations and click + Create token. See Authentication for what to pick. Copy the lev_… string. You will only see it once.
2. Edit the Claude Desktop config
| OS | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Add an mcpServers.graniite entry:
{
"mcpServers": {
"graniite": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://graniite.co/api/mcp",
"--header",
"Authorization:Bearer lev_YOUR_TOKEN_HERE"
]
}
}
}3. Restart Claude Desktop
Quit completely (⌘Q on macOS, not just close). Reopen. The first launch may take a few seconds while npx downloads mcp-remote. Verify the connection in Settings → Developer → MCP servers. graniite should appear with a green dot.
Troubleshooting
"Couldn't connect to the MCP server"
This usually means the OAuth handshake failed at registration. Common causes:
- Pasted into the wrong UI. The URL must go into the Connectors section of Settings, not the
claude_desktop_config.jsonfile. The JSON file is for stdio servers, not HTTP MCP. - Browser-side OAuth blocked. When you clicked Connect, did your browser open and load
graniite.co/oauth/authorize? If not, the browser may be blocking the popup. Try a default browser without aggressive privacy extensions. - Not signed in to graniite.co. Open graniite.co/feed, confirm you are logged in, then retry.
- Stale half-state connector. If you previously tried and it failed, remove the partial connector entry from Settings → Connectors and add it fresh.
"Authentication failed" in tool calls
The token expired or was revoked. In the Connectors UI, click the Graniite entry and then Reconnect. The OAuth flow refreshes the token automatically.
Tools do not appear in the conversation
Restart Claude Desktop (⌘Q, then reopen). MCP servers are discovered on app launch. New connectors do not always live-refresh.
Revoking access
Go to /settings/integrations, find the OAuth-issued token for Claude, and click Revoke. Claude Desktop's next tool call will fail with 401. The user can re-Connect when they want.