mcp-wiki
Enables contextual wiki lookups for GitHub Copilot within VS Code during development.
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., "@mcp-wikisearch wiki for deployment guide"
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 Explorer MCP Server
A generic MCP (Model Context Protocol) server that exposes any project wiki to AI assistants, enabling contextual wiki lookups during development sessions.
Features
Lazy loading — indexes headings once, loads content on-demand via byte positions
Auto-reload — watches the wiki file or markdown directory for changes with debouncing
Fuzzy search — handles typos and partial matches via levenshtein distance
Content search — searches within section content, not just headings
Custom anchors — use
{#anchor}syntax in headings for stable TOC linksDirectory mode — index entire markdown directory trees with file-prefixed keys
Legacy key support — backward-compatible lookup of heading-only keys
Heading hierarchy — tracks full breadcrumb path for nested sections
Batch fetch — retrieve multiple sections in one call (max 20)
Smart suggestions — returns similar keys when a section isn't found
Path safety — validates markdown sources and safe path resolution
Graceful shutdown — handles SIGINT/SIGTERM, cleans up watchers
Structured logging — configurable log levels for debugging
Related MCP server: WikiJS MCP Server
Setup
# 1. Install dependencies
npm install
# 2. Configure wiki path
cp .env.example .env
# 3. Run tests
npm test.env
WIKI_PATH=path/to/your/wiki-source # file (.md/.markdown) or directory
LOG_LEVEL=info # debug, info, warn, errorMCP Tools
Tool | Description | Parameters |
| List all available wiki sections | none |
| Browse sections by topic/parent |
|
| Search sections by keyword |
|
| Get a single section's content |
|
| Get multiple sections at once |
|
Connecting to AI Assistants
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"wiki-explorer": {
"command": "node",
"args": ["/path/to/wiki-explorer/index.js"],
"env": {
"WIKI_PATH": "/path/to/your/docs/wiki"
}
}
}
}Cursor
Add to Cursor MCP settings:
{
"mcpServers": {
"wiki-explorer": {
"command": "node",
"args": ["/path/to/wiki-explorer/index.js"],
"env": {
"WIKI_PATH": "/path/to/your/docs/wiki"
}
}
}
}VS Code (GitHub Copilot)
Add to .vscode/mcp.json:
{
"servers": {
"wiki-explorer": {
"command": "node",
"args": ["/path/to/wiki-explorer/index.js"],
"env": {
"WIKI_PATH": "/path/to/your/docs/wiki"
}
}
}
}Running
# Start MCP server (stdio transport)
npm start
# Debug mode
LOG_LEVEL=debug npm startArchitecture
index.js → MCP server + tool registration + signal handlers
utils.js → WikiParser class (indexing, search, content extraction)
logger.js → Structured logging with configurable levels
test.js → 67 assertions covering all functionality
.env → WIKI_PATH, LOG_LEVEL configurationWikiParser Class
Constructor — validates file/directory source, loads markdown docs, builds heading index with byte positions
search(query, { fuzzy, limit })— find sections by keywordfindSimilar(key)— get similar keys via levenshtein distancegetSection(key)— retrieve content for a single sectiongetSections(keys)— batch retrieve multiple sectionsreload()— re-read file and rebuild indexclose()— stop file watcher
Key Compatibility
Canonical keys in directory mode are prefixed by file slug (e.g.
user-wiki-approval-workflow-deep-dive)Legacy heading-only keys are still accepted in
getMeta/getSectionfor backward compatibilityAmbiguous legacy keys require suffixed form (
-1,-2) to resolve deterministicallySearch accepts legacy key queries but returns canonical keys
Custom Anchors
Headings can include a custom anchor using {#anchor-name} syntax at the end of the heading text:
## Backend Architecture {#portage-backend-architecture}This creates a stable anchor that can be used in table of contents or direct links. The anchor is stripped from the displayed title but registered as a legacy alias for lookup.
Content Search
Search matches both heading text and section content. Results are prioritized:
Header matches — exact or fuzzy match in heading text
Content matches — keyword found within section body
This ensures the most relevant sections appear first.
Security
Source validation (
.md/.markdownfile or directory)Safe path resolution via
path.resolve+ fs stat checksFile size cap (50MB default)
Key format validation (lowercase alphanumeric + hyphens)
Batch request limits (max 20 keys)
Graceful Shutdown
Handles SIGINT, SIGTERM, uncaughtException, and unhandledRejection. Cleans up file watchers and exits cleanly.
Testing
npm testCovers: initialization, path validation, directory mode, search (headers + content), fuzzy search, findSimilar, meta, sections, batch fetch, boundaries, reload, file watcher, key format validation, custom anchors, legacy key resolution, and cleanup.
CI/CD
GitHub Actions runs tests on Node 20 and 22 for every push/PR to main. See .github/workflows/ci.yml.
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
- AlicenseBqualityDmaintenanceEnables AI assistants to search and retrieve content from WikiJS knowledge bases, allowing integration with your Wiki through simple search and retrieval tools.4226MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, retrieve, and optionally edit pages in a WikiJS knowledge base via the Model Context Protocol.231MIT

@growi/mcp-serverofficial
AlicenseBqualityAmaintenanceConnects AI models to GROWI wikis for search and retrieval, enabling context-aware responses from an organization's knowledge base.3174018MIT- FlicenseAqualityBmaintenanceEnables natural language query and ingestion of wiki knowledge bases built from documents, powered by Claude Agent SDK skills.2
Related MCP Connectors
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Search and reason over your Obsidian-style Markdown vault, right from ChatGPT.
Search your knowledge bases from any AI assistant using hybrid RAG.
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/jommar/mcp-wiki'
If you have feedback or need assistance with the MCP directory API, please join our Discord server