此MCP服务器通过一组工具暴露了Rocq/Coq证明助手的功能,这些工具可以被兼容MCP的客户端(如Claude Desktop)使用。它使用Pytanque与coq-lsp通过Petanque服务器进行通信。
两种通信模式:
pet进程通信。pet-server通信。交互式定理证明:逐步执行战术和命令
全面反馈:访问所有Rocq消息(错误、警告、搜索结果)
状态管理:导航证明状态并比较它们
会话管理:支持多个并发证明会话
抽象语法树解析:获取命令和文件位置的抽象语法树(仅适用于coq-lsp的开发版本)
基于位置的查询:获取文件中特定位置的状态(仅适用于coq-lsp的开发版本)
安装带有Petanque支持的coq-lsp:
# 安装依赖项
opam install lwt logs coq-lsp
# 或者安装coq-lsp的一个开发版本,例如针对Coq.8.20
opam install lwt logs coq.8.20.0
opam pin add coq-lsp https://github.com/ejgallego/coq-lsp.git#v8.20
pip install git+https://github.com/llm4rocq/rocq-mcp.git
我们建议使用uv。
cd rocq-mcp
uv sync
# 默认:标准输入输出模式(直接使用'pet'命令)
rocq-mcp
# 使用TCP模式以支持多客户端使用
rocq-mcp --tcp
# 带有自定义服务器配置的TCP模式
rocq-mcp --tcp --host 127.0.0.1 --port 8833
开发模式(如果使用uv sync):
uv run rocq-mcp
uv run rocq-mcp --tcp
通信模式:
pet进程通信。这种方式更高效且简单,因为它不需要单独的服务器进程。pet-server进程并通过TCP套接字进行通信。在需要多个应用程序连接到同一Petanque实例的多客户端使用场景中使用此模式。运行以下命令以在Claude代码中安装rocq-mcp。
claude mcp add rocq-mcp -- rocq-mcp
注意:如果你正在使用虚拟环境,rocq-mcp可能不会默认出现在路径中。首先激活虚拟环境,并复制由which rocq-mcp返回的路径。然后使用这个绝对路径安装rocq-mcp:
claude mcp add rocq-mcp -- /path/to/rocq-mcp
当你启动一个Claude会话时,你可以通过以下命令检查服务器:
> /mcp
然后,只需向Claude提问即可。
> 帮助我证明test.v中的addnC
# 安装开发依赖项
uv sync --dev
# 运行测试
uv run pytest tests/
服务器连接错误
安装问题
coq-lsp之前安装lwt和logs(pet和pet-server所需)注意:此项目是在Claude的帮助下,基于pytanque的代码构建的。