使用说明
项目简介
MediaWiki MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,它充当 LLM 客户端与 MediaWiki (如 Wikipedia) API 之间的桥梁。通过此服务器,LLM 客户端可以方便地搜索维基百科页面并检索页面内容,从而为 LLM 应用提供丰富的知识库和上下文信息。
主要功能点
- 搜索维基页面: 允许 LLM 客户端根据关键词在维基百科或其他 MediaWiki 站点上搜索相关页面。支持自定义维基站点的 URL。
- 获取页面内容: 允许 LLM 客户端根据页面标题获取维基百科页面的详细内容。
安装步骤
- 安装 uv: 确保你的设备上已安装 'uv'。 'uv' 是一个快速的 Python 包安装和虚拟环境管理工具。你可以访问 uv GitHub仓库 了解安装方法。
# 示例安装命令 (请参考 uv 官方文档选择适合你系统的安装方式) pip install uv
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接到 MediaWiki MCP Server。以下是两种运行方式的配置示例,你可以根据需要选择:
方式一:直接运行 'mediawiki-mcp-server' (假设已安装并添加到PATH)
这种方式假设你已经将 'mediawiki-mcp-server' 安装到你的系统,并且可以直接在命令行中运行。
{ "mcpServers": { "mediawiki-mcp-server": { "command": "uvx", // 使用 uvx 命令运行,uvx 可以直接运行可执行的 Python 包 "args": [ "mediawiki-mcp-server", // 运行 mediawiki-mcp-server "--base-url", "https://en.wikipedia.org/" // (可选) 设置 MediaWiki API 的基础 URL,默认为英文维基百科 ], "env": { // (可选) 设置环境变量,例如 HTTP 代理 "HTTP_PROXY": "http://example.com:port" } } } }
方式二:从源代码运行
这种方式适用于你从 GitHub 克隆了仓库代码,并希望直接从源代码目录运行服务器。
{ "mcpServers": { "mediawiki-mcp-server": { "command": "uv", // 使用 uv 命令 "args": [ "run", // 运行 Python 代码 "--directory", "mediawiki-mcp-server", // 指定源代码目录,假设 MCP 客户端配置和 mediawiki-mcp-server 仓库在同一父目录下 "path/to/project/src/mediawiki_mcp_server", // 指向 mediawiki_mcp_server 包的入口点,需要替换为实际的路径,例如 "./mediawiki-mcp-server/src/mediawiki_mcp_server" "--base-url", "https://en.wikipedia.org/" // (可选) 设置 MediaWiki API 的基础 URL,默认为英文维基百科 ], "env": { // (可选) 设置环境变量,例如 HTTP 代理 "HTTP_PROXY": "http://example.com:port" } } } }
注意:
- 请将 'path/to/project/src/mediawiki_mcp_server' 替换为 'mediawiki_mcp_server/src/mediawiki_mcp_server' 或你的实际代码路径。
- '--base-url' 参数用于指定 MediaWiki API 的基础 URL。默认使用英文维基百科 (https://en.wikipedia.org/)。你可以根据需要修改为其他维基百科语言版本或支持 MediaWiki API 的其他站点 (如 Fandom, Wiki.gg)。
- 'HTTP_PROXY' 环境变量用于设置 HTTP 代理,如果你的网络环境需要通过代理才能访问维基百科,请配置此项。
基本使用方法
配置完成后,MCP 客户端可以通过 JSON-RPC 协议调用以下工具 (Tools) 来与 MediaWiki MCP Server 交互:
-
Search (搜索)
- 功能: 在维基百科上搜索页面。
- 参数:
- 'query': 搜索关键词 (字符串)。关键词越简短、越聚焦,搜索效果通常越好。
- 'limit': 返回结果的最大数量 (整数,默认为 5)。
- 示例 (JSON-RPC 请求):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "search", "tool_arguments": { "query": "artificial intelligence", "limit": 3 } }, "id": 1 }
-
Get Page (获取页面)
- 功能: 获取指定维基百科页面的详细内容。
- 参数:
- 'title': 维基百科页面的精确标题 (字符串)。页面标题可以从 'search' 工具的返回结果中获取。
- 示例 (JSON-RPC 请求):
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "tool_name": "get_page", "tool_arguments": { "title": "Artificial intelligence" } }, "id": 2 }
注意: MCP 客户端需要根据 MCP 协议规范构造 JSON-RPC 请求,并发送给 MediaWiki MCP Server。服务器会将处理结果以 JSON-RPC 响应的形式返回给客户端。
信息
分类
网页与API