MCP server
AI coding assistants know an OpenKM, not necessarily yours. They were trained on whatever OpenKM documentation they happened to see, so they may use methods that do not exist in your version, miss newer ones, or invent signatures.
The OpenKM MCP server gives any AI assistant compatible with the Model Context Protocol (Claude, ChatGPT, Codex, Cursor, GitHub Copilot, Gemini, Windsurf…) direct access to the OpenKM developer documentation of the exact OpenKM version you work with: the Java API, the core utilities, the plugin system, metadata and the database schema.
It serves the same content as the LLM context files, but you do not have to download or attach anything: the assistant asks the server for what it needs, when it needs it.
Why use it
Section titled “Why use it”- The answers match your version. Every OpenKM release since 8.2.5 is available, and the assistant asks for the version your project uses.
- It saves tokens. Instead of loading a whole reference file (the API reference alone is more than 50,000 tokens), the assistant gets one section, one class or one method.
- Always up to date. When a new OpenKM version is released, its documentation is added to the server. There is nothing to update on your side.
- No account, no API key. The server is public and read-only.
Server URL
Section titled “Server URL”https://mcp.openkm.com/mcpThe server uses the Streamable HTTP transport. Any MCP client that supports remote servers can connect to it directly.
| URL | Serves |
|---|---|
https://mcp.openkm.com/mcp |
All versions. The assistant chooses the version on each request (the latest one by default). |
https://mcp.openkm.com/mcp/8.2.9 |
Only OpenKM 8.2.9. Useful to pin the version of a project. |
https://mcp.openkm.com/mcp/8.2 |
The latest 8.2.x release. |
Connect your AI assistant
Section titled “Connect your AI assistant”In all the examples the server is named openkm-docs. You can use any other name.
Claude Code
Section titled “Claude Code”claude mcp add --transport http --scope user openkm-docs https://mcp.openkm.com/mcp--scope user makes it available in all your projects. To share it with your team, use --scope project instead: the server is saved in the .mcp.json file of the project, which you can commit.
Check the connection with claude mcp get openkm-docs, or with /mcp inside a session.
Claude Desktop and claude.ai
Section titled “Claude Desktop and claude.ai”- Open Settings → Connectors.
- Click Add custom connector.
- Enter
OpenKM docsas the name andhttps://mcp.openkm.com/mcpas the URL, and click Add.
Custom connectors are available on the Claude plans that support them. Once added, the connector can be enabled in each conversation from the tools menu.
Cursor
Section titled “Cursor”Add the server to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json to use it in all your projects:
{ "mcpServers": { "openkm-docs": { "url": "https://mcp.openkm.com/mcp" } }}VS Code (GitHub Copilot)
Section titled “VS Code (GitHub Copilot)”Add the server to .vscode/mcp.json in your project. Note that VS Code uses the servers key:
{ "servers": { "openkm-docs": { "type": "http", "url": "https://mcp.openkm.com/mcp" } }}The tools are available in Copilot Chat in Agent mode.
OpenAI Codex
Section titled “OpenAI Codex”codex mcp add openkm-docs --url https://mcp.openkm.com/mcpOr add it by hand to ~/.codex/config.toml:
[mcp_servers.openkm-docs]url = "https://mcp.openkm.com/mcp"ChatGPT
Section titled “ChatGPT”- Open Settings → Apps & Connectors → Advanced settings and enable Developer mode.
- In Apps & Connectors, click Create.
- Enter
OpenKM docsas the name andhttps://mcp.openkm.com/mcpas the URL, select No authentication, and click Create.
Developer mode is available on the ChatGPT plans that support it. Once created, select the connector in the conversation from the + menu.
Windsurf
Section titled “Windsurf”Add the server to ~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "openkm-docs": { "serverUrl": "https://mcp.openkm.com/mcp" } }}Gemini CLI
Section titled “Gemini CLI”gemini mcp add --transport http openkm-docs https://mcp.openkm.com/mcpOr add it by hand to ~/.gemini/settings.json:
{ "mcpServers": { "openkm-docs": { "httpUrl": "https://mcp.openkm.com/mcp" } }}Other clients
Section titled “Other clients”Any client that supports remote MCP servers over HTTP can use the server URL directly. For clients that only support local (stdio) servers, use the mcp-remote bridge, which requires Node.js:
{ "mcpServers": { "openkm-docs": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.openkm.com/mcp"] } }}What the assistant gets
Section titled “What the assistant gets”| Tool | Purpose |
|---|---|
list_versions |
The OpenKM versions available, and which documentation changed in each one. |
list_pages |
The documentation pages of a version: API, core utilities, plugins, metadata and database schema. |
search_docs |
The sections matching some keywords, with their size. |
get_page |
A page, one section of it, or its outline. |
list_api |
The documented Java classes (OKMDocument, OKMFolder, FileUtils…). |
get_api |
One class with its list of members, or one member (for example a method with all its overloads). |
Every tool accepts a version argument (8.2.9, or 8.2 for the latest 8.2.x release). The assistant usually takes it from the com.openkm:openkm dependency in your project’s pom.xml. If it does not, tell it which version you use, or connect to the URL of that version.
Sample prompt
Section titled “Sample prompt”Once the server is connected you do not need to reference any file. Mention the OpenKM version and the MCP server to use:
I am working on an OpenKM 8.2.9 plugin.Use the "openkm-docs" MCP server to check the plugin interface and the API methods you need.
Create a Crontab plugin that runs every night and moves to /okm:root/archivethe documents in /okm:root/inbox that have not been modified in the last 90 days.The assistant will search the documentation, read the Crontab plugin interface and the API methods it needs for that version, and write the code with the right signatures.