mcp oi wiki

Local 2025-09-01 01:00:49 0

Enhances large language models with competitive programming knowledge by leveraging OI-Wiki content through vector search, allowing models to retrieve relevant algorithms and techniques.


让大模型拥有 OI-Wiki 的加成!

乘法逆元搜索结果

How does it work?

使用 Deepseek-V3 对 OI-wiki 当前的 462 个页面做摘要,将摘要嵌入为语义向量,建立向量数据库。

查询时,找到数据库中最接近的向量,返回对应的 wiki markdown。

Usage

确保你拥有 uv

首先,下载本仓库:

cd <path of MCP servers>
git clone --recurse-submodules https://github.com/ShwStone/mcp-oi-wiki.git

然后打开你的 MCP 配置文件(mcpo 或 claude):

{
  "mcpServers": {
    "oi-wiki": {
      "command": "uv",
      "args": [
        "--directory",
        "<path of MCP servers>/mcp-oi-wiki",
        "run",
        "python",
        "main.py"
      ]
    }
  }
}

Update

可以生成自己的 db/oi-wiki.db

将 Silicon flow API key 放在 api.key 文件中。

然后运行:

uv run script/request.py

批量推理页面下载摘要结果到 result.jsonl

最后运行:

uv run script/gendb.py

生成新的 db/oi-wiki.db

Thanks

[
  {
    "description": "nOI Wiki 致力于成为一个免费开放且持续更新的编程竞赛知识整合站点,大家可以在这里获取与竞赛相关的、有趣又实用的知识。本工具能够在 OI-wiki 中搜索相关的知识点。nnquery 应该比较详细,与要实现的算法/目标相关。比如:“求一个图的最小生成树”,“维护区间加/区间求和”nn@ param query 描述要实现的需求n",
    "inputSchema": {
      "properties": {
        "query": {
          "title": "Query",
          "type": "string"
        }
      },
      "required": [
        "query"
      ],
      "title": "searchArguments",
      "type": "object"
    },
    "name": "search"
  }
]