项目简介:
这是一个后端服务,让支持 MCP 协议的大语言模型能够访问和搜索 OI-Wiki 网站上的编程竞赛知识。它将 OI-Wiki 内容预处理并存入一个可搜索的数据库,当大模型需要相关信息时,通过调用此服务提供的工具来获取。
主要功能点:
- 搜索 OI-Wiki 内容: 根据大模型的查询,在 OI-Wiki 知识库中查找相关的文章内容。
- 智能匹配: 利用先进的文本分析技术,找到与查询语义最相关的 OI-Wiki 页面。
- 作为大模型工具使用: 将搜索能力封装为一个大模型可以直接调用的工具。
安装步骤:
-
确保已安装 'uv' 包管理器。
-
选择一个目录存放 MCP 服务器代码,例如命名为 'mcp_servers'。
-
在该目录中打开终端,执行以下命令下载项目代码和 OI-Wiki 内容:
cd <path of your mcp_servers directory> git clone --recurse-submodules https://github.com/ShwStone/mcp-oi-wiki.git -
(可选,用于更新知识库)如果你想使用自定义的 OI-Wiki 版本或更新内容:
- 在 'mcp-oi-wiki' 目录下创建 'api.key' 文件,将你的 Siliconflow API 密钥粘贴进去。
- 运行 'uv run script/request.py' 生成摘要请求文件。
- 访问 Siliconflow 平台完成批量处理(使用 DeepSeek-V3 模型),下载结果文件 'result.jsonl' 到 'mcp-oi-wiki' 目录。
- 运行 'uv run script/gendb.py' 生成新的知识库文件。
服务器配置:
本服务器通过标准输入/输出 (Stdio) 与 MCP 客户端通信。你需要编辑你的 MCP 客户端配置文件(通常是一个 JSON 文件),添加关于 'oi-wiki' 服务器的启动信息。以下是配置示例:
{ // ... 你的其他客户端配置 ... "mcpServers": { "oi-wiki": { // 服务器在客户端中的唯一名称 "command": "uv", // 用于启动服务器进程的命令 "args": [ // 传递给启动命令的参数列表 "--directory", "<path of your mcp_servers directory>/mcp-oi-wiki", // 设置工作目录到项目根目录 "run", "python", "main.py" // 启动服务器主程序 ] } // ... 其他 MCP 服务器配置 ... } }
基本使用方法:
保存客户端配置文件并重新启动 MCP 客户端。客户端连接成功后,你的大模型就可以通过调用一个名为 'search' 的工具来查询 OI-Wiki 了。调用时,提供一个 'query' 参数(一个字符串),描述你想查找的算法、数据结构或相关概念。服务器会返回匹配到的 OI-Wiki 文章原文,大模型可以使用这些信息来回答你的问题或提供更详细的解释。
信息
分类
AI与计算