wiki-skills
Click on "Install 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., "@wiki-skillsFind a page about API authentication"
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.
wiki-skills
A local MCP connector that lets Claude search, read, create, and edit pages in the ok-wiki knowledge base.
It runs as a child process of the Claude client on the same machine as ok-wiki, speaks MCP over stdio, and reaches the wiki over HTTP with an API key that never enters the model's context.
Status: documentation first. The architecture is specified and the upstream API is mapped;
src/is not yet implemented. Start atdocs/architecture.md.
What it can do
Search and read — full-text search, fetch a page by path or id, list pages by tag or recency
Create and edit — create markdown pages; patch an existing page's content, title, description, tags, or published state
History — list a page's revisions, fetch a specific version, restore a page to an earlier one
Tags — list and autocomplete the wiki's existing tag vocabulary
Assets — upload a file and get back a ready-to-paste markdown reference; list assets and create folders
Related MCP server: requarks-wiki-mcp
What it deliberately cannot do
No moving, renaming, or deleting pages. Those break inbound links or lose content, and a
mistyped path is exactly the error a model makes. Do them in the ok-wiki UI. The boundary is
enforced twice — the tools don't exist, and the API key's group withholds delete:pages and
manage:pages. Reasoning: docs/adr/0005.
Also out of scope: comments, navigation, users and groups, theming, and administrative operations.
Quickstart
1. Build
cd /home/obe/wiki-skills
npm install
npm run build # MCP registration points at dist/index.js, not src/2. Enable the ok-wiki API
In the wiki: Administration → API Access → enable. Without this, every request is rejected with "API is disabled. You must enable it from the Administration Area first."
3. Mint a scoped API key
Create a group for the connector granting exactly:
read:pages, read:source, write:pages, read:history, read:assets, write:assets,
manage:pages
Grant them in both the group's global permissions and its page rules — the wiki checks both
layers. manage:pages looks like more than a reader needs, but the wiki's single-page resolvers
require it: without it, page lookups fail with "You are not authorized to view this page" even
though listing works (docs/ok-wiki-api.md §4).
Then Administration → API Access → New API Key, bound to that group.
read:source is the one that fails quietly if you forget it — pages come back with a null body
instead of an error. Use a dedicated key so it can be revoked independently and so wiki history
distinguishes agent edits from human ones. Details:
docs/ok-wiki-api.md §2.
4. Register with Claude Code
claude mcp add wiki \
--env WIKI_BASE_URL=http://localhost:3000 \
--env WIKI_API_KEY=<your-api-key> \
-- node /home/obe/wiki-skills/dist/index.jsOr, to share it with a project via .mcp.json:
{
"mcpServers": {
"wiki": {
"command": "node",
"args": ["/home/obe/wiki-skills/dist/index.js"],
"env": {
"WIKI_BASE_URL": "http://localhost:3000",
"WIKI_API_KEY": "${WIKI_API_KEY}"
}
}
}
}Prefer the ${VAR} form in any file you might commit — don't put the key in version control.
5. Verify
Run /mcp in Claude Code and confirm wiki is connected with its tools listed. Then ask for
something read-only, like "search the wiki for onboarding", to exercise wiki_search_pages.
Configuration
Variable | Required | Default | Purpose |
| yes | — | e.g. |
| yes | — | ok-wiki API key (JWT) |
| no |
| Default locale |
| no |
| Per-request timeout |
| no |
|
|
| no |
| Cap on page body returned into context |
| no |
| Diagnostics, always to stderr |
| no |
| Max upload size in bytes for |
| no | unset | Colon-separated absolute path prefixes uploads may come from; unset = unrestricted |
Documentation
Document | What's in it |
System context, module layout, invariants, request flows, error model, security, testing | |
Every tool's inputs, outputs, and behavior | |
Upstream endpoints, auth, permissions, and the gotchas that shape the design | |
Numbered requirements, milestones, and acceptance criteria — the build plan | |
Why stdio, why GraphQL, why TypeScript, why read-modify-write, why no deletes |
If you read only one thing before writing code, make it
docs/adr/0004: ok-wiki's pages.update is a full
replace, not a patch, and a naive implementation silently unpublishes pages and drops their tags.
Troubleshooting
Symptom | Cause |
Connector won't connect; no useful error | Something wrote to stdout. Under stdio, stdout is the protocol channel — all logging must go to stderr. |
Tools missing after a source edit | You edited |
"API is disabled" | Step 2 not done. |
"API Key is invalid or was revoked" | Key revoked or expired; mint a new one. |
Listing works but fetching a single page is "not authorized" | The key's group is missing |
Page reads succeed but | The key's group is missing |
Edits rejected as conflicts | Someone edited the page after your read. Re-read and retry. |
"cannot reach the wiki" | ok-wiki isn't up. It runs as a systemd unit — check |
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAn MCP Server implementation that enables managing Confluence wiki pages through natural language queries, supporting operations like creating, updating, deleting, and searching pages across different knowledge bases.2
- AlicenseAqualityCmaintenanceAn MCP server that enables AI agents to interact with Wiki.js as a knowledge base through a comprehensive set of 29 tools for content retrieval and management. It supports full-text search, page versioning, and asset browsing with optional write operations secured by safety gates.29134MIT
- Alicense-qualityDmaintenanceAn MCP server that enables full management of WikiJS instances, supporting operations like page creation, searching, and updating. It also provides tools for knowledge graph exploration, content summarization, and retrieval of wiki statistics.14MIT
- Flicense-qualityDmaintenanceConnects AI assistants to a team's product knowledge base, enabling search, capture, and navigation of glossary terms, business rules, decisions, and relations via MCP.9,919
Related MCP Connectors
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
MCP server for AgentDocs (agentdocs.eu): read, search, write, comment on & share Markdown docs.
MCP-native open-source Notion alternative: read & write pages, databases and kanban boards.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Moontower-AI/wiki-skills'
If you have feedback or need assistance with the MCP directory API, please join our Discord server