MCP Servers

模型上下文协议服务器、框架、SDK 和模板的综合目录。

OpenMCP-Chain is a decentralized protocol stack bridging blockchain and large models, enabling trusted AI agents with standardized Web3 interactions.

创建于 10/17/2025
更新于 about 2 months ago
Repository documentation and setup instructions

OpenMCP-Chain

OpenMCP-Chain 是一个将区块链基础设施与大模型智能体深度融合的开源协议栈。项目提供可验证的代理执行环境,让 AI Agent 能够安全地调用 Web3 能力,并保留完整的审计与溯源数据。

目录

核心特性

  • Golang + Python 协同:通过内置的 Python Bridge 触发推理脚本,便于在 Go 服务中复用模型能力。
  • Web3 快速接入:内置 JSON-RPC 客户端,可查询链 ID、最新区块高度等指标,并支持 eth_getBalanceeth_getTransactionCount 等读操作。
  • 可追踪任务日志:默认使用本地文件模拟 MySQL 持久化,同时提供真实 MySQL 仓库实现,满足生产环境的数据一致性需求。
  • 上下文记忆驱动的推理:Agent 在推理前自动装载最近的任务历史,把经验注入 Prompt,提升回答连续性。
  • 知识库增强:通过静态知识卡片在推理时补充领域经验,让回复同时参考链上最佳实践与安全提示。
  • 可扩展架构:配置、存储、Agent、API、Web3 等模块均采用接口抽象,支持按需替换实现。

架构与文档

快速入门

环境准备

  1. 安装 Go 1.22+Python 3.9+
  2. (可选)准备可访问的以太坊 JSON-RPC 节点。

构建与运行

# 拉取依赖并编译
go build ./...

# 启动守护进程(默认配置位于 configs/openmcp.json)
OPENMCP_CONFIG=$(pwd)/configs/openmcp.json go run ./cmd/openmcpd

服务启动后将监听 http://127.0.0.1:8080,并在 data/tasks.log 写入执行摘要。

触发一次任务

可直接使用 curl,或运行示例脚本:

# 使用示例脚本提交任务
python examples/task_quickstart.py invoke \
  --goal "查询账户余额" \
  --chain-action eth_getBalance \
  --address 0x0000000000000000000000000000000000000000

# 查看最近的 5 条任务历史
python examples/task_quickstart.py history --limit 5

若未配置真实 RPC 节点,链上数据字段会为空,错误信息会写入 observations

API 速览

当前版本实现以下 REST 接口,详见 docs/api/tasks.md

| Method | Path | 描述 | | --- | --- | --- | | POST | /api/v1/tasks | 提交一次智能体任务,返回推理输出、链上快照与审计信息。 | | GET | /api/v1/tasks | 查询最近的任务执行记录,支持分页与过滤,并返回 total/next_offset 元数据。 | | GET | /api/v1/tasks/{id} | 查询指定任务的详细执行记录。 | | GET | /api/v1/tasks/stats | 汇总任务数量、状态分布与最近更新时间。 |

示例脚本

  • examples/task_quickstart.py:命令行客户端,演示如何调用 REST API 并解析响应。
  • examples/README.md:记录示例依赖与运行方式,便于扩展更多脚本或 Notebook。

欢迎补充新的示例,并在 PR 中引用相关文档章节。

前端控制台

项目提供一个基于 React + Vite 的轻量级前端,帮助快速连调 /api/v1/tasks 接口。源码位于 web/,具备以下能力:

  • 图形化填写任务目标、链上操作、可选地址与 Metadata;
  • 实时轮询任务状态,并展示模型思考、回复与链上观测结果;
  • 内置连接诊断与身份认证面板,可检测 API 连通性并缓存访问令牌;
  • 支持通过 UI 或 VITE_API_BASE_URL 覆盖后端地址,便于连接自定义环境;
  • 自动检测网络离线/恢复状态,提示用户并暂停轮询,防止误操作;
  • 提供任务状态筛选与 JSON 导出,便于排查与归档执行记录。

启动方式:

cd web
npm install
npm run dev

默认会连接本地的 http://127.0.0.1:8080 服务,可结合 OPENMCP_CONFIG=$(pwd)/configs/openmcp.json go run ./cmd/openmcpd 快速体验端到端流程。

常见问题

Q: 需要同时安装 Go 和 Python 吗?
是的。守护进程由 Go 实现,推理逻辑通过 Python Bridge 执行。若缺少 Python,POST /api/v1/tasks 将返回桥接失败错误。

Q: 未连接真实 RPC 节点会怎样?
系统仍会完成推理,但 chain_idblock_number 等字段为空,并在 observations 中提示 RPC 错误。可通过 configs/openmcp.json 修改 RPC 端点。

Q: 如何接入 MySQL?
在配置中将 storage.task_store.driver 设置为 mysql 并提供 dsn,随后以 -tags mysql 运行 openmcpd。示例配置见 configs/openmcp.mysql.json

Q: 文档如何保持最新?
请参考 docs/documentation-review.md 中的校对流程,在 PR 中勾选受影响的文档并安排同伴审阅。

贡献指南

欢迎提交 Issue 或 Pull Request,共同完善区块链与大模型融合的最佳实践。贡献代码时请确保:

  • 通过 go fmtgo test 等基础校验;
  • 为新增模块补充文档或注释;
  • 遵循文档校对流程,在 PR 中注明已更新的章节。

许可协议

项目遵循 MIT License,详情请参阅 LICENSE 文件。

快速设置
此服务器的安装指南

安装命令 (包未发布)

git clone https://github.com/NuyoahCh/OpenMCP-Chain
手动安装: 请查看 README 获取详细的设置说明和所需的其他依赖项。

Cursor 配置 (mcp.json)

{ "mcpServers": { "nuyoahch-openmcp-chain": { "command": "git", "args": [ "clone", "https://github.com/NuyoahCh/OpenMCP-Chain" ] } } }