使用说明
项目简介
Wikidata MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,专注于提供对 Wikidata 知识库的访问能力。它通过 MCP 协议将 Wikidata 的数据和查询功能以标准化的方式暴露给 LLM 客户端,使得 LLM 可以方便地利用 Wikidata 的海量知识进行知识检索、问答、推理等任务。
主要功能点
- 实体和属性搜索: 允许 LLM 通过关键词搜索 Wikidata 中的实体 (事物、概念等) 和属性 (实体之间的关系)。
- 元数据获取: 提供获取 Wikidata 实体标签 (Label) 和描述 (Description) 的功能,支持多语言。
- SPARQL 查询: 支持执行 SPARQL 查询语句,让 LLM 能够进行更复杂的 Wikidata 数据检索和分析。
- MCP 协议标准: 完全遵循 MCP 协议,保证与任何兼容 MCP 协议的 LLM 客户端互操作。
安装步骤
-
安装 uv: 如果你的系统中还没有安装 'uv',请先安装它。'uv' 是一个快速的 Python 包安装和管理工具,类似于 'pip' 和 'venv' 的结合。
curl -LsSf https://astral.sh/uv/install.sh | sh -
克隆仓库: 将 'mcp-wikidata' 仓库克隆到本地。
git clone https://github.com/zzaebok/mcp-wikidata.git cd mcp-wikidata -
安装依赖: 使用 'uv sync' 命令安装项目所需的 Python 依赖包。
uv sync # 如果你想同时运行客户端示例,可以加上 --extra example 参数 # uv sync --extra example
服务器配置
MCP 客户端需要配置以下信息才能连接到 Wikidata MCP Server。这些配置通常以 JSON 格式提供给客户端,例如 Langchain-MCP-adapters。
{ "server_name": "Wikidata MCP Server", // MCP 服务器的名称,用于标识和区分不同的服务器 "command": "uv", // 启动服务器的命令,这里使用 uv 运行 Python 脚本 "args": ["run", "src/server.py"] // 启动命令的参数,指定 uv 运行 src 目录下的 server.py 文件 }
配置参数说明:
- '"server_name"': 服务器的名称,可以自定义,用于在客户端识别服务器。
- '"command"': 启动服务器的命令。 这里 'uv' 假设 'uv' 命令在系统 PATH 环境变量中。如果不在,需要使用 'uv' 的完整路径。
- '"args"': 命令的参数列表。
- '"run"': 'uv' 命令的子命令,用于运行 Python 脚本。
- '"src/server.py"': 要运行的 Python 服务器脚本的路径。 请确保路径相对于客户端的运行环境是正确的。
基本使用方法
-
启动服务器: 在仓库根目录下,运行以下命令启动 Wikidata MCP Server。
uv run src/server.py服务器将会在后台运行,并等待客户端连接。
-
运行客户端: 在另一个终端窗口中,运行客户端示例代码 (如果安装了 'example' 依赖)。客户端代码 'src/client.py' 演示了如何使用 'langchain-mcp-adapters' 连接到 MCP 服务器,并调用服务器提供的工具。
uv run src/client.py客户端示例代码会向 LLM 提出一个关于电影导演的问题,LLM 将利用 Wikidata MCP Server 提供的工具搜索 Wikidata,并给出答案。
注意: 客户端示例 'src/client.py' 中 'os.environ["OPENAI_API_KEY"] = "your-api-key"' 需要替换成你自己的 OpenAI API Key 才能正常运行 Langchain 相关的代码。
通过以上步骤,你就可以成功搭建并运行 Wikidata MCP Server,并使用兼容 MCP 协议的客户端 (如 'langchain-mcp-adapters') 来利用 Wikidata 的知识。
信息
分类
网页与API