openwiki-mcp
Enables MCP hosts to generate and update repository wikis using OpenWiki's documentation generation tools.
README
openwiki-mcp
MCP server that exposes OpenWiki (OpenChamber) documentation generation as Model Context Protocol tools, so an official, unmodified OpenCode (or any MCP host) can generate and update repository wikis.
Fully independent of the opencode source tree — openwiki itself is resolved as
an external package (npm install or a staged offline bundle), and agent
credentials are relayed via environment variables, never stored.
Tools
| Tool | Maps to agent | Notes |
|---|---|---|
openwiki_status |
— (local only) | Inspects openwiki/ + .last-update.json. No agent, no model, works offline. |
openwiki_generate |
init |
First-time wiki generation. Optional userMessage steers the agent. |
openwiki_update |
update |
Diff-based refresh; only stale pages are regenerated. |
Prerequisites
-
Node.js >= 22 (the MCP server and the agent child process both run under
node) -
An openwiki package install:
npm install -g openwiki # online machine, or# offline machine: copy a prepared bundle and point at it set OPENWIKI_PACKAGE_ROOT=D:\path\to\staged\bundle\node_modules\openwikiOPENWIKI_PACKAGE_ROOTmay point either directly at the package root or at a layout that containsnode_modules/openwiki. The staged bundle needs no junction or symlink tricks — Node resolves the agent's bare imports through the normalnode_moduleswalk.
Agent model configuration
The server relays (never stores) the following variables into the agent child process:
| Env var (server side) | Meaning |
|---|---|
OPENWIKI_PROVIDER |
openai (default) or openai-compatible |
OPENWIKI_MODEL_ID |
Model id, e.g. gpt-5 |
OPENAI_COMPATIBLE_BASE_URL |
Point at a local OpenAI-compatible gateway to keep real keys out of the agent env |
OPENAI_COMPATIBLE_API_KEY |
Key for the openai-compatible provider |
OPENAI_API_KEY |
Key for the openai provider |
OPENWIKI_PACKAGE_ROOT |
Optional; explicit path to the openwiki install |
Per-call modelId/language/userMessage tool arguments override the ambient
environment for that run.
Registering with OpenCode
Add to your opencode.json / opencode.jsonc:
{
"mcp": {
"openwiki": {
"type": "local",
"command": ["node", "D:/path/to/openwiki-mcp/dist/index.js"],
"environment": {
"OPENWIKI_PACKAGE_ROOT": "D:/path/to/staged/bundle/node_modules/openwiki",
"OPENWIKI_PROVIDER": "openai-compatible",
"OPENWIKI_MODEL_ID": "gpt-5",
"OPENAI_COMPATIBLE_BASE_URL": "http://127.0.0.1:4096/v1"
}
}
}
}
The three tools then appear in every OpenCode conversation as ordinary tools.
Development
npm install
npm run build # tsc -> dist/
npm test # node --test (status inspection unit tests)
npm run dev # run the server via tsx (dev)
Smoke tests:
node scripts/smoke.mjs <dir> status # local inspection only
node scripts/smoke.mjs <dir> init "note" # full agent run (needs model env)
Manual MCP protocol check:
@'
{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"t","version":"1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
'@ | node dist/index.js
Design notes
src/openwiki/resolve.ts— package resolution:OPENWIKI_PACKAGE_ROOT, thenrequire.resolve("openwiki/package.json").src/openwiki/worker.mjs— adapter worker: reads one job from stdin, imports the agent entry by absolute path, emits NDJSON progress on stdout. Ported from the opencode fork'spackages/openwikiadapter and kept independent.src/openwiki/run.ts— spawns the worker as a child of the MCP server, so a hung agent can never take down the MCP host.src/status.ts— local status inspection (no model cost).- v0.1 maps
generateto the agent'sinitcommand, matching openwiki 0.3.x whereinitis the first-generation command andupdatethe refresh one.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.