Pular para o conteúdo principal

Connecting a client

Every client needs the same thing: the URL https://mcpdocs.byjg.com/mcp, over streamable HTTP. The documentation is public, so the ByJG server asks for no credentials.

Each section below has two tabs: No token for mcpdocs.byjg.com, and With token for a server of your own that runs with BYJG_DOCS_AUTH_TYPE=bearer. Picking a tab switches every section on the page. In the "With token" tabs, replace <TOKEN> with the token of that server.

The examples name the server byjg-docs; any name works.

Every client here is configured by hand. The server is published in the official MCP Registry as com.byjg/docs, but no editor installs it from there -- that entry is for discovery, see The MCP Registry entry.

Claude Code​

claude mcp add --transport http --scope user byjg-docs \
https://mcpdocs.byjg.com/mcp

Use --scope user. The default scope is local, which registers the server only for the directory you ran the command in -- for a documentation server you want everywhere, that is almost never what you meant.

Verify:

claude mcp list
# byjg-docs: https://mcpdocs.byjg.com/mcp (HTTP) - ✔ Connected

Remove: claude mcp remove byjg-docs --scope user.

Claude Desktop​

Claude Desktop takes a remote server's URL directly, as a custom connector. The same connector works on claude.ai and the mobile apps, and it shows up in Claude Code when you are signed in to the same account.

Open Customize > Connectors, click +, then Add custom connector, and paste the URL:

https://mcpdocs.byjg.com/mcp

Click Add. On a Team or Enterprise plan an owner adds it once under Organization settings > Connectors > Add > Custom > Web; everyone else then enables it from Customize > Connectors.

To use it in a conversation, click + in the chat, open Connectors and toggle it on. A Free plan is limited to one custom connector; paid plans are not.

Claude connects to the server from Anthropic's cloud, not from your machine -- which is why mcpdocs.byjg.com works and a server on your laptop or VPN does not.

Codex CLI​

Add to ~/.codex/config.toml:

[mcp_servers.byjg-docs]
url = "https://mcpdocs.byjg.com/mcp"

Verify: codex mcp list.

Gemini CLI​

gemini mcp add --transport http --scope user \
byjg-docs https://mcpdocs.byjg.com/mcp

Or edit ~/.gemini/settings.json directly. Note the key is httpUrl; url means the older SSE transport in Gemini CLI:

{
"mcpServers": {
"byjg-docs": {
"httpUrl": "https://mcpdocs.byjg.com/mcp"
}
}
}

Verify: gemini mcp list.

Qwen Code​

Qwen Code is a fork of Gemini CLI and reads the same format, from ~/.qwen/settings.json:

qwen mcp add --transport http --scope user --trust \
byjg-docs https://mcpdocs.byjg.com/mcp

Or edit ~/.qwen/settings.json directly. As in Gemini CLI, the key is httpUrl; url means the older SSE transport:

{
"mcpServers": {
"byjg-docs": {
"httpUrl": "https://mcpdocs.byjg.com/mcp",
"trust": true
}
}
}

trust skips the confirmation prompt on every tool call (in a trusted workspace). The tools only read public documentation, so there is nothing to confirm; drop it if you would rather approve each call.

Verify: qwen mcp list, or /mcp inside a session.

Kilo CLI​

Kilo CLI names the key mcp and marks a remote server with "type": "remote". Add to ~/.config/kilo/kilo.json (or kilo.jsonc):

{
"mcp": {
"byjg-docs": {
"type": "remote",
"url": "https://mcpdocs.byjg.com/mcp",
"enabled": true
}
},
"permission": {
"byjg-docs_*": "allow"
}
}

Kilo exposes the tools as byjg-docs_search_docs, byjg-docs_get_document and so on; the byjg-docs_* rule lets them run without asking. If your config already has "*": "ask", put the rule after it -- the last matching rule wins.

Verify: kilo mcp list.

OpenCode​

Kilo CLI is a fork of OpenCode, and OpenCode reads the same mcp key with "type": "remote". Add it to the project, or with --global to ~/.config/opencode/opencode.json:

opencode mcp add byjg-docs --global --url https://mcpdocs.byjg.com/mcp

Or edit opencode.json (or opencode.jsonc) directly:

{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"byjg-docs": {
"type": "remote",
"url": "https://mcpdocs.byjg.com/mcp",
"enabled": true
}
}
}

OpenCode 2.x writes this as mcp.servers.byjg-docs and reads both shapes. MCP tools run without asking by default, so no permission rule is needed.

Verify with a prompt that calls the tool:

opencode run "Search the byjg-docs MCP server for MicroOrm and reply with the first URL"

opencode mcp list asks the background service, which may not have loaded the new config yet.

Cursor​

Click the gear icon at the top of the chat panel, open Tools & MCP, and click Add Custom MCP. That opens ~/.cursor/mcp.json (available in every project; use <project-root>/.cursor/mcp.json for one project only):

{
"mcpServers": {
"byjg-docs": {
"url": "https://mcpdocs.byjg.com/mcp"
}
}
}

The server shows up under Tools & MCP with a green dot once connected.

VS Code​

Click the gear icon at the top of the Chat view, open MCP Servers, and click Add Server -- or run MCP: Open User Configuration from the Command Palette. Either way you edit mcp.json in your user profile.

VS Code's format differs from the others: the top-level key is servers, and each entry declares its type:

{
"servers": {
"byjg-docs": {
"type": "http",
"url": "https://mcpdocs.byjg.com/mcp"
}
}
}

The server appears under Installed in the MCP Servers view.

JetBrains IDEs​

Applies to IntelliJ IDEA, PhpStorm, PyCharm, WebStorm and the rest, through AI Assistant. Remote HTTP servers need version 2025.3 or later.

Open Settings > Tools > AI Assistant > Model Context Protocol (MCP), click + (Add server), select the HTTP tab and paste:

{
"mcpServers": {
"byjg-docs": {
"url": "https://mcpdocs.byjg.com/mcp"
}
}
}

Leave Server level on Global so it is available in every project (saved to ~/.ai/mcp/mcp.json), and click OK. The Status column turns green once connected.

The tools​

search_docs(query, limit, category, project)​

The main entry point. Returns ranked passages, each with its source path, public URL and project.

  • query -- natural language or an exact symbol name; both work
  • limit -- defaults to 8, capped at 25
  • category -- php, devops, js, ai, helm, ...
  • project -- micro-orm, restserver, docker-easy-haproxy, ...

get_document(source_path)​

Full markdown of one page, addressed by the source a search result reports (php/micro-orm/active-record.md). Use when a hit is relevant but truncated.

list_projects()​

Inventory grouped by category and project, with counts. Lets the model discover what exists before searching.

Troubleshooting​

SymptomCause
401 UnauthorizedThe server you pointed at requires a token (BYJG_DOCS_AUTH_TYPE=bearer); mcpdocs.byjg.com does not. Use the With token tabs, and check the header is Authorization: Bearer <TOKEN>
404 Not FoundThe URL is missing the /mcp path
Timeout / connection refusedThe server is unreachable; check https://mcpdocs.byjg.com/healthz in a browser
Works in one directory only (Claude Code)Registered with the default local scope; re-add with --scope user
npx: command not found (Claude Desktop, JetBrains STDIO)Node.js is not installed, or not on the PATH the app sees