关于 Chord
Chord 是面向 EVM 链和 Solana 的非托管交易 API 与 AI Agent,提供兑换和链上数据查询。其托管 MCP 服务无需密钥,可查询报价、未签名交易、市场和钱包数据。
主要功能
- 01跨 DEX 兑换报价
- 02未签名兑换交易
- 03代币与交易查询
- 04钱包盈亏及 LP 数据
- 05聪明钱与持有者数据
适用场景
- 01比较代币兑换路线
- 02准备由钱包签名的兑换交易
- 03查看钱包交易和盈亏
- 04检查持有者及流动性头寸
MCP 相关
托管 MCP 服务提供 17 种工具,涵盖链状态、代币和市场数据、钱包、流动性、报价及兑换交易。兑换交易以未签名形式返回;服务不会签名或发送交易。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.getchord.xyz/v1/mcpclaude mcp add --transport http getchordlabs-chord https://api.getchord.xyz/v1/mcp{"mcpServers":{"getchordlabs-chord":{"type":"http","url":"https://api.getchord.xyz/v1/mcp"}}}在 Cursor 中打开{"servers":{"getchordlabs-chord":{"type":"http","url":"https://api.getchord.xyz/v1/mcp"}}}在 VS Code 中打开{"mcpServers":{"getchordlabs-chord":{"type":"http","url":"https://api.getchord.xyz/v1/mcp"}}}{"mcpServers":{"getchordlabs-chord":{"serverUrl":"https://api.getchord.xyz/v1/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
17此工具无需参数。
详细介绍
Chord
非托管交易 API 和 AI Agent。一次报价调用即可在八条 EVM 链(Ethereum、Monad、Robinhood Chain、Arc、Avalanche、Base、BNB Chain 和 Arbitrum One)的 DEX 中找到最佳路径,并由一个路由器合约在单笔交易中执行。在 Solana 上,Chord 通过自有的 Solana 路由器和 Jupiter 为兑换报价,并返回供用户钱包使用的未签名交易。除了交易功能,Chord 还在全部九条链上维护实时索引,涵盖兑换、持有者、LP 仓位和钱包 PnL,应用和 AI Agent 均可查询。
- 应用(Ask,AI 交易 Agent + 钱包):https://getchord.xyz/ask
- 文档和 API 参考:https://getchord.xyz/docs
- API:https://api.getchord.xyz/v1(各链提供的内容:https://api.getchord.xyz/v1/chains)
- 状态,每分钟通过 Cloudflare 测量一次:https://getchord.xyz/status
- 托管的 MCP 服务:
https://api.getchord.xyz/v1/mcp
Chord 最初名为 NullTerminal,是 Monad 上的 DEX 聚合器。以 Null 开头的合约和软件包名称源自那个时期;contracts/src/chord/ 中的 Chord* 合约是同一代码的当前构建版本。
在 AI Agent 中使用
托管的 MCP 服务无需密钥,也无需安装(Streamable HTTP)。?chain=<key> 用于固定默认链。
claude mcp add --transport http chord https://api.getchord.xyz/v1/mcp
gemini extensions install https://github.com/getchordlabs/chord # Gemini CLI, reads gemini-extension.json
17 个工具,各自都接受一个 chain:chord_chains、chord_status、chord_overview、chord_tokens、chord_search、chord_token、chord_trades、chord_candles、chord_wallet、chord_wallet_trades、chord_smart_money、chord_holders、chord_lp_pools、chord_lp_positions、chord_quote、chord_swap_tx 和 chord_ask。不会签名或发送任何内容:chord_swap_tx 会返回未签名交易、所需的授权以及以交易者身份运行的模拟结果。
已在官方 MCP Registry 中登记为 io.github.getchordlabs/chord(本仓库中的 server.json),也已在 Smithery 登记为 tuantqse90/chord。其他接入方式:带有 OpenAPI 规范(openapi/)的 REST API、Agent Skill(skills/chord/)、Docs MCP(https://getchord.xyz/docs/mcp)以及函数调用清单(https://api.getchord.xyz/v1/mcp/tools.json)。
链
| 链 | Chain id | 兑换(报价 + 未签名交易) | 数据 |
|---|---|---|---|
| Ethereum | 1 | 是 | 代币、交易、蜡烛图、钱包 PnL |
| Monad | 143 | 是 | 代币、交易、蜡烛图、钱包 PnL、聪明钱、LP |
| Robinhood Chain | 4663 | 是 | 代币、交易、蜡烛图、钱包 PnL、聪明钱、持有者、LP |
| Arc | 5042 | 是 | 代币、交易、蜡烛图、钱包 PnL、聪明钱、持有者、LP |
| Avalanche C-Chain | 43114 | 是 | 代币、交易、蜡烛图、钱包 PnL |
| Base | 8453 | 是 | 代币、交易、蜡烛图、钱包 PnL |
| BNB Chain | 56 | 是 | 代币、交易、蜡烛图、钱包 PnL |
| Arbitrum One | 42161 | 是 | 代币、交易、蜡烛图、钱包 PnL |
| Solana | 无 | 是,通过 /v1/sol/trade/*(目前尚未纳入 MCP 工具) | 代币、交易、蜡烛图、钱包 PnL、聪明交易者、LP |
GET /v1/chains 会返回同一张表,并列出每项功能背后的路由(Solana 兑换位于 /v1/sol/trade/*,不在该表所列的路由中)。
此仓库包含的内容
| 文件夹 | 内容 |
|---|---|
contracts/ | Foundry 项目:ChordRouter(UUPS)、AdapterRegistry、FeeCollector、每种交易场所系列对应一个适配器(Uniswap V2/V3/V4、Algebra 和 Algebra Integral、Solidly、Liquidity Book、PancakeSwap Infinity、Metric、WOOFi、DODO V2、ERC-4626 存款、Curve、Balancer 等)、用于在 Robinhood Chain 上跨链买入的 RhStockZap / RhTokenZap、SwapAndBridgeCCTP、部署脚本和各链分叉测试 |
agent/ | chord-agent:连接托管 MCP 服务的 stdio 桥接程序,供仅支持 stdio 的客户端使用;以及函数调用清单(tools.json) |
skills/chord/ | 供 Claude Code、Codex 和其他 Agent 使用的 Agent Skill:SKILL.md、包含实时 API 输出的参考资料、chord.py 客户端 |
docs-mcp/ | 文档 MCP 服务(stdio,以及托管于 https://getchord.xyz/docs/mcp) |
openapi/ | 公共 API 的 OpenAPI 规范(openapi.json)及其构建脚本 |
sdk/ | Monad 时期的原始 TypeScript SDK |
路由引擎(Rust)和 API 服务端(TypeScript)不在此仓库中。它们运行在
api.getchord.xyz 后端。
合约
这三个代理合约在全部八条 EVM 链上的地址相同(部署者 nonce 对齐):
| 合约 | 地址 |
|---|---|
| ChordRouter(UUPS 代理) | 0x1b1fee89a381e595fe6536b99ba91f3e16e9601a |
| AdapterRegistry(UUPS 代理) | 0x6cf25d2af1a58d7094b0ac253ae616a8e1f2ea3f |
| FeeCollector(UUPS 代理) | 0x6c66229675fd9ceda9a9b2ea2bd983b3d8255834 |
每个适配器都将路由器设为不可变地址,对任何其他调用方均会回退并报错 NotRouter。路由器只会调用注册表批准的适配器。费用由链上 FeeCollector.feeBpsFor(outputToken) 设置:所有链上的默认费率为 5 bps;稳定币、主流代币以及 Robinhood Chain 上列出的代币化股票的费率为 0 bps。
Robinhood Chain(链 ID 4663)
| 合约 | 地址 |
|---|---|
| ChordRouter 实现(于 2026-10-02 升级) | 0x209e38890533469337488588cB9e4A44943EE8FE |
| Uniswap V4 适配器 | 0x3622116c527896Ab9C1510A45f3344AaBD03973a |
| V3 任意分叉适配器(Uniswap V3、Ramses 和其他 V3 分叉) | 0x3A7D13a420c8FBC29Bf4A1feDB22A5Dae3A8913E |
| V2 适配器 | 0xC4b930D9E5d20cc8b4C67f2118FE0cD8E6e36b72 |
| Algebra 适配器 | 0x63bd5402aCC3129c9b38c7d52f327b82f24B497D |
| RhStockZap | 0x66627Ce32af8801525930B7C2a1Db4905193bb51 |
Robinhood Chain 上的路由器升级:交易 0x9111f311319d778d2b53cce16fe7d471a15e61b8e00bdd08de074a5bcc571aa3。
Arbitrum One(链 ID 42161,于 2026-10-14 部署)
| 合约 | 地址 |
|---|---|
| ChordRouter 实现 | 0x1cd8CeED960dE0c9787295c8F1BF278D4A36698c |
| ChordV3Adapter(Uniswap V3、PancakeSwap V3、SushiSwap V3) | 0xd55fe37e30435cF15fe2C7fcAAF1aBf19d13b195 |
| ChordV2Adapter(Uniswap V2、SushiSwap V2) | 0xa61C202C4c989a1724E1B432C96A9f064856574d |
| ChordV4Adapter | 0xFE82b7714c36083AB518067f03680C59ac57840a |
| ChordMetricV1Adapter | 0x4e48D8bEDB4A781493e6193776FDa37e57Ce07b1 |
| ChordAlgebraIntegralAdapter(Camelot V3) | 0x3D26860E5d5ddE28FDcd11e14573CE7b103fA081 |
| ChordWooFiAdapter | 0xfdC2e11793197B9D16Ae1eDBa8049dcc9Fc15748 |
| ChordDodoV2Adapter | 0x3E46e23C171aAC3124D85BbCa33A2C0422342fA4 |
所有合约均已在 Sourcify 上验证。引擎开始通过路由器路由之前,已在主网上通过每个交易场所进行了双向兑换。
Ethereum(链 ID 1,于 2026-10-15 部署)
路由器实现和三个核心适配器的地址与 Arbitrum One 上相同:
| 合约 | 地址 |
|---|---|
| ChordRouter 实现 | 0x1cd8CeED960dE0c9787295c8F1BF278D4A36698c |
| ChordV3Adapter(Uniswap V3、PancakeSwap V3、SushiSwap V3) | 0xd55fe37e30435cF15fe2C7fcAAF1aBf19d13b195 |
| ChordV2Adapter(Uniswap V2、SushiSwap V2) | 0xa61C202C4c989a1724E1B432C96A9f064856574d |
| ChordV4Adapter | 0xFE82b7714c36083AB518067f03680C59ac57840a |
该技术栈的全部 9 个合约均与 Sourcify 上的记录一致;公开发布前,已在主网上通过每个交易场所进行了双向兑换。
构建和测试
git submodule update --init --recursive
cd contracts
forge build
forge test --no-match-contract 'ForkTest$'
Buildathon 之后(2026 年 10 月 5 日至 10 月 15 日)
- Arbitrum One:对齐 Chord 技术栈、部署脚本和分叉测试(
edd957a),交换和 Ask 侧(c28203c), 于 10 月 15 日公开(ca79736)。 - Ethereum:对齐 Chord 技术栈、部署脚本和分叉测试(
79233bc),交换和 Ask 侧(8a46f39), 以及需要先调用approve(0)的代币(例如 USDT)(69a06af),于 10 月 15 日公开(38b466e)。 - 新交易场所:Monad 和 Avalanche 上的 Metric v1(
80daf2c、23bfe8c);Monad 上的 ERC-4626 存款,当资金池报价低于金库汇率时,会按该汇率铸造 aprMON、shMON 和 gMON(a41a703);WOOFi(83283af);通过 Algebra Integral 适配器接入 Camelot V3 (454091c);Avalanche 和 Arbitrum 上的 DODO V2(1975d08);LFJ Liquidity Book v2.1(147f862);以及 Arc 上通过 ChordV3Adapter r3 接入的两个集中流动性工厂(95e65be)。 - Agent:stdio Agent 成为托管 MCP 服务的桥接层(
02f7201);支持在每条链上使用钱包交易 (5256c20);在 OpenAPI 规范和技能中加入 Solana 数据、智能交易者和 LP 路由(710b14d、74957c2、d13d3ef);为每个网络添加文档页面(0306a08)。 - Solana 交换:在公开文档和技能中加入 Chord 自有的 Solana 路由器和 Jupiter(
ee2d912),于 10 月 15 日向所有人开放(41b3fdc)。
在 Arbitrum Open House Singapore Buildathon 期间完成的工作(2026 年 9 月 13 日至 10 月 4 日)
Chord 在 Buildathon 之前就已存在。此仓库是从我们的单体仓库中提取的,其中这些文件夹保留了真实的提交历史,因此日期为 2026-09-13 或之后的每次提交,都在 Buildathon 期间或之后完成
(git log --since=2026-09-13)。主要成果:
- ChordRouter:以 Chord 命名的路由器、注册表和手续费收取器实现(
08dcb96),以及一个仅升级路由器代理的脚本,该脚本于 10 月 2 日用于 Robinhood Chain、Monad 和 Arc(dfb5386)。 - Robinhood Chain 跨链购买:RhTokenZap,即通过路由器进行通用目标链转换;以及 SwapAndBridgeCCTP,可在一次调用中完成交换和 Circle CCTP 销毁(
9814cba)。 - 新适配器:UniV2TaxSafeAdapter,根据交易对实际收到的数量进行定价(
0dc387b);Arc 上使用原生 USDC 的 Uniswap V4(0cc5ff3);ChordSolidlyAdapter(3775c10、f9a6fae);ChordLBPairAdapter(b3136f1);ChordAlgebraIntegralAdapter(b20d1de);ChordInfinityCLAdapter(95db92d)。 - Agent 接入面:Agent Skill(
014875e)、Docs MCP(54ffb71)、用于 Arc、LP 和元聚合器的 Agent 工具(98cd499、d751aeb、ad9f222),以及与 API 保持一致的 OpenAPI 规范(3c4ea54、5130d2a)。 - Robinhood Chain 上的 Ask 钱包(主要在封闭 API 和 Web 应用中实现,部分内容在此仓库中):使用一次签名,将 Arbitrum 上的 USDC 转换为 Robinhood Chain 上的 USDG(
609f37a);显式 Convert 和多链钱包(f2b4244)。
许可证
MIT,详见 LICENSE。该许可证涵盖此仓库中的所有内容:合约、Agent、技能、Docs MCP、OpenAPI 规范和 SDK。contracts/lib/ 中的子模块保留各自的许可证(OpenZeppelin MIT、forge-std MIT 或 Apache-2.0)。
2026-10-15 之前在链上验证的源代码仍标注为 SPDX-License-Identifier: UNLICENSED;代码相同,自该日起采用 MIT 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。