mcpField
A
Arquimedes

Arquimedes

本地服务
richer-richard.github.io科研与教育11 周前更新

关于 Arquimedes

Arquimedes 是面向数学研究、教学和模型训练的竞赛与基准题库,汇集多个数据集并统一题目、难度和解答格式。提供本地 CLI 与 MCP 服务,可按条件搜索、抽样和读取题目。

主要功能

  1. 01聚合 9 个数学数据集
  2. 02统一 LaTeX 题目与难度
  3. 03提供题目解答和推理轨迹
  4. 04按类别与难度全文搜索
  5. 05导出去污染训练与评测集

适用场景

  1. 01查找特定主题或难度的竞赛题
  2. 02随机抽取符合条件的练习题
  3. 03为模型训练与评测导出数据集

MCP 相关

MCP 服务提供只读工具,用于查看数据集统计、搜索和抽样题目,以及按 ID 获取题目、答案、提示、解答和可选推理轨迹。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"richer-richard-arquimedes": {
"command": "uvx",
"args": [
"arquimedes-mcp"
]
}
}
}
启动命令uvx arquimedes-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiarquimedes-mcp1.1.0

工具

4

收录的工具列表 · 更新于 1 周前

此工具无需参数。

详细介绍

Arquimedes — 竞赛与奥林匹克数学开放数据库

Arquimedes:数学题目数据库

已收录于 mcpservers.org Glama 评分 CI 发布 代码许可证:MIT

结构化、去重的竞赛与基准数学数据库: 包含 9 个数据集中的 1,038,963 道题目,每道题均有标准化的 LaTeX 题面、 经过校准的莫氏难度(1.0 至 10.0)、答案元数据,以及采用统一 JSON 架构(v2)的解答。

  • 1,038,963 道题目,包含完整题面,99.98% 已分类领域
  • 797,671 份书面解答:证明概要(797,631)、策略(22)、仅答案(18)
  • 277,002 条模型推理轨迹(deepmath 数据集,JSONL 分片)
  • 1,219 张图表(SVG 和 JPG),以哈希作为内容地址
  • 统一的莫氏难度(1.0–10.0),已填充至全部 1,038,963 条记录
  • 快速 CLI 和 MCP 服务:可通过 uv 安装(arquimedes CLI 和 arquimedes-mcp 服务)
  • 去污染的训练/评估划分:一条命令即可导出(972,458 道去污染训练题 / 10,533 道标准评估题)
  • 交互式网页浏览器:简洁的浏览器目录,位于 site/,可直接用于 GitHub Pages

数据集

数据集内容题目数量特色字段
numinaNuminaMath 题目,规模最大的数据集840,924每道题的来源标签,莫氏难度 1.0–9.5
deepmath带有 R1 推理轨迹的 DeepMath 题目92,334每道题包含三条模型推理轨迹,难度评级 1–10
bigmath答案已验证的 Big-Math-RL-Verified 题目77,527Llama-8B 解题率难度说明,分层领域标签
mathMATH 基准题目12,401难度等级 1 至 5,训练/测试划分标签
core精选竞赛题目(AMC 项目、IMO、HMMT 等)10,645概念标签、课程/来源难度评级、递进提示、解题时间
omnimathOmni-MATH 奥林匹克题目2,640难度评级 1 至 9.5,竞赛来源标签
olympiadbenchOlympiadBench 奥林匹克题目1,389图表(JPG)、答案类型标签
cemcCEMC 选择题竞赛(Gauss、Pascal、Cayley、Fermat)792每道题有五个选项,参考 URL
aops附有社区编写解答的竞赛题目311每条记录包含题集、年份和题目代码

分类分布

分类题目数量占比
algebra386,69937.22%
geometry243,23123.41%
arithmetic183,93017.70%
number-theory129,48212.46%
probability38,8093.74%
combinatorics35,4933.42%
logic-foundations19,9351.92%
problem-solving-techniques1,2250.12%
uncategorized1590.02%

各数据集的分类明细和字段说明:docs/datasets.md。

竞赛覆盖范围

source.collection 字段用于标记来自特定竞赛或基准测试的记录:

  • AMC 项目(core):AHSME 1,810 · AMC 8 1,025 · AMC 10A 625 · AMC 10B 625 · AMC 10 50 · AMC 12A 625 · AMC 12B 625 · AMC 12 50 · AIME I 405 · AIME II 405 · AIME 255 · USAMO 153 · USA TST 45 · USA TSTST 48
  • IMO(core):156
  • HMMT(core):February 2,606 · November 1,072 · Invitational 65
  • CEMC(cemc):Gauss(7 年级)174 · Gauss(8 年级)166 · Pascal(9 年级)134 · Cayley(10 年级)150 · Fermat(11 年级)168
  • AoPS(aops):IMO Shortlist 102 · USAJMO 91 · Canadian MO 83 · APMO 28 · Putnam 7
  • OlympiadBench(olympiadbench):1,389
  • MATH(math):12,401

omnimath、deepmath、numina 和 bigmath 中的记录会在 source.tags 中标注来源和领域。

CLI 与 MCP 服务(uv)

arquimedes 提供一个零依赖 Python 包,其中包含快速 CLI(arquimedes)和 Model Context Protocol 服务(arquimedes-mcp),后者基于 SQLite + FTS5;若 SQLite 不可用,则会自动回退到 JSONL 分片。

从 PyPI 安装

包名为 arquimedes-mcp。它不包含题目。请从 Hugging Face 数据集下载题目一次(分片约 1.3 GB,随后下载一个约 0.8 GB 的精简索引):

uvx arquimedes-mcp fetch

该副本位于用户数据目录中(macOS 上为 ~/Library/Application Support/arquimedes),因此下次运行 uvx 时即可找到它。

{
  "mcpServers": {
    "arquimedes": {
      "command": "uvx",
      "args": ["arquimedes-mcp"]
    }
  }
}
uvx --from arquimedes-mcp arquimedes stats
uvx --from arquimedes-mcp arquimedes search "Cauchy-Schwarz" --min-mohs 7.0 -n 5
从代码检出目录运行
# Build the local 1.7 GB SQLite + FTS5 database (~50 seconds)
uv run arquimedes build
# or a 0.8 GB index that reads solutions from the shards
uv run arquimedes build --lean

# Show corpus summary
uv run arquimedes stats

# Sub-20ms full-text search across 1,038,963 problems
uv run arquimedes search "Cauchy-Schwarz" --min-mohs 7.0 -n 5

# Sample calibrated problems by competition, category, or Mohs difficulty
uv run arquimedes sample --competition IMO --category geometry -n 3

# Inspect a full problem record with choices, answer, hints, and proof
uv run arquimedes show prob.ahsme-1950-p10
从代码检出目录运行 MCP 服务

当分片已位于代码检出目录中时,将以下内容添加到 mcp.json 或 claude_desktop_config.json:

{
  "mcpServers": {
    "arquimedes": {
      "command": "uv",
      "args": ["--directory", "/path/to/arquimedes", "run", "arquimedes-mcp"]
    }
  }
}

公开的 MCP 工具(均为只读;参数见 docs/usage.md):

  • arquimedes_get_stats:数据集、类别、竞赛和解答数量
  • arquimedes_search_problems:全文搜索,支持类别、数据集、竞赛以及 min_mohs/max_mohs 筛选条件
  • arquimedes_sample_problems:从符合筛选条件的题目中均匀随机抽取;使用种子可重复抽取
  • arquimedes_get_problem:按 ID 获取完整的 LaTeX 题目、选项、答案、提示、解答,以及可选的 deepmath 推理轨迹

稳定性(1.x)

从 1.0.0 版本起,在发布 2.0.0 之前,这些接口只会以向后兼容的方式变更:

  • docs/schema.md 中的 v2 题目记录架构:不会移除或重命名字段,也不会更改字段类型
  • MCP 工具名称、参数及结果结构
  • arquimedes CLI 命令和标志,以及其 --json 输出
  • arquimedes build 构建的 SQLite 表和列
  • ArquimedesEngine 的 get_stats、search、sample 和 get_problem 方法

次要版本和补丁版本可能会加入新字段、新工具和新标志,也可能修正数据。对个别记录的更正(例如答案错误、类别标签错误)属于数据修正,不属于破坏性变更。随着记录得到修正,数量和 difficulty.mohs 值可能会变化;mohs 是一种校准值,并非测得的难度。变更记录见 CHANGELOG.md。

去污染的训练集/评估集划分

对于大模型后训练和 RLVR(可验证奖励强化学习),tools/export_splits.py(或 uv run arquimedes splits)会生成去污染的训练集和规范评估基准:

uv run arquimedes splits --out-dir splits/
  • 评估集(splits/eval.jsonl.gz — 10,533 道题):math 测试集(4,974)、omnimath(2,640)、olympiadbench(1,389)、core 2023 年及之后的竞赛(931)、aops(311)以及 cemc 2023 年及之后的竞赛(288)。
  • 去污染的训练集(splits/train.jsonl.gz — 972,458 道题):过滤掉 46,057 条无法验证的记录,并移除通过 5-gram token 分片重叠检测出的 9,915 条与基准测试近似重复的数据泄漏记录;检测范围涵盖 numina、bigmath、core、math、deepmath 和 cemc。

快速入门(Python 和 SQLite)

使用 Python 标准库直接从分片中读取一道题目:

import gzip, json

with gzip.open("problems/core/shard-00000.jsonl.gz", "rt", encoding="utf-8") as fh:
    prob = json.loads(fh.readline())

print(prob["title"], "Mohs:", prob["difficulty"]["mohs"])
print(prob["statement"])               # raw LaTeX with \( \) delimiters
print(prob["answer"])                  # {'letter': 'd', 'value': '3+\\sqrt6'}
print(prob["solutions"][0]["text"][:200])

直接查询 SQLite + FTS5:

SELECT p.id, p.title, p.difficulty_mohs, p.answer_value
FROM problems_fts f
JOIN problems p ON p.rowid = f.rowid
WHERE problems_fts MATCH '"pigeonhole"'
  AND p.difficulty_mohs BETWEEN 5.0 AND 8.5
LIMIT 10;

目录结构

problems/<dataset>/shard-*.jsonl.gz   gzipped JSON Lines, one v2 problem record per line
images/<hash>.svg, images/<hash>.jpg  1,219 content-addressed diagram files
data/index.json                       summary index (counts by dataset, category, competition)
data/problems.sqlite                  queryable SQLite + FTS5 database (build locally)
arquimedes/                           uv-installable CLI and MCP server package
site/                                 minimalistic interactive web explorer (GitHub Pages)
tools/                                converters, shard normalizer, split exporter, DB builder
docs/                                 schema, usage, and dataset documentation

文档

  • docs/schema.md:完整的 v2 记录参考、分片格式、SQLite + FTS5 架构、LaTeX 约定和图像存储
  • docs/usage.md:CLI、MCP 服务、SQL 和 FTS5 查询、推理轨迹、去污染数据集划分
  • docs/datasets.md:各数据集的内容、字段说明、类别分布、去重规则和上游许可证

许可证

arquimedes/、tools/ 和 site/ 中的代码采用 MIT 许可证。Mohs 校准、此项目分配的类别标签以及 data/index.json 采用 CC BY 4.0 许可证。题目陈述、解答、答案和示意图不重新授权;上游条款见 docs/datasets.md。Hugging Face 副本保留每条记录,并在其中标注权利持有方声明:richard01172000/arquimedes。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。