子流搜索MCP服务器
](https://www.npmjs.com/package/substreams-search-mcp)
允许AI代理搜索、检查和分析的MCP服务器 子流 包——从注册表发现到接收器部署。支持 双重运输 --stdio用于本地客户端,SSE/HTTP用于远程代理(OpenClaw、自定义框架)。
工具
search_substreams
搜索substreams.dev包注册表。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
query | string(必填) | -- | 搜索词,例如。 "solana dex" 或 "uniswap" |
sort | 字符串 | "most_downloaded" | most_downloaded, alphabetical, most_used, last_uploaded |
network | string | -- | 按链筛选: ethereum, solana, arbitrum-one等等。 |
返回包名称、URL、创建者、网络、版本、发布日期和下载计数。
inspect_package
检查Substreams包(.spkg)以查看其完整的模块图、protobuf类型和元数据。
| 参数 | 类型 | 说明 |
|---|---|---|
url | string(必填) | 指向的直接URL .spkg 文件 |
退货:
- 包元数据(名称、版本、文档、网络)
- 所有模块及其类型(map/store/blockIndex)、输出类型和更新策略
- 完整DAG:每个模块的
dependsOn和dependedBy关系 - 每个模块的输入链(源代码块、其他映射、具有get/deltas模式的存储、参数)
- 所有protobuf输出类型和原型文件的列表
- 模块图的美人鱼图
list_package_modules
轻量级的替代品 inspect_package --只有模块名称、类型和输入/输出。
| 参数 | 类型 | 说明 |
|---|---|---|
url | string(必填) | 指向的直接URL .spkg 文件 |
get_sink_config
分析软件包的接收器配置,并生成可运行的CLI命令。
| 参数 | 类型 | 说明 |
|---|---|---|
url | string(必填) | 指向的直接URL .spkg 文件 |
返回以下三个结果之一:
sink_configured--软件包具有嵌入式接收器配置。提取SQL模式(用于SQL接收器),标识接收器模块和类型,并生成install,setup,以及run具有正确网络端点的命令。no_sink_config_but_compatible_modules_found--没有嵌入式配置,但模块输出接收器兼容类型(例如。DatabaseChanges).识别它们并建议如何接线。no_sink_support--没有与水槽兼容的模块。列出所有模块输出类型,以便您知道需要什么自定义消费者。
工作流程
search_substreams("uniswap", network: "polygon")
→ find package, get spkg.io URL
inspect_package("https://spkg.io/creator/package-v1.0.0.spkg")
→ see module DAG, output types, what it produces
get_sink_config("https://spkg.io/creator/package-v1.0.0.spkg")
→ get SQL schema + CLI commands to deploy快速入门(npx)
无需安装:
克劳德桌面/光标/克劳德代码(stdio)
添加到MCP配置(claude_desktop_config.json, ~/.cursor/mcp.json,或 ~/.claude/mcp.json):
{
"mcpServers": {
"substreams-search": {
"command": "npx",
"args": ["substreams-search-mcp"]
}
}
}OpenClaw/远程代理(SSE)
使用HTTP传输启动服务器:
# Dual transport — stdio + SSE on port 3849
npx substreams-search-mcp --http
# SSE only (for remote/server deployments)
npx substreams-search-mcp --http-only
# Custom port
MCP_HTTP_PORT=4000 npx substreams-search-mcp --http然后将您的代理指向SSE端点:
{
"mcpServers": {
"substreams-search": {
"url": "http://localhost:3849/sse"
}
}
}运输方式
| 调用 | 运输 | 用例 |
|---|---|---|
npx substreams-search-mcp | stdio | 克劳德桌面、光标、克劳德代码 |
npx substreams-search-mcp --http | stdio+SSE:3849 | 双--本地+远程代理 |
npx substreams-search-mcp --http-only | SSE:3849 | OpenClaw,远程部署 |
A. /health 端点位于 http://localhost:3849/health 当HTTP传输处于活动状态时。
运作原理
- 搜索:substreams.dev注册表没有公共API。此服务器抓取包列表页面,对所有结果进行分页,消除重复,并返回结构化JSON。多词查询在服务器端搜索第一个词,并在客户端过滤其余的词。
- 检查:用途
@substreams/core获取和解析.spkg文件(protobuf编码的Substreams包),提取模块定义、DAG关系和原型信息。 - 水槽配置:读取嵌入
sinkConfig一google.protobuf.Any字段),根据URL类型对其进行解码,并将网络映射到Substreams端点以获得正确的CLI命令。
