Substreams Search MCP Server
The Substreams Search MCP Server enables AI agents to search, inspect, and analyze Substreams packages for blockchain data streaming from the substreams.dev registry.
Search packages (
search_substreams): Query the substreams.dev registry by keyword, filter by blockchain network (e.g., Ethereum, Solana, Arbitrum), and sort results bymost_downloaded,alphabetical,most_used, orlast_uploaded. Returns package details like name, URL, creator, and download count.Inspect packages (
inspect_package): Fetch and analyze a.spkgfile to view its full module graph, protobuf types, metadata (name, version, docs, network), module definitions (kind, output types, update policies), DAG relationships, and a Mermaid diagram of the module graph.List modules (
list_package_modules): Get a lightweight summary of a package's module names, types, and inputs/outputs without full inspection overhead.Analyze sink configuration (
get_sink_config): Examine a package's embedded sink config, extract SQL schemas, identify compatible sink modules, and generate ready-to-run CLI commands for deployment.
This supports a complete workflow from discovery (search) → analysis (inspect/list) → deployment (sink config), and integrates with Claude Desktop, Cursor, and Claude Code via npx without installation.
Allows searching, inspecting, and analyzing Substreams packages for the Ethereum blockchain to identify module graphs and sink configurations.
Generates visual module graphs in Mermaid format to illustrate the dependencies and relationships within a Substreams package.
Provides tools to search and analyze Substreams packages specifically developed for the Polygon network.
Enables discovery and inspection of Substreams packages for the Solana blockchain, including module identification and sink deployment commands.
Substreams Search MCP Server
MCP server that lets AI agents search, inspect, and analyze Substreams packages — from registry discovery to sink deployment. Supports dual transport — stdio for local clients and SSE/HTTP for remote agents (OpenClaw, custom frameworks).
Tools
search_substreams
Search the substreams.dev package registry.
Parameter | Type | Default | Description |
| string (required) | — | Search term, e.g. |
| string |
|
|
| string | — | Filter by chain: |
Returns package name, URL, creator, network, version, published date, and download count.
inspect_package
Inspect a Substreams package (.spkg) to see its full module graph, protobuf types, and metadata.
Parameter | Type | Description |
| string (required) | Direct URL to a |
Returns:
Package metadata (name, version, documentation, network)
All modules with their kind (map/store/blockIndex), output types, and update policies
Full DAG: each module's
dependsOnanddependedByrelationshipsInput chain for each module (source blocks, other maps, stores with get/deltas mode, params)
List of all protobuf output types and proto files
Mermaid diagram of the module graph
list_package_modules
Lightweight alternative to inspect_package — just the module names, types, and inputs/outputs.
Parameter | Type | Description |
| string (required) | Direct URL to a |
get_sink_config
Analyze a package's sink configuration and generate ready-to-run CLI commands.
Parameter | Type | Description |
| string (required) | Direct URL to a |
Returns one of three results:
sink_configured— Package has an embedded sink config. Extracts the SQL schema (for SQL sinks), identifies the sink module and type, and generatesinstall,setup, andruncommands with the correct network endpoint.no_sink_config_but_compatible_modules_found— No embedded config, but modules output sink-compatible types (e.g.DatabaseChanges). Identifies them and suggests how to wire up sinking.no_sink_support— No sink-compatible modules. Lists all module output types so you know what custom consumer you'd need.
Related MCP server: @lpm-registry/mcp-server
Workflow
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 deployQuick Start (npx)
No installation needed:
Claude Desktop / Cursor / Claude Code (stdio)
Add to your MCP config (claude_desktop_config.json, ~/.cursor/mcp.json, or ~/.claude/mcp.json):
{
"mcpServers": {
"substreams-search": {
"command": "npx",
"args": ["substreams-search-mcp"]
}
}
}OpenClaw / Remote Agents (SSE)
Start the server with the HTTP transport:
# 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 --httpThen point your agent at the SSE endpoint:
{
"mcpServers": {
"substreams-search": {
"url": "http://localhost:3849/sse"
}
}
}Transport Modes
Invocation | Transports | Use case |
| stdio | Claude Desktop, Cursor, Claude Code |
| stdio + SSE :3849 | Dual — local + remote agents |
| SSE :3849 | OpenClaw, remote deployments |
A /health endpoint is available at http://localhost:3849/health when HTTP transport is active.
How it works
Search: The substreams.dev registry has no public API. This server scrapes the package listing pages, paginates through all results, deduplicates, and returns structured JSON. Multi-word queries search for the first word server-side and filter the rest client-side.
Inspect: Uses
@substreams/coreto fetch and parse.spkgfiles (protobuf-encoded Substreams packages), extracting module definitions, DAG relationships, and proto type information.Sink config: Reads the embedded
sinkConfig(agoogle.protobuf.Anyfield) from the package, decodes it based on the type URL, and maps networks to Substreams endpoints for correct CLI commands.
Available Tools
1 toolsearch_substreamsARead-only
Search the substreams.dev package registry for blockchain data stream packages. Multi-word queries filter results to match all words.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order | most_downloaded |
| query | Yes | Search term, e.g. 'solana dex' or 'uniswap' | |
| network | No | Filter by blockchain network, e.g. 'ethereum', 'solana', 'arbitrum-one' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the readOnlyHint annotation by specifying that multi-word queries match all words (AND logic), which is a behavioral trait not documented elsewhere. It is consistent with annotations and provides useful context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main purpose, no extraneous information. Every sentence is valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with complete schema description and readOnlyHint annotation, the description adequately covers the tool's purpose and behavior. No output schema exists, but the description does not need to explain return values as per instructions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are fully described in the schema (100% coverage), so the description does not need to add much. It mentions multi-word query behavior, which marginally enhances the query parameter meaning, but overall the schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool searches the substreams.dev package registry for blockchain data stream packages, and specifies multi-word query behavior. It uses a specific verb and resource, making the purpose unmistakable even without sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching packages but does not provide explicit guidance on when to use this tool versus alternatives (none exist) or any prerequisites. The context is clear enough for an agent to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Only one tool exists, so there is no possibility of confusion between tools.
The single tool name follows a clear verb_noun pattern (search_substreams), consistent with common conventions.
The server is purpose-built for searching, so a single search tool is appropriate and not excessive, though it is minimal.
The tool covers basic search functionality but lacks advanced features like filtering by package attributes or retrieving package details, which could be expected for a registry search server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Search and install 4,000+ security-scanned MCP servers from inside any MCP-aware AI client.
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that powers AI agents with indexed blockchain data from The Graph.3MIT

@lpm-registry/mcp-serverofficial
AlicenseAqualityCmaintenanceMCP server for the LPM package registry, enabling AI tools to search, browse source code, install packages, check quality, and more.1718ISC- AlicenseNot gradedqualityAmaintenanceAI-first MCP server discovery tool that enables agents to search, inspect, and install MCP servers from multiple registries.12AGPL 3.0
- AlicenseAqualityDmaintenanceAn MCP server that provides real-time web search to AI agents via a pay-per-search USDC microtransaction system.5671MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/PaulieB14/substreams-search-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server