使用说明

  • 项目简介

    • 这是一个基于 MCP 协议的服务端实现,专门为 MediaWiki 提供上下文服务。通过标准的 JSON-RPC 风格接口,LLM 客户端可以读取/wiki 资源、注册和调用工具、以及获取并渲染提示模板(Prompts),从而实现对 Wiki 内容的搜索、读取、编辑以及自动化工作流。
  • 主要功能点

    • 资源托管与访问:提供 wiki 页面、分类、以及相关内容的直接数据资源,便于 LLM 以结构化方式获取上下文。
    • 工具注册与执行:将大量的 Wiki 操作封装为 MCP Tool,允许 LLM 调用用于搜索、读取、写入等操作的工具。
    • Prompt 模板支持与渲染:整合并渲染用于 LLM 的 Prompts,支持可定制化主题(如 tono、neutral、dark)。
    • 支持多传输协议:既可在 stdin/stdout 模式下直接运行,也可通过 HTTP 暴露服务,方便与 ChatGPT、n8n、Cursor、Claude 等客户端对接。
    • 会话与安全:包含鉴权、CORS、流控、请求限速、Origin 校验、以及对外部依赖的保护(如对代理转发头部的处理、SSRF 防护等)。
    • 监控与追踪:内置 OpenTelemetry(追踪/指标),可与 Prometheus 集成进行观测。
    • MediaWiki API 集成:通过 wiki 客户端与 MediaWiki 实例交互,完成读取、写入、分类、历史、链接、搜索、图片等多种操作。
  • 安装步骤

    • 需要 Go 1.23 及以上版本。
    • 编译:在仓库根目录执行 go build -o mediawiki-mcp-server .
    • 运行方式:
      • stdio 模式(默认,适用于 Claude Desktop、Cursor 等客户端):
        • 事先在环境中配置 MEDIAWIKI_URL 指向你的 Wiki API 地址,例如 https://your-wiki.com/api.php
        • 直接执行二进制即可运行,服务以 MCP 标准格式通过 stdio 与客户端通信。
      • HTTP 模式(适用于 ChatGPT、n8n、Web 客户端等远端访问):
        • 设置 Wiki API URL(环境变量 MEDIAWIKI_URL)和服务器监听地址,例如 -http :8080
        • 如需鉴权,设置 -token 或 MCP_AUTH_TOKEN 环境变量
        • 如需限制跨域来源,使用 -origins 指定允许的来源
        • 启动后,客户端通过 http://你的服务器:8080 进行访问。
  • 服务器配置(MCP 客户端所需,描述为 JSON 配置,非代码块) { "server_name": "mediawiki-context-server", "command": "/path/to/mediawiki-mcp-server", "args": [ "-http", ":8080", "-token", "your-secure-token", "-origins", "https://chat.openai.com,https://n8n.example.com", "-trusted-proxies", "127.0.0.1/32" ], "environment": { "MEDIAWIKI_URL": "https://your-wiki.com/api.php" } /* 注释: - server_name:MCP 服务器在对外暴露给 MCP 客户端时的标识名称。 - command:本 MCP 服务器可执行文件的路径。 - args:运行时参数,包含 HTTP 监听地址、鉴权令牌、允许的跨域来源以及受信任的代理列表。 - environment:需要注入到服务器进程中的环境变量,最关键的是 MEDIAWIKI_URL,指向你的 wiki API 端点。 - MCP 客户端本身不需要额外的代码,配置只用于连接和启动服务端。请用实际的路径/地址替换示例字段。 */ }

  • 基本使用方法

    • 通过 stdio 启动后,向支持 MCP 的客户端提供对资源、工具和 Prompts 的访问能力。
    • 通过 HTTP 启动后,客户端在可公开访问的地址上发起请求,传入 Bearer Token 进行鉴权(若启用)。
    • 常用测试用例:在浏览器/工具中访问 /health、/ready、/tools、/status、/metrics 以确认运行状态与工具可用性。
    • 如遇安全性问题,请参考 README 中的 Security 与 HTTPS 的最佳实践部分。
  • 备注

    • MCP 服务端实现包含了完整的工具注册、资源注册、以及 HTTP/stdio 两种传输模式的实现。此外还包含了对 MediaWiki API 的广泛封装和多种辅助服务(如缓存、审计日志、追踪与指标等),并提供了详细的 Advanced 配置与安全策略。

信息

分类

网页与API