什么是 io.github.kcofoni/pmwiki-mcp?
用于搜索和读取 PmWiki 页面的 MCP 服务器,支持文本查询以及按 group 过滤结果。
README
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.
常见问题
io.github.kcofoni/pmwiki-mcp 是什么?
用于搜索和读取 PmWiki 页面的 MCP 服务器,支持文本查询以及按 group 过滤结果。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
邮件模板
by alirezarezvani
快速搭建生产可用的事务邮件系统:生成 React Email/MJML 模板,接入 Resend、Postmark、SendGrid 或 AWS SES,并支持本地预览、i18n、暗色模式、反垃圾优化与追踪埋点。
✎ 面向营销与服务场景,快速搭建高质量邮件模板,省去反复设计与切图成本,成熟度和社区认可都很高。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。