Connect an MCP server
docs.connect.lede
docs.connect.before.h
docs.connect.beforedocs.connect.claude-code.h
docs.connect.claude-codedocs.kind.remote
- Run this in a terminal, in your project folder:
claude mcp add --transport http deepwiki https://mcp.deepwiki.com/mcp- Start Claude Code and type
/mcp. deepwiki should show as connected.
Add --scope user to make it available in every project, not just this one.
docs.kind.oauth
- Run this in a terminal, in your project folder:
claude mcp add --transport http notion https://mcp.notion.com/mcp- Start Claude Code, type
/mcp, pick notion and choose Authenticate. A browser window opens for the Notion sign-in.
Add --scope user to make it available in every project, not just this one.
docs.kind.key
- Run this in a terminal, in your project folder:
claude mcp add --transport http example https://mcp.example.com/mcp --header "Authorization: Bearer <YOUR_API_KEY>"- Replace the placeholder with your key before you run it, then check it with
/mcpinside Claude Code.
Add --scope user to make it available in every project, not just this one.
docs.kind.local
- Run this in a terminal, in your project folder:
claude mcp add --transport stdio memory -- npx -y @modelcontextprotocol/server-memory- Start Claude Code and type
/mcp. memory should show as connected.
Add --scope user to make it available in every project.
docs.connect.claude-ai.h
docs.connect.claude-aidocs.kind.remote
- Open the connector form on claude.ai. This button fills in the name and URL for you:
- Check that the URL reads
https://mcp.deepwiki.com/mcpand click Add. - Turn it on in a chat from the tools menu.
Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under Organization settings → Connectors.
docs.kind.oauth
- Open the connector form on claude.ai. This button fills in the name and URL for you:
- Check that the URL reads
https://mcp.notion.com/mcpand click Add. - Click Connect and sign in when Notion asks.
Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under Organization settings → Connectors.
docs.connect.claude-desktop.h
docs.connect.claude-desktopdocs.kind.remote
- Open Settings → Connectors and click Add custom connector.
- Name it DeepWiki and paste this URL:
https://mcp.deepwiki.com/mcp- Click Add. Its tools appear in the chat's tools menu.
Claude Desktop's JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.
docs.kind.oauth
- Open Settings → Connectors and click Add custom connector.
- Name it Notion and paste this URL:
https://mcp.notion.com/mcp- Click Add, then Connect, and sign in when Notion asks.
Claude Desktop's JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.
docs.kind.key
- Custom connectors can't send this server's key header, so use the
mcp-remotebridge. Open Settings → Developer → Edit Config and add:
{
"mcpServers": {
"example": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.example.com/mcp",
"--header",
"Authorization: Bearer <YOUR_API_KEY>"
]
}
}
}- Replace the placeholder with your key and restart Claude Desktop.
The bridge needs Node.js on your computer.
docs.kind.local
- Open Settings → Developer → Edit Config. It opens
claude_desktop_config.json. Add:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}- Save the file and restart Claude Desktop.
Needs Node.js on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.
docs.connect.chatgpt.h
docs.connect.chatgptdocs.kind.remote
- On chatgpt.com, open Settings → Security and login and turn on Developer mode.
- Go to
chatgpt.com/pluginsand click + to create an app for a remote MCP server. - Paste
https://mcp.deepwiki.com/mcpas the server URL and choose No authentication.
Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.
docs.kind.oauth
- On chatgpt.com, open Settings → Security and login and turn on Developer mode.
- Go to
chatgpt.com/pluginsand click + to create an app for a remote MCP server. - Paste
https://mcp.notion.com/mcpas the server URL and choose OAuth. ChatGPT sends you to Notion to sign in.
Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.
docs.connect.cursor.h
docs.connect.cursordocs.kind.remote
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"deepwiki": {
"url": "https://mcp.deepwiki.com/mcp"
}
}
}docs.kind.oauth
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"notion": {
"url": "https://mcp.notion.com/mcp"
}
}
}Cursor shows Needs login next to the server. Click it to sign in.
docs.kind.key
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"example": {
"url": "https://mcp.example.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}docs.kind.local
Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}Needs Node.js on your computer.
docs.connect.vscode.h
docs.connect.vscodedocs.kind.remote
Install in VS Code a11y.new_tab
Or from a terminal:
code --add-mcp '{"name":"deepwiki","type":"http","url":"https://mcp.deepwiki.com/mcp"}'Or commit it to the repo in .vscode/mcp.json:
{
"servers": {
"deepwiki": {
"type": "http",
"url": "https://mcp.deepwiki.com/mcp"
}
}
}docs.kind.oauth
Install in VS Code a11y.new_tab
Or from a terminal:
code --add-mcp '{"name":"notion","type":"http","url":"https://mcp.notion.com/mcp"}'Or commit it to the repo in .vscode/mcp.json:
{
"servers": {
"notion": {
"type": "http",
"url": "https://mcp.notion.com/mcp"
}
}
}VS Code asks you to sign in the first time the server starts.
docs.kind.key
Add it to .vscode/mcp.json. VS Code asks for the key the first time and stores it securely:
{
"servers": {
"example": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"headers": {
"Authorization": "Bearer ${input:api-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "api-key",
"description": "API key",
"password": true
}
]
}docs.kind.local
Install in VS Code a11y.new_tab
Or from a terminal:
code --add-mcp '{"name":"memory","type":"stdio","command":"npx","args":["-y","@modelcontextprotocol/server-memory"]}'Or commit it to the repo in .vscode/mcp.json:
{
"servers": {
"memory": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}Needs Node.js on your computer.
docs.connect.other.h
docs.connect.other.devin
docs.kind.remote
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"deepwiki": {
"serverUrl": "https://mcp.deepwiki.com/mcp"
}
}
}- Refresh the MCP server list in Cascade.
Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.
docs.kind.oauth
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"notion": {
"serverUrl": "https://mcp.notion.com/mcp"
}
}
}- Refresh the MCP server list in Cascade and sign in when asked.
Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.
docs.kind.key
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"example": {
"serverUrl": "https://mcp.example.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}- Refresh the MCP server list in Cascade.
Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.
docs.kind.local
- Add it to
~/.config/devin/mcp_config.json(macOS and Linux) or%APPDATA%\devin\mcp_config.json(Windows):
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}- Refresh the MCP server list in Cascade.
Devin Desktop is the new name for Windsurf.
Codex
docs.kind.remote
codex mcp add deepwiki --url https://mcp.deepwiki.com/mcpOr edit ~/.codex/config.toml directly:
[mcp_servers.deepwiki]
url = "https://mcp.deepwiki.com/mcp"docs.kind.oauth
codex mcp add notion --url https://mcp.notion.com/mcp
codex mcp login notionOr edit ~/.codex/config.toml directly:
[mcp_servers.notion]
url = "https://mcp.notion.com/mcp"docs.kind.key
codex mcp add example --url https://mcp.example.com/mcp --bearer-token-env-var EXAMPLE_API_KEYOr edit ~/.codex/config.toml directly:
[mcp_servers.example]
url = "https://mcp.example.com/mcp"
bearer_token_env_var = "EXAMPLE_API_KEY"Set EXAMPLE_API_KEY to your key in the shell that runs Codex.
docs.kind.local
codex mcp add memory -- npx -y @modelcontextprotocol/server-memoryOr edit ~/.codex/config.toml directly:
[mcp_servers.memory]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-memory"]Needs Node.js on your computer.
Gemini CLI
docs.kind.remote
gemini mcp add --transport http deepwiki https://mcp.deepwiki.com/mcpThis adds it to the current project. Add -s user to use it everywhere.
docs.kind.oauth
gemini mcp add --transport http notion https://mcp.notion.com/mcpThen, inside Gemini CLI, run /mcp auth notion to sign in.
This adds it to the current project. Add -s user to use it everywhere.
docs.kind.key
gemini mcp add --transport http --header "Authorization: Bearer <YOUR_API_KEY>" example https://mcp.example.com/mcpThis adds it to the current project. Add -s user to use it everywhere.
docs.kind.local
gemini mcp add memory npx -- -y @modelcontextprotocol/server-memoryThis adds it to the current project. Add -s user to use it everywhere.
docs.connect.other.any
docs.kind.remote
Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI's settings file.
{
"mcpServers": {
"deepwiki": {
"type": "http",
"url": "https://mcp.deepwiki.com/mcp"
}
}
}Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.
Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.deepwiki.com/mcp.
docs.kind.oauth
Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI's settings file.
{
"mcpServers": {
"notion": {
"type": "http",
"url": "https://mcp.notion.com/mcp"
}
}
}Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.
Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.notion.com/mcp.
docs.kind.key
Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI's settings file.
{
"mcpServers": {
"example": {
"type": "http",
"url": "https://mcp.example.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.
Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.example.com/mcp.
docs.kind.local
Most clients that start local servers accept this shape:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}Zed puts servers under context_servers in its settings, with the same command, args and env fields.
Needs Node.js on your computer.
docs.connect.access.h
docs.connect.accessdocs.connect.link.h
docs.connect.link{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32001,
"message": "mcp.tc: this link is a page, not an MCP endpoint. Connect to DeepWiki directly with its own URL: https://mcp.deepwiki.com/mcp (no sign-in needed). Setup for each client: https://mcp.tc/i/deepwiki",
"data": {
"listing": "https://mcp.tc/i/deepwiki",
"endpoint": "https://mcp.deepwiki.com/mcp"
}
}
}docs.connect.trouble.h
docs.connect.faq.page.q
docs.connect.faq.page.a
docs.connect.faq.connect.q
docs.connect.faq.connect.a
docs.connect.faq.signin.q
docs.connect.faq.signin.a
docs.connect.faq.local.q
docs.connect.faq.local.a
docs.connect.faq.bridge.q
docs.connect.faq.bridge.a
docs.connect.faq.sse.q
docs.connect.faq.sse.a
docs.connect.faq.wrong.q
docs.connect.faq.wrong.a