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., "@WikiJS MCP Serversearch for the engineering onboarding documentation"
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.
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-mcpInstall dependencies:
npm installConfigure environment variables:
cp .dev.vars.example .dev.varsEdit .dev.vars with your WikiJS credentials:
WIKI_JS_BASE_URL=https://your-wiki-instance.com
WIKI_JS_API_KEY=your-api-key-hereRun locally:
npm run devDeploy to Cloudflare Workers
Click the deploy button above or run:
npm run deploySet your secrets:
npx wrangler secret put WIKI_JS_BASE_URL
npx wrangler secret put WIKI_JS_API_KEYConfiguration
Environment Variables
Variable | Required | Description |
| Yes | Your WikiJS instance URL (e.g., |
| 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/mcpProject 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 # Resource exports
wrangler.jsonc # Cloudflare Workers configuration
worker-configuration.d.ts # TypeScript types for bindingsSecurity Considerations
This MCP server runs without OAuth and uses pre-configured API credentials. Ensure:
API Key Security: Store
WIKI_JS_API_KEYas a Cloudflare secret, never commit it to codeAccess Control: The API key inherits permissions from the WikiJS user account it belongs to
Network Security: Deploy with HTTPS only (enforced by Cloudflare Workers)
Logging: API keys are never logged; only
hasApiKey: true/falseis tracked
API Reference
WikiJS GraphQL API
This server uses the WikiJS GraphQL API. Key mutations used:
Create Page:
mutation {
pages {
create(
title: String!
path: String!
content: String!
editor: "markdown"
isPublished: true
isPrivate: false
locale: "en"
description: String!
tags: [String]!
) {
responseResult { succeeded message }
page { id path title }
}
}
}Update Page:
mutation {
pages {
update(
id: Int!
title: String
content: String
description: String
tags: [String]
) {
responseResult { succeeded message }
}
}
}Delete Page:
mutation {
pages {
delete(id: Int!) {
responseResult { succeeded message }
}
}
}Relevant Documentation
Troubleshooting
Common Issues
400 Bad Request on Create: Ensure your WikiJS API key has write permissions
Page Not Found: Paths are case-sensitive; check the exact path in WikiJS
Rate Limiting: Large wikis may hit GraphQL complexity limits; use pagination
Debug Logging
Enable debug logging in development:
LOG_LEVEL=debug npm run devLicense
MIT
Customizing your MCP Server
To add your own tools to the MCP server, define each tool inside the init() method of src/index.ts using this.server.tool(...).
Connect to Cloudflare AI Playground
You can connect to your MCP server from the Cloudflare AI Playground, which is a remote MCP client:
Enter your deployed MCP server URL (
remote-mcp-server-authless.<your-account>.workers.dev/mcp)You can now use your MCP tools directly from the playground!
Connect Claude Desktop to your MCP server
You can also connect to your remote MCP server from local MCP clients, by using the mcp-remote proxy.
To connect to your MCP server from Claude Desktop, follow Anthropic's Quickstart and within Claude Desktop go to Settings > Developer > Edit Config.
Update with this configuration:
{
"mcpServers": {
"calculator": {
"command": "npx",
"args": [
"mcp-remote",
"http://wiki-mcp.your-account.workers.dev/mcp"
]
}
}
}Restart Claude and you should see the tools become available.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.