An MCP server for managing WikiJS instances.
WikiJS MCP Server
A Model Context Protocol (MCP) server for managing WikiJS instances. This server provides read and write capabilities for wiki pages, including search, creation, updates, deletion, and knowledge graph exploration.
Important: This is an MCP server without OAuth authentication, designed for trusted environments where the server runs with pre-configured API credentials.
Features
Tools (15 Total)
Read Operations (12 tools):
list_wiki_pages- List all pages in the wikiget_wiki_page- Get a specific page by IDget_page_by_path- Get a page by its pathsearch_wiki_pages- Search pages by keywordget_page_history- Get revision history for a pageget_recent_changes- Get recently modified pageslist_page_tags- List all tags used in the wikisearch_by_tag- Find pages by tagfind_related_pages- Discover related contentexplore_knowledge_graph- Navigate tag-based knowledge graphscreate_page_summary- Generate summaries of page contentexport_page_content- Export page in markdown, HTML, or plain textget_wiki_stats- Get wiki statistics
Write Operations (3 tools):
create_wiki_page- Create new wiki pagesupdate_wiki_page- Update existing pages by ID or pathdelete_wiki_page- Delete pages with confirmation protection
Prompts (5 Total)
new_page_template- Template for creating new wiki pagesdocumentation_review- Guide for reviewing documentationfaq_generator- Template for FAQ generationknowledge_explorer- Explore connections between pagessearch_guide- Help users search effectively
Resources (5 Total)
wiki://pages- List of all pageswiki://page/{id}- Specific page content by IDwiki://tags- All available tagswiki://recent-changes- Recent modificationswiki://stats- Wiki statistics
Prerequisites
- Node.js 18+
- A WikiJS instance with API access enabled
- API key from your WikiJS admin panel (Administration > API)
Quick Start
Local Development
- Clone the repository:
git clone https://github.com/vnikhilbuddhavarapu/wiki-mcp.git
cd wiki-mcp
- Install dependencies:
npm install
- Configure environment variables:
cp .dev.vars.example .dev.vars
Edit .dev.vars with your WikiJS credentials:
WIKI_JS_BASE_URL=https://your-wiki-instance.com
WIKI_JS_API_KEY=your-api-key-here
- Run locally:
npm run dev
Deploy to Cloudflare Workers
- Click the deploy button above or run:
npm run deploy
- Set your secrets:
npx wrangler secret put WIKI_JS_BASE_URL
npx wrangler secret put WIKI_JS_API_KEY
Configuration
Environment Variables
| Variable | Required | Description |
|---|---|---|
WIKI_JS_BASE_URL |
Yes | Your WikiJS instance URL (e.g., https://wiki.example.com) |
WIKI_JS_API_KEY |
Yes | API key from WikiJS Administration panel |
Path Format
Page paths are automatically normalized:
- Input:
my-page,/my-page,//my-page/,my-page/ - Normalized:
/my-page
Usage with MCP Clients
Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"wikijs": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://wiki-mcp.your-account.workers.dev/mcp"],
"env": {
"WIKI_JS_BASE_URL": "https://your-wiki-instance.com",
"WIKI_JS_API_KEY": "your-api-key-here"
}
}
}
}
Other MCP Clients
Connect to the mcp endpoint:
https://your-worker.your-account.workers.dev/mcp
Project Structure
src/
├── index.ts # Main MCP server setup and initialization
├── wikijs-client.ts # GraphQL client for WikiJS API
├── shared/
│ └── utils.ts # Logging utilities and path sanitization
├── tools/ # MCP tool implementations
│ ├── create-page.ts
│ ├── delete-page.ts
│ ├── update-page.ts
│ ├── search-pages.ts
│ ├── list-pages.ts
│ ├── get-page.ts
│ ├── get-page-by-path.ts
│ ├── page-history.ts
│ ├── recent-changes.ts
│ ├── list-tags.ts
│ ├── search-by-tag.ts
│ ├── find-related-pages.ts
│ ├── explore-knowledge-graph.ts
│ ├── create-summary.ts
│ ├── export-page.ts
│ ├── wiki-stats.ts
│ └── index.ts # Tool exports
├── prompts/ # MCP prompt templates
│ ├── new-page-template.ts
│ ├── documentation-review.ts
│ ├── faq-generator.ts
│ ├── knowledge-explorer.ts
│ ├── search-guide.ts
│ └── index.ts # Prompt exports
└── resources/ # MCP resources
├── page-by-id.ts
├── pages-list.ts
├── tags-list.ts
├── recent-changes.ts
├── stats.ts
└── index.ts
Tools (16)
list_wiki_pagesList all pages in the wikiget_wiki_pageGet a specific page by IDget_page_by_pathGet a page by its pathsearch_wiki_pagesSearch pages by keywordget_page_historyGet revision history for a pageget_recent_changesGet recently modified pageslist_page_tagsList all tags used in the wikisearch_by_tagFind pages by tagfind_related_pagesDiscover related contentexplore_knowledge_graphNavigate tag-based knowledge graphscreate_page_summaryGenerate summaries of page contentexport_page_contentExport page in markdown, HTML, or plain textget_wiki_statsGet wiki statisticscreate_wiki_pageCreate new wiki pagesupdate_wiki_pageUpdate existing pages by ID or pathdelete_wiki_pageDelete pages with confirmation protectionEnvironment Variables
WIKI_JS_BASE_URLrequiredYour WikiJS instance URLWIKI_JS_API_KEYrequiredAPI key from WikiJS Administration panelConfiguration
{"mcpServers": {"wikijs": {"command": "npx", "args": ["-y", "mcp-remote", "https://wiki-mcp.your-account.workers.dev/mcp"], "env": {"WIKI_JS_BASE_URL": "https://your-wiki-instance.com", "WIKI_JS_API_KEY": "your-api-key-here"}}}}