
Pmwiki Mcp
- Updated March 22, 2026
- kcofoni/pmwiki-mcp
io.github.kcofoni/pmwiki-mcp is a MCP server that searches and reads PmWiki pages from a mounted wiki.d directory.
About
io.github.kcofoni/pmwiki-mcp exposes a local PmWiki wiki.d directory to MCP clients for search, listing, and full-page reads. Developers who keep runbooks, architecture notes, or project wikis in PmWiki can mount the wiki tree read-only into Docker and let Claude Code or Cursor cite internal docs while coding or drafting specs. Tools support grouped page lists and flexible text matching, which helps agents narrow to Deployment or Runbook groups instead of hallucinating policies. It does not edit wiki pages—it is a read bridge. Best for homelab or small-team wikis colocated with the dev machine or NAS, not for hosted SaaS wikis unless you sync files locally.
- Full-text search across all wiki pages
- Case-sensitive and case-insensitive search options
- List all pages or filter by group
- Read complete page contents with context snippets
Pmwiki Mcp by the numbers
- Data as of Jul 7, 2026 (Skillselion catalog sync)
claude mcp add PmwikiMcp -- npx -y kcofoni/pmwiki-mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| Last updated | March 22, 2026 |
|---|---|
| Repository | kcofoni/pmwiki-mcp ↗ |
What it does
Search and read PmWiki page files so your agent can answer questions from your team wiki without manual copy-paste.
Who is it for?
Best when you use file-based PmWiki next to your dev environment.
Skip if: Skip if you're on Notion, Confluence, or Git-only docs without a local PmWiki wiki.d tree.
What you get
After install, the agent can search groups, list pages, and load full PmWiki content from WIKI_DIR.
- Search results and snippets across PmWiki pages
- Full page content reads filtered by wiki group when needed
By the numbers
- Registry version 1.0.4
- OCI package docker.io/kcofoni/pmwiki-mcp:v1.0.4
- Required env: WIKI_DIR (wiki.d path)
README.md
PmWiki MCP Server
MCP (Model Context Protocol) server for interfacing an LLM with PmWiki.
Version française / French version
Architecture
The server uses the MCP protocol with SSE (Server-Sent Events) transport to enable an LLM to interact with your PmWiki instance.
Endpoints
GET /sse: SSE connection to establish bidirectional communicationPOST /messages/: Receive messages from the MCP client
Getting Started
With Docker Compose (Docker Hub image)
The simplest method is to use the published image from Docker Hub:
docker compose up -d
With Docker Compose (local build)
If you want to build the image locally:
- Edit
docker-compose.ymland comment out theimage:line, then uncomment thebuild: .line - Run:
docker compose up -d --build
Direct Docker Usage
Without docker-compose, you can run directly:
docker run -d \
--name pmwiki-mcp-server \
-p 3000:3000 \
-v /path/to/your/wiki.d:/wiki_data:ro \
-e WIKI_DIR=/wiki_data \
kcofoni/pmwiki-mcp:latest
The server will be accessible at http://localhost:3000 (or http://vmtest:3000 from other machines on the network).
Verification
# Check that the server is running
docker logs pmwiki-mcp-server
# Test the SSE connection
curl -N http://localhost:3000/sse
Client Configuration
Claude Desktop
Add this configuration to your Claude Desktop configuration file:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pmwiki": {
"command": "mcp-proxy",
"args": [
"--transport=sse",
"http://vmtest:3000/sse"
]
}
}
}
Important notes:
vmtestis the hostname of the machine hosting the MCP server Docker container- Replace
vmtestwith:localhostif Claude Desktop runs on the same machine as the server- The hostname or IP address of the machine running the Docker container (e.g.,
192.168.1.100:3000/sse)
- The
mcp-proxytool must be installed (usually provided with Claude Desktop) - The proxy handles the SSE connection between Claude Desktop and the MCP server
Available Features
Once connected, your LLM will have access to:
Resources
- All wiki pages are exposed as resources with the URI
pmwiki://Group.PageName
Tools
search_wiki: Search for text across all pages
- Parameters:
query(required): Text to search forcase_sensitive(optional): Case-sensitive search (default: false)
- Parameters:
read_page: Read the complete content of a page
- Parameters:
page_name(required): Page name (e.g.,Main.HomePageorMain/HomePage)
- Parameters:
list_pages: List all wiki pages
- Parameters:
group(optional): Filter by group
- Parameters:
Configuration
Wiki Directory Mount
The PmWiki directory is mounted from the host machine to the Docker container:
volumes:
- /home/docker/appdata/html/wiki.d:/wiki_data:ro
Important:
/home/docker/appdata/html/wiki.dis the path on the host machine - this is an example to adapt- Replace this path with the actual path to your PmWiki
wiki.ddirectory - The volume is mounted read-only (
:ro) for security reasons /wiki_datais the internal container path (do not modify)
Docker Hub
The image is publicly available on Docker Hub:
- Repository: kcofoni/pmwiki-mcp
- Latest tag:
kcofoni/pmwiki-mcp:latest - Stable version:
kcofoni/pmwiki-mcp:v1.0.2
To pull the latest version:
docker pull kcofoni/pmwiki-mcp:latest
To pull a specific version:
docker pull kcofoni/pmwiki-mcp:v1.0.2
Technical Architecture
- Language: Python 3.11
- Web Framework: Starlette + Uvicorn
- Protocol: MCP over SSE
- Page Format: PmWiki (files in
wiki.d/)
Logs
# View logs in real-time
docker logs -f pmwiki-mcp-server
# Last 50 lines
docker logs --tail 50 pmwiki-mcp-server
Troubleshooting
Server won't start
Check that the wiki directory exists:
ls -la /home/docker/appdata/html/wiki.d
404 error on a page
Use the list_pages tool to see all available pages. The exact PmWiki filename format must be used (e.g., Main.HomePage not Main/HomePage for the file).
SSE connection fails
Check that port 3000 is properly exposed:
docker ps | grep pmwiki-mcp-server
Development
File Structure
pmwiki-mcp/
├── pmwiki_mcp_server.py # MCP server
├── requirements.txt # Python dependencies
├── Dockerfile # Docker image
├── docker-compose.yml # Docker Compose configuration
├── README.md # This documentation (English)
└── README_fr.md # French documentation
Code Modification
After modifying the code:
docker compose up -d --build
License
This project is licensed under the MIT License - see the LICENSE file for details.
Recommended MCP Servers
How it compares
Read-only PmWiki filesystem MCP, not a wiki editor or hosted docs API.
FAQ
Who is io.github.kcofoni/pmwiki-mcp for?
Developers who maintain a PmWiki installation and want MCP agents to query that wiki from the IDE or terminal.
When should I use io.github.kcofoni/pmwiki-mcp?
Use it during Build and docs work when implementing features that must align with internal wiki procedures or architecture pages.
How do I add io.github.kcofoni/pmwiki-mcp to my agent?
Run docker.io/kcofoni/pmwiki-mcp:v1.0.4, mount your wiki.d path read-only, set WIKI_DIR to that path inside the container, and register SSE at http://localhost:3000/sse.