mcpField
I
IRP

IRP

本地服务
github.com科研与教育35 天前更新

关于 IRP

IRP 是供编码 Agent 和研究人员重建计算研究论文的 MCP 服务及命令行工具。它运行实现,并根据可验证的哈希链证据日志生成逐项主张报告;所有操作在本地执行,且不调用模型。

主要功能

  1. 01论文导入与章节提取
  2. 02主张和方法跟踪
  3. 03本地及 Docker 环境
  4. 04记录命令运行和指标
  5. 05基于证据给出主张判定
  6. 06哈希链报告验证

适用场景

  1. 01根据计算论文重建代码
  2. 02将测量结果与论文主张比较
  3. 03追踪方程对应的实现代码行
  4. 04核查复现报告的证据

MCP 相关

IRP 将支持 MCP 的编码 Agent 连接到论文导入、环境、运行、测量和判定工具。安装程序可配置 Claude Code、Codex 和 Cursor;其他 MCP 客户端可手动注册。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"noshadi-sec-irp": {
"command": "uvx",
"args": [
"irp-agents"
]
}
}
}
启动命令uvx irp-agents

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

安装包
pypiirp-agents0.6.0

工具

17

收录的工具列表 · 更新于 6 天前

参数类型必填说明
paperstring是arXiv ID 或 URL(例如 '2501.12345' 或 '2501.12345v2')、直接 PDF URL,或指向 PDF、LaTeX 源目录或 .tar.gz/.zip 源文件包的本地路径。
studystring是研究目录的绝对路径。fetch_paper 会创建该目录;其他所有工具都会读取并追加到其中的证据日志。
parserenum否未使用 LaTeX 时采用的 PDF 文本解析器。'auto' 会在已安装 Docling 时使用它,否则使用 pypdf。auto | pypdf | docling
preferenum否存在 LaTeX 源文件时优先读取(公式更精确),否则读取 PDF。latex | pdf
with_pdfboolean否同时下载 PDF,以便 get_page_image 显示图、表和公式。

详细介绍

English · 简体中文 · 日本語 · 한국어 · Español · Italiano

IRP:复现任意论文,验证每项声明。

一个 MCP 服务和命令行工具,让你的编码 Agent 将研究论文转化为可运行的代码、运行代码,并逐项验证结果与论文的接近程度。

给它一篇论文,就能得到可运行的代码和一份无需信任 Agent 也能核查的报告。

PyPI version MCP tool catalog Python 3.11+ MIT license

快速开始 · IRP 的工作原理 · 报告 · 可复现的内容 · 常见问题 · 文档

uvx irp-agents setup

重要

请从 Noshadi-sec/irp 或 PyPI 上的 irp-agents 软件包获取 IRP。请通过这些官方来源访问安装和发布链接。仓库名称相似或 README 被复制,并不能证明下载来源官方。


IRP 流程:你让 Agent 复现一篇论文;Agent 阅读论文、记录声明、编写代码,并通过 IRP 的工具决定运行方式;IRP 获取论文、运行代码,并在哈希链式证据日志中记录每一步;报告依据该日志编写。




找到一篇没有代码,或者代码不可信的论文?让你的 Agent 使用 IRP 复现它。Agent 阅读论文,记录它声称的每个数字,编写实现、运行代码并比较结果。IRP 负责获取论文、运行代码和记录过程,并拒绝走捷径:手动输入的数字不算数,缩短的运行不算数,报告也只能根据证据日志编写。

IRP 将你的 Agent(Claude Code、Codex 或 Cursor)连接到用于论文导入、环境、运行、测量和判定的工具。你也可以在终端使用相同的工具。所有操作都在本地运行;IRP 从不调用模型,数据只会发送到你指定的位置。

快速开始

配置 Agent

安装 uv 后,运行:

uvx irp-agents setup

选择要配置的 Agent,检查拟议的更改并批准。设置过程会添加 IRP 的 MCP 服务及其工作流技能,并备份现有配置。之后重启 Agent。

设置支持 Claude Code、Codex 和 Cursor。其他 MCP 客户端可以使用手动注册。

向 Agent 提出要求
Build arXiv 2501.12345 and check Table 2.

你将获得一个包含可运行代码的文件夹和一份报告,其中列出每项声明、论文中的数值、你的数值以及判定结果。

使用终端

每个工具也都有对应的命令。将论文获取到一个新研究项目中,并查看其大纲:

irp fetch 2501.12345 --study ~/studies/example
irp section index --study ~/studies/example

如需安装 irp 命令以便日常使用:

uv tool install irp-agents
irp --help

完整的终端工作流请参见 CLI 指南。

检查就绪状态
irp doctor

Doctor 会检查 Python、uv、git、Docker、GPU、磁盘空间以及 Agent 注册情况,不会进行任何更改。

更新 IRP

IRP 更新频繁。对于已安装的命令:

irp update

如果使用 uvx,请运行 uvx irp-agents@latest setup 刷新 Agent 设置,检查计划并重启 Agent。

IRP 的工作方式

Agent 思考,IRP 执行操作并保留凭据。Agent 阅读论文、编写代码并决定运行什么。每项操作都经过同一个核心,因此 CLI 和 MCP 服务的行为一致,而且每个步骤都会写入仅追加、经哈希链连接的证据日志。报告完全根据该日志生成。

阶段工具功能
采集fetch_paper下载 arXiv LaTeX 源文件或 PDF,为其计算哈希,并将其拆分为各个章节
采集get_section、get_page_image返回某一章节的文本(含文件名和行号),或返回某一页的图像以查看公式和图表
声明add_claim、list_claims记录每项声明:指标、数值、出现位置以及成功标准
计划add_guess记录缺失的细节、所做的选择及原因
计划map_method将公式或算法步骤关联到文件及行号
构建create_env创建 uv 环境或 Docker 镜像,并写入锁定文件
运行run、run_status运行一条命令;保存输出、退出代码、耗时、内存、随机种子、提交版本和文件
运行run_remote在付费 GPU 提供商上执行相同操作,但须先估算费用并获得批准
测量extract_metrics从日志和结果文件中提取数值,并记录文件名和行号
判定compare、add_note并列展示声明和测量结果,并给出四种判定之一
报告report、verify、study_status根据日志生成 report.md 和 report.json;重新检查哈希链

工作流技能为 Agent 设定了六条硬性规则,工具也会在可行范围内强制执行这些规则:

  1. 绝不手动输入、估算或复制任何数值作为结果。
  2. 绝不更改论文的方法来让运行成功;遇到这种情况应记录猜测。
  3. 如果无法运行,应报告“无法运行”及阻塞错误,而不是强行继续。
  4. 首先运行最小但忠实于原文的版本;缩短运行不计入结果。
  5. 编写任何代码之前,先记录所有声明。
  6. 任何付费计算都必须先征求同意。

报告

报告就是交付成果:任何人都必须能够在不信任 Agent 的情况下核查每项判定。报告包含五个部分:声明表、四种判定(已复现、接近复现、未复现、无法运行)、猜测列表、将公式映射到代码行的方法映射,以及来源信息(arXiv ID 和版本、文件哈希、git 提交版本、锁定文件、GPU、随机种子、每条命令及其退出代码,以及用于重新检查哈希链的 verify 命令)。

每项声明都有证据支持的判定后,Agent 才能完成任务。

report.md 示例(数字为虚构):

# Reproduction report: Example Paper (arXiv 2501.12345v2)

Result: 2 reproduced, 1 close, 1 could not run (of 4 claims)

| Claim | Where | Paper | Ours | Verdict |
| --- | --- | --- | --- | --- |
| c1 Test accuracy | Table 2, row 3 | 94.1% | 93.8% (3 seeds, std 0.2) | close |
| c2 Training loss | Figure 4 | 0.31 | 0.31 (3 seeds) | reproduced |
| c3 Speed-up | Section 5.2 | 2.0x | 2.1x | reproduced |
| c4 ImageNet top-1 | Table 3 | 81.2% | not run: needs 8 GPUs for 2 days | could not run |

## Guesses
- g1 Warmup length not stated: used 5 epochs. Why: as in cited paper [12].

## Method map
- Eq. 3 (loss) -> code/src/loss.py:41
- Algorithm 1, line 4 -> code/src/train.py:88

## Provenance
- Paper: arXiv 2501.12345v2, source and PDF hashes
- Code: git commit 3f2a9c1 (clean)
- Commands logged: 37, 37 with an exit code
- Evidence log: 112 records, head sha256:…, verified
- Verify: `irp verify --study ~/studies/example`

每个字段的说明请参阅证据和报告。

你可以复现什么

IRP 要求在 macOS 或 Linux 上使用 Python 3.11+。具体所需的其他工具取决于论文:

需求IRP 使用的工具要求和指南
论文采集优先使用 arXiv LaTeX 源文件,PDF 作为备用;数学公式和图表使用页面图像可访问 arXiv 网络;论文采集
更好的 PDF 结构使用 Docling 处理文本和表格可选的 irp-agents[docling];论文采集
环境使用带锁定文件的 uv 虚拟环境,或使用 Docker 镜像进行隔离uv 或 Docker;环境
计算使用你的 CPU 或 GPU;估算费用并获得批准后,可使用 Modal GPU 沙盒(实验性)可选的 irp-agents[modal];计算
AgentClaude Code、Codex、Cursor;也可手动使用任何 MCP 客户端安装

IRP 支持计算类论文,包括机器学习、算法和模拟。不支持湿实验室工作或任何与武器相关的内容。

基准测试

五篇轻量论文——均有官方代码,每篇都能在 CPU 上几分钟内运行完——仅依据论文重建,并逐条核查其声明。每个数字都来自经过验证的证据日志;使用 irp verify --study benchmarks/studies/<name> 重新核查任意研究。

论文声明数结果
Fashion-MNIST (1708.07747)31 项复现,1 项接近,1 项未复现
KMNIST (1812.01718)2两项均已复现
MNIST-1D (2011.14439)1已复现
fastText (1607.01759)1已复现(92.86% vs 92.5%)
QMNIST (1905.10498)1已复现(2.95% vs 2.95%)

在 8 项声明中:6 项已复现,1 项接近,1 项未复现(87.5% 已复现或接近);每篇论文约耗时 160s,付费计算成本为 $0。筛选标准和完整列表见 benchmarks/golden/papers.json;协议和 summarize.py 位于 benchmarks/。

如果你使用 IRP 重建论文,欢迎在 问题 中分享报告,并附上论文、你的问题以及发现。

常见问题

哪些 Agent 可以使用 IRP?

任何支持本地 MCP 服务的 Agent 都可以使用。设置过程会配置 Claude Code、Codex 和 Cursor;其他客户端可以使用手动注册。

IRP 会调用 AI 模型或上传我的论文吗?

不会。你的 Agent 才是核心;IRP 从不调用模型,也不需要 API 密钥。 它会从 arXiv 下载论文,通过 uv 或 Docker 安装软件包,并在你的计算机上运行代码。你的 Agent 会收到工具结果,而其模型提供商有自己的数据政策。

运行论文代码安全吗?

运行代码就是运行代码。uv 虚拟环境并非沙盒:代码会以你的权限运行。对于你未编写或不信任的代码,请使用 create_env 和 backend: "docker";运行时只会挂载该研究的代码目录。参见安全。

“未复现”是什么意思?

这表示本次运行使用记录的尝试参数,未能在规定的标准范围内达到论文报告的数值。报告会写明“本次运行未复现”,并列出每次尝试的参数。这是关于一次尝试的证据,并非对论文的定论;发布之前请联系作者。

论文有官方代码。我应该使用 IRP 吗?

IRP 会根据论文补全缺失的代码。如果要检查现有代码能否复现其 README 中的数值,paper-repro 之类的工具更合适。IRP 仍可用于测试论文:先隐藏其代码,完成重建后再与原代码比较。

IRP 会产生费用吗?

只有在付费 GPU 服务提供商上才会产生费用;而且必须先在终端通过 irp budget 记录价格和预算,并在批准 Agent 显示的估算费用后才会运行。运行时限等于估算时长。

遇到错误时该怎么办?

请先更新;较新的版本可能已经修复问题(运行 irp update,或 uvx irp-agents@latest setup)。如果问题仍然存在,请提交问题,并附上 IRP 版本、irp doctor --json 的输出、复现步骤和错误信息。

## 文档

通过 SECURITY.md 报告漏洞。

免责声明

请参阅 DISCLAIMER.md 了解负责任使用指南。IRP 用于合法研究、教育以及对已发表计算工作的验证。“未复现”的判定是关于一次运行的证据,并非对论文或其作者的评价。

贡献

欢迎贡献。提交问题 以报告错误或建议功能,或 提交拉取请求。

请参阅 CONTRIBUTING.md 了解开发环境设置和检查, 参阅测试了解验证流程,并参阅 架构图了解项目结构。

许可证

MIT

由 IRP 编写的代码采用 MIT 许可证。第三方材料保留其 各自的许可证和声明;请参阅第三方声明。 论文和数据集保留其作者的许可证;IRP 不会重新分发 这些内容。

评论

支持 Markdown

第一次接触 MCP?

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

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