关于 Metis RWA Research
Metis RWA Research 是用于研究 Solana 代币化现实资产的 MCP 服务,提供链上与市场实时检查,也可查询已发布的研究;数据附有来源和采集时间。
主要功能
- 01实时检查代币控制权与供应量
- 02查询持有人集中度和流动性
- 03分析相对参考价格的溢价
- 04访问研究报告和观察历史
- 05提供来源、时间戳和数据哈希
适用场景
- 01评估代币前检查发行方权限
- 02比较代币价格与参考证券
- 03跟踪流动性和供应量变化
MCP 相关
向 MCP 客户端提供 12 个工具、2 个提示词和 2 项资源,支持托管的 Streamable HTTP 和本地 stdio 连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://metisagent.co/mcpclaude mcp add --transport http metis-rwa https://metisagent.co/mcp{"mcpServers":{"metis-rwa":{"type":"http","url":"https://metisagent.co/mcp"}}}在 Cursor 中打开{"servers":{"metis-rwa":{"type":"http","url":"https://metisagent.co/mcp"}}}在 VS Code 中打开{"mcpServers":{"metis-rwa":{"type":"http","url":"https://metisagent.co/mcp"}}}{"mcpServers":{"metis-rwa":{"serverUrl":"https://metisagent.co/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Metis MCP
用于研究 Solana 上代币化现实世界资产的 MCP 服务。
它为助手提供十二种工具:六种用于实时读取链上和市场状态,另外六种用于获取 Metis Agent 已发布的研究成果。它返回的每项数据都来自实时读取,并标注数据来源、采集时间以及原始负载的哈希值。
它要回答的是所有人研究代币化资产时首先应该问、却几乎无人能迅速回答的问题:谁控制着这个代币?如果他们动用这种控制权,我的持仓会怎样?
三种连接方式
作为插件使用。 这是最简单的方式,也是唯一同时提供技能的方式。在 Claude Code 中:
/plugin marketplace add metis-rwa/mcp
/plugin install metis@metis-rwa
在 Claude Desktop 或网页版中,打开「Customize」,再打开「Plugins」,然后通过仓库添加 https://github.com/metis-rwa/mcp.git。该插件连接到托管端点,并添加 /metis:due-diligence、/metis:premium-watch,以及一个在有人询问代币由谁控制时运行的 token-safety 技能。详见 plugin/README.md。
使用托管服务,无需安装。 同样的工具也通过 HTTP 提供,地址为
https://metisagent.co/mcp:
claude mcp add --transport http metis https://metisagent.co/mcp
托管端点通过研究 Agent 自身保存的历史记录回答观察类问题,这些记录涵盖的时间范围比任何单台机器上的记录都更长。它只读取数据,无需密钥,也不保留会话。
通过 stdio 本地运行。 如果你需要自己的 RPC 端点、自定义资产列表,或将历史记录保存在本机上,可以运行此软件包:
npx -y @metisagent/mcp
也可以克隆并构建:
git clone https://github.com/metis-rwa/mcp.git
cd mcp
npm install
npm run build
node dist/index.js
该服务通过 stdio 使用 MCP 通信。
连接本地服务
Claude Code:
claude mcp add metis -- npx -y @metisagent/mcp
Claude Desktop,在 claude_desktop_config.json 中:
{
"mcpServers": {
"metis": {
"command": "npx",
"args": ["-y", "@metisagent/mcp"],
"env": {
"SOLANA_RPC_URL": "https://your-endpoint.example/rpc"
}
}
}
}
其他 MCP 客户端的连接方式也相同:运行 metis-mcp(或
node dist/index.js),并通过 stdin 和 stdout 使用 MCP 通信。
工具
链上检查:
| 工具 | 可回答的问题 |
|---|---|
list_rwa_assets | 此服务按代号记录了哪些资产,以及它们的 mint 地址 |
get_token_controls | 发行方能否增发、冻结、没收或暂停代币,或限制转账 |
get_token_supply | 现有代币数量是多少,供应量是否设有上限 |
get_holder_concentration | 谁持有这些代币,有多少代币处于冻结状态 |
get_token_market | 流动性有多深,各资金池的情况如何 |
get_reference_premium | 代币的交易价格是否偏离其跟踪的证券 |
研究:
| 工具 | 可回答的问题 |
|---|---|
observe_asset | 完整的研究周期:读取所有数据,与历史记录对比,并报告检测结果和置信度 |
get_observation_history | 此服务目前为该资产记录了哪些内容,以及趋势如何 |
list_research | Metis Agent 发布了哪些内容,可按资产或类别筛选 |
get_research | 某项已发布内容背后的完整对象:主张、证据、方法和溯源信息 |
get_research_status | Agent 当前正在调查什么,以及数据源的健康状况 |
check_sources | 哪些数据源可正常响应,以及响应速度如何 |
每种工具都接受注册表代号(TSLAx)或原始 Solana mint 地址,因此注册表之外的资产也可使用。
注册表内置 Solana 上的 72 种 xStocks,从 AAPLx 到 XOMx,包括指数和大宗商品基金份额(SPYx、QQQx、GLDx、PPLTx、TBLLx)以及私募市场挂牌资产(SPCXx、VCXx)。使用 list_rwa_assets 可按子字符串或资产类型筛选。
此服务提供两个提示词:rwa_due_diligence 会逐项检查资产的控制权、供应量、持仓集中度、市场深度和溢价;premium_watch 会根据已存储的历史记录检查价格差异。此外还公开了两个资源:metis://registry 和 metis://methodology。
get_token_controls 的用途
代币化股票代表对链下持有资产的权益,因此发行方拥有普通代币没有的权力。Token-2022 会在 mint 上明确记录这些权力,而此工具会逐一说明它们对持有者意味着什么:
- 永久委托权限:无需持有者签名,即可从任何账户转移或销毁代币。
- 冻结权限:任何账户都可以被冻结,从而无法出售或赎回。
- 转账钩子:每笔转账都会经过一个可拒绝转账的程序,白名单正是通过这种方式强制执行的。
- 默认账户状态为冻结:新账户在发行方解冻前无法进行交易,因此该代币默认受权限控制。
- 可暂停:可以在整个链上暂停转账。
- 缩放后的 UI 金额:显示的余额会重新缩放,拆股及类似的公司行为正是通过这种方式上链的。
这些都不是缺陷。可赎回的有资产支持的资产大多需要这些机制。它们只是资产本身的事实,在任何关于其价值是否与参考价格相符的回答中都应予以说明。
配置
| 变量 | 默认值 | 用途 |
|---|---|---|
SOLANA_RPC_URL | 公共节点 | Solana JSON-RPC 端点 |
METIS_API_URL | https://metisagent.co | Metis 研究 API |
METIS_ASSETS_FILE | 无 | 用于注册额外资产的 JSON 文件 |
METIS_MCP_STATE_DIR | ~/.metis-mcp | 存储观察历史的位置。设为 off 则仅使用内存 |
METIS_MCP_TIMEOUT_MS | 20000 | 每次请求的网络超时时间 |
如果可以,请将 SOLANA_RPC_URL 设置为你控制的端点。公共节点会限制较重的读取请求,而 get_holder_concentration 是它们首先会拒绝的请求。
METIS_ASSETS_FILE 接受一个数组。只需提供 symbol 和 mint:
[
{
"symbol": "AAPLx",
"name": "Apple xStock",
"mint": "<mint address>",
"decimals": 8,
"assetType": "tokenized_equity",
"referenceTicker": "AAPL",
"issuerName": "Backed Assets"
}
]
添加前,请在链上验证 mint。地址错误会返回看似可信、实际错误的答案。注册表中的所有内容都已先从 Solana 读取核实:src/assets.ts 中的名称和符号取自各 mint 自身的 Token-2022 元数据,而不是从代币列表复制的标签。你可以随时再次检查:
npm run verify-assets
观察周期的工作方式
observe_asset 会从 Solana 读取供应量和持有者集中度,从 DEX 交易场所读取汇总流动性和交易量,并从公共价格服务读取代币价格和参考价格。它会将结果与该资产已存储的观察记录进行比较,然后报告:
- 观察结果:当前的实际情况,每项都关联到其背后的读取数据。
- 检测结果:越过阈值的指标,以及用于比较的基准。
- 冲突:意见不一致的数据源;这些冲突会被记录下来,而不是通过取平均值消除。
- 置信度:根据数据源覆盖情况、数据源故障、跨数据源一致性,以及支撑比较的历史数据量计算得出。模型自行声称的置信度绝不会作为输入。
历史记录保存在运行服务的机器上。首次调用某项资产时没有基准,因此只有溢价阈值可能触发。随着时间推移再次调用,供应量、流动性、活动和集中度检测便会开始生效。托管端点会跳过这段预热过程:它会与研究 Agent 自上线以来每十分钟记录一次的历史数据进行比较。
值得说明的限制
- 持有最多代币的账户是账户,而非实际受益所有人。资金池、桥接合约和托管账户位居大多数列表的顶部。
- DexScreener 会拒绝数据中心流量。在笔记本电脑上运行服务,它会正常响应;在云主机上运行时,资金池数据会回退到价格服务,该服务会报告流动性、24 小时交易量和持币人数,但不提供资金池明细或交易笔数。工具会注明某个数字来自备用数据源。
- 重新发布的参考价格在非交易时段可能过时,仅此一点就可能看起来像是溢价。
- 汇总的交易场所数据涵盖已上架的资金池。在场外或内部交易的内容在这里不可见。
- 这是由软件生成的参考信息,并非财务建议,也可能有误。
开发
npm install
npm run typecheck
npm test
npm run inspector
测试涵盖分析规则、控制项转换、注册表和历史记录存储。测试针对构建产物运行,因此 npm test 会先执行构建。
发布
该软件包以 @metisagent/mcp 的名称发布到 npm,server.json 用于向 MCP 注册表描述它。注册表通过比对 package.json 中的 mcpName 与 server.json 中的服务名称来验证所有权,因此这两个字符串必须保持一致。
- 更新
package.json中的版本,以及server.json中两处版本,然后在CHANGELOG.md中添加一条记录。 - 运行
npm run verify-assets,确认注册表仍与链上信息一致。 - 运行
npm test。 - 运行
npm publish --access public。 - 运行
mcp-publisher login github,然后运行mcp-publisher publish,将此版本列入 MCP 注册表。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。