opencode-docs-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@opencode-docs-mcpHow do I set up MCP servers in OpenCode?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenCode Docs MCP Server
A Mintlify-style MCP server that enables AI models to search and browse the OpenCode documentation.
β¨ Features
Full-text search across 33+ documentation pages
Category browsing (Getting Started, Usage, Configure, Develop)
Page retrieval with full markdown content
Auto-discovery of documentation pages from navigation
Auto-updating index that refreshes every 24 hours
Mintlify-style tool descriptions and responses
Related MCP server: PortOne Global MCP Server
π Quick Start
Option 1: Remote Server (Recommended - No Installation)
Just add a URL to your MCP config:
{
"mcpServers": {
"opencode-docs": {
"name": "opencode-docs",
"url": "https://tryinspector.com/api/opencode-docs/mcp",
"headers": {}
}
}
}Option 2: NPX (Local)
{
"mcpServers": {
"opencode-docs": {
"command": "npx",
"args": ["-y", "opencode-docs-mcp"]
}
}
}β οΈ Using nvm, fnm, or volta? You need the full path to npx:
# Find your npx path which npx # Example: /Users/you/.nvm/versions/node/v20.19.5/bin/npxThen use the full path in your config:
{ "mcpServers": { "opencode-docs": { "command": "/Users/you/.nvm/versions/node/v20.19.5/bin/npx", "args": ["-y", "opencode-docs-mcp"] } } }
Option 3: Global Install
npm install -g opencode-docs-mcp{
"mcpServers": {
"opencode-docs": {
"command": "opencode-docs-mcp"
}
}
}π¦ MCP Client Configuration
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"opencode-docs": {
"name": "opencode-docs",
"url": "https://tryinspector.com/api/opencode-docs/mcp",
"headers": {}
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"opencode-docs": {
"url": "https://tryinspector.com/api/opencode-docs/mcp"
}
}
}OpenCode
Add to your opencode.json:
{
"mcp": {
"opencode-docs": {
"type": "remote",
"url": "https://tryinspector.com/api/opencode-docs/mcp"
}
}
}π Available Tools
Tool | Description |
| Search docs by query, returns relevant pages with contextual snippets and links |
| Get full content of a specific documentation page by path |
| Get complete table of contents with all categories and pages |
π Documentation Categories
Category | Pages | Topics |
Getting Started | 7 | Intro, Config, Providers, Network, Enterprise, Troubleshooting, Migration |
Usage | 8 | TUI, CLI, Web, IDE, Zen, Share, GitHub, GitLab |
Configure | 14 | Tools, Rules, Agents, Models, Themes, Keybinds, MCP Servers, etc. |
Develop | 4 | SDK, Server, Plugins, Ecosystem |
π Example Usage
Once connected, AI models can use the tools like:
User: "How do I configure MCP servers in OpenCode?"
AI calls: SearchOpenCodeDocs({ query: "configure MCP servers" })
Returns:
### 1. [MCP servers](https://opencode.ai/docs/mcp-servers/)
**Category:** Configure
Add external tools to OpenCode using the Model Context Protocol...π Self-Hosting
Deploy to Vercel
The remote server endpoint can be added to any Next.js project. See the source for the API route implementation.
Run Locally
git clone https://github.com/anthropics/opencode-docs-mcp
cd opencode-docs-mcp
npm install
npm run build
npm run scrape # Pre-populate the docs index
npm startπ§ Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Re-scrape docs
npm run scrape
# Run locally
npm startπ€ Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
π License
MIT - see LICENSE for details.
π Links
Available Tools
3 toolsBrowseOpenCodeDocsA
Get a complete overview of the OpenCode documentation structure including all categories and pages. Use this to understand what documentation is available or to help users navigate to the right section.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the scope (all categories and pages) but does not mention return format, whether the output is sorted, or any other behavioral traits. For a no-param browse tool this is sufficient but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the primary action and immediately followed by use-case guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (no params, no output schema), and the description covers purpose, scope, and usage. It lacks explicit return format details, but for a browsing tool the description is adequate and complete enough for an agent to select it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the description need not explain parameter behavior. The baseline of 4 for no-parameter tools applies; the description adds no parameter details but none are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a complete overview of the OpenCode documentation structure, with a specific verb ('Get') and resource ('documentation structure'). It distinguishes itself from siblings by focusing on browsing vs. searching or retrieving specific pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: to understand available documentation or help users navigate to the right section. It implies alternatives (search/get page) but does not explicitly name them or state exclusions, stopping short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GetOpenCodeDocPageA
Retrieve the full content of a specific OpenCode documentation page by its path. Use this when you need complete information from a known documentation page, such as /docs/mcp-servers/ for MCP configuration or /docs/agents/ for agent setup.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | The documentation page path (e.g., "/docs/mcp-servers/", "/docs/config/", "/docs/agents/") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states the operation is a retrieval and returns 'full content', which is useful. However, it does not disclose error behavior, formatting, or any side effects; the read-only nature is implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states the function, second gives usage guidance. There is no redundancy or filler; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage, and parameter context, which is adequate for a simple 1-parameter retrieval tool. It lacks explicit return-type details, but 'full content' implies the expected output. The absence of an output schema raises the bar slightly, but overall it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single 'path' parameter with examples, and the description also provides examples ('/docs/mcp-servers/', '/docs/agents/'). The description adds minimal beyond the schema, but it does reinforce the requirement of a known path.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the full content of a specific OpenCode documentation page by path. The verb 'retrieve' and resource ('OpenCode documentation page') are specific, and the examples distinguish this from searching or browsing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear usage context: 'Use this when you need complete information from a known documentation page.' This implies alternatives (search/browse) for unknown pages, though it does not explicitly name them or state when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
SearchOpenCodeDocsA
Search across the OpenCode knowledge base to find relevant information, configuration examples, CLI commands, and guides. Use this tool when you need to answer questions about OpenCode, find specific documentation, understand how features work, or locate implementation details for MCP servers, agents, tools, themes, and more. The search returns contextual content with titles and direct links to the documentation pages.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | A query to search the OpenCode documentation with. Be specific for better results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the search returns 'contextual content with titles and direct links to the documentation pages,' which is a meaningful behavioral trait. It does not describe potential limitations like rate limits or result count, but for a simple search tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two well-structured sentences, front-loaded with the core action ('Search across the OpenCode knowledge base'), followed by usage context and return format. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter search tool with no output schema, the description is complete. It covers what the tool does, when to use it, and what it returns. Given the low complexity, the absence of additional constraints or result details is not a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, which already includes guidance to 'Be specific for better results.' The description adds context about searching across the knowledge base but provides no additional syntax or format details, so it does not significantly enhance parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a search tool across the OpenCode knowledge base, listing specific content types (configuration examples, CLI commands, guides) and return behavior (titles and direct links). This distinguishes it from sibling tools like GetOpenCodeDocPage or BrowseOpenCodeDocs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this tool when you need to answer questions about OpenCode, find specific documentation, understand how features work, or locate implementation details.' This provides clear usage context. However, it does not mention when not to use it or explicitly compare it to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
v1.1.0- First observed
BrowseOpenCodeDocs - First observed
GetOpenCodeDocPage - First observed
SearchOpenCodeDocs
TDQS
Scored across 3 tools
Each tool serves a clearly distinct purpose: search for query-based discovery, get for retrieving a specific page by path, and browse for exploring the docs structure. There is no meaningful overlap between them.
All tool names follow a consistent Verb+Object pattern: SearchOpenCodeDocs, GetOpenCodeDocPage, BrowseOpenCodeDocs. The naming is uniform and predictable.
With only 3 tools, the set is on the smaller side but well-suited for a documentation-focused server. The tools cover the core needs of searching, retrieving, and navigating docs without excess.
The tool set provides complete coverage for a read-only documentation server: discover information, access full content, and understand site structure. There are no obvious gaps or dead ends.
Maintenance
Related MCP Connectors
Search and read Vector Panda docs: API operations, pricing, storage tiers, measured benchmarks.
The documentation, as a tool your agent can call: 950+ AI-dev guides. Search + fetch tools.
Docs Q&A: search 169 data and AI guides, fetch any page as markdown. Read-only, keyless.
Provide your AI coding tools with token-efficient access to up-to-date technical documentation forβ¦
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI models to search the web using DuckDuckGo, scrape webpage content in markdown format, and browse/read local files for code analysis and debugging.5 npm1MIT
- AlicenseNot gradedqualityDmaintenanceEnables searching and reading of PortOne documentation, including OpenAPI schemas and product guides, through the Model Context Protocol. It allows AI agents to easily access and integrate payment-related technical specifications into their workflows.6 npmISC
- FlicenseNot gradedqualityFmaintenanceEnables AI agents to search and retrieve Holochain documentation, including developer guides, HDK functions, and HDI API references.2-
- FlicenseNot gradedqualityBmaintenanceEnables searching and fetching documentation pages from a wide range of programming languages, frameworks, game engines, and tools. Supports multiple sources and returns relevant documentation snippets.1-