indexing-co-mcpSAFE
MCP server for streaming live blockchain data from Indexing Co pipelines into Claude Code
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Archived 2026-09-29 — moved into [`@indexing/cli`](https://github.com/indexing-co/indexing-co-cli). Useindexing-co mcpfromnpm i -g @indexing/cli(0.2.0+). For Claude Code:claude mcp add indexing-co -- npx -y @indexing/cli mcp.
Stream live blockchain data from Indexing Co pipelines directly into your Claude Code session.
Instead of pushing to a database and querying separately, this MCP server subscribes to pipeline events over WebSockets and stores them in local SQLite — so Claude can query, analyze, and react to blockchain data in real time.
[Blockchain] → [Indexer Pipeline] → [DIRECT adapter] → [MCP Server (WebSocket)] → [SQLite] → [Claude Code]
Quick Start
1. Install
git clone https://github.com/indexing-co/indexing-co-mcp.git cd indexing-co-mcp npm install && npm run build
This also installs the Claude Code pipeline skill to ~/.claude/skills/. To update later: git pull && npm run build.
2. Configure
Sign in to Console, open Account -> API Keys, and create or copy an active account API key. New accounts include 10,000 free blocks and no card is required.
Add the key to ~/.indexing-co/credentials:
API_KEY=
You can also set INDEXING_API_KEY in the MCP server environment. Do not use browser JWTs, bearer headers, destination secrets, or private keys as MCP credentials.
3. Register with Claude Code
claude mcp add indexing-co -- node /path/to/indexing-co-mcp/dist/index.js
4. Use
In Claude Code, the following tools are now available:
6e7dab8b6c78OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add indexing-co-mcp -- npx -y [email protected]
{
"mcpServers": {
"indexing-co-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
]
}
}
}Exposed tools (22)
13 read · 6 write · 3 destructive. Blast radius: 3 tools can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
backfill | read | Backfill historical data for a pipeline. |
chart | write | Run a SQL query and render the results as an ASCII chart. Types: sparkline, line, bar, histogram, table. |
clear_events | destructive | Delete stored events (all or by channel). |
create_filter | write | Create a filter or add values to an existing filter. |
create_pipeline | write | Create or update a pipeline. Adapter types: POSTGRES (with connectionUri, table, uniqueKeys), HTTP (for webhooks — do NOT use |
create_transformation | write | Create or update a transformation. |
delete_filter_values | destructive | Remove values from a filter. |
delete_pipeline | destructive | Delete a pipeline. |
describe_data | read | Auto-discover data shape: sample keys, types, and value examples from stored events. |
get_events | read | Get recent raw events. Returns JSON payloads as-is. |
get_filter | read | Get filter values with optional prefix search and pagination. |
get_pipeline | read | Get a pipeline by name. |
get_status | read | WebSocket state, channels, event counts, and uptime. |
get_subscriptions | read | List active channels, connection status, and event counts. |
get_transformation | read | Get transformation code by name. |
list_filters | read | List all filters. |
list_pipelines | read | List all pipelines. For DIRECT streaming pipelines, the delivery.table field is the channel name to use with subscribe. |
list_transformations | read | List all transformations. |
query | write | Run a read-only SQL query against stored events. Use json_extract(data, \ |
subscribe | read | Subscribe to a pipeline\ |
test_transformation | read | Test transformation code against live blockchain data. |
unsubscribe | write | Stop receiving events for a channel. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (1 observation(s))
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (4)
clear_events, delete_filter_values, delete_pipeline
@modelcontextprotocol/sdk, better-sqlite3, zod, @types/better-sqlite3, @types/node, typescript
Sign in to Console, open Account -> API Keys, and create or copy an active account API key. New accounts include 10,000 free blocks and no card is required.
Gates applied: no_behavioural_pass, no_license.
6e7dab8b6c78full audit observations/trust-audit/mcp-server/indexing-co__indexing-co-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 6e7dab8b6c78 | SAFE | B | 89 | first audit |
Questions
What is the indexing-co-mcp MCP server?
MCP server for streaming live blockchain data from Indexing Co pipelines into Claude Code
What tools does indexing-co-mcp expose?
22 in total: 13 read-only, 6 that write, and 3 that can delete or overwrite (clear_events, delete_filter_values, delete_pipeline). Every one is listed on this page with its risk.
Is indexing-co-mcp safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B. Separately from the audit: 3 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does indexing-co-mcp need?
No credential environment variables were found in its source, so it appears to need none.
How does indexing-co-mcp run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as indexing-co-mcp at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (6e7dab8b6c78), read on 2026-10-11. The repository is watched and re-audited when it changes.