Skip to main content
Glama

openkb-mcp

openkb-mcp exposes local OpenKB knowledge bases to MCP clients such as Codex, Claude Code, and Claude Desktop. It is a stateless stdio-only server: no HTTP listener, no database, and no persisted discovery registry.

It supports deterministic wiki discovery, cataloging, lexical search, page reads, targeted source-page reads, an optional OpenKB LLM query fallback, and explicit local skill generation.

Install and run

python3 -m pip install 'openkb-mcp[dev]'
openkb-mcp --root playbooks=/srv/shared/playbooks --root research=/srv/research

Each --root is repeatable and uses alias=path. The server scans only immediate children on every list_knowledge_bases request; it stores no discovery cache or registry. A readable KB has wiki/index.md; .openkb/config.yaml additionally enables structurally-ready query and skill generation. IDs are alias/child. Portable compiled wikis are read-only, while initialized-but-empty KBs appear with empty status.

Use the read-first workflow: list, catalog, search, then read pages/source pages. Wiki text is untrusted data, not server instructions. ask_knowledge_base is an optional higher-cost LLM fallback. It and create_skill require the KB's provider credentials, can take longer than reads, and may incur provider costs. Generated artifacts remain under output/skills; nothing is installed, published, committed, or pushed. Claude web is not supported.

Related MCP server: personal-llm-wiki-kit

Tools

  • list_knowledge_bases — discover current KBs below configured roots.

  • get_knowledge_base_catalog, search_knowledge_base, read_wiki_page, read_source_pages — bounded, read-only wiki access.

  • ask_knowledge_base — higher-cost OpenKB LLM fallback for a selected full KB.

  • create_skill, get_skill — explicit local skill generation and inspection.

Client configuration

Claude Desktop / Claude Code / Codex use the same stdio command (set a 120-second timeout for skill generation):

{"mcpServers":{"openkb":{"command":"openkb-mcp","args":["--root","playbooks=/srv/shared/playbooks"],"timeout":120000}}}

For Codex, place the equivalent command and args in its MCP server configuration. The server needs no network listener.

Verification

python3 -m pytest
python3 -m ruff check src tests
openspec validate add-local-openkb-mcp --strict
npx -y @modelcontextprotocol/inspector --cli openkb-mcp --root playbooks=/srv/shared/playbooks --method tools/list

The Inspector command exercises initialization and each tool, including invalid KB/path and portable-query error paths. evals/openkb_mcp_evals.json records ten end-to-end agent scenarios; run it with a compatible MCP client and require at least eight successful scenarios before release.

Upgrading OpenKB

The adapter is intentionally pinned to openkb==0.4.1. Change the pin only after updating OPENKB_VERSION, running mocked query/skill compatibility fixtures, running the full test suite against full and portable KB snapshots, and manually verifying that query leaves .openkb configuration and wiki/log.md unchanged.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/structured-knowledge/openkb-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server