# subgraph-registry-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/PaulieB14/subgraph-registry  
**GitHub Stars:** 0  
**npm Downloads (last month):** 1741  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/subgraph-registry-mcp

## Description
Discover and query 14,700+ classified subgraphs on The Graph Network

## Tools
Capabilities this server exposes over MCP:

- **search_subgraphs** — Search and filter the classified subgraph registry (15,000+ subgraphs). Filter by domain (defi, nfts, dao, gaming, identity, infrastructure, social, analytics), network (mainnet, arbitrum-one, base, matic, bsc, optimism, avalanche), protocol_type (dex, lending, bridge, staking, options, perpetuals, nft-marketplace, yield-aggregator, governance, name-service), canonical entity type (liquidity_pool, trade, token, position, vault, loan, collateral, liquidation, nft_collection, nft_item, nft_sale, proposal, delegate, domain_name, account, transaction, daily_snapshot, hourly_snapshot), or free-text keyword. Returns subgraphs ranked by reliability score. Discovery only — this tool does not execute GraphQL and never introspects a schema. To run a query, call execute_query (opt-in). To inspect a schema, call get_schema (opt-in). Each result carries the subgraph id, a ready-to-run example_query, and both query routes in `payment_options`: a keyed gateway URL (Authorization: Bearer) or an x402 URL ($0.01 USDC on Base, no key). Pass the id to your own Graph client if you have one. Plus age_days and maturity (new | emerging | established). Because reliability_score is cumulative it structurally favours older deployments, so a separate `emerging` list carries recent matches that ranked below the main cut for age rather than quality — read `emerging_caveat` before offering one to a user.
- **recommend_subgraph** — Given a natural-language goal like 'find DEX trades on Arbitrum' or 'get lending liquidation data', returns the best matching subgraphs with reliability scores. Automatically infers domain and protocol type from the goal. Discovery only — it returns ids and starter queries, it does not execute GraphQL. Each result carries both query routes in `payment_options`: a keyed gateway URL (Authorization: Bearer <STUDIO_API_KEY>) or an x402 URL ($0.01 USDC on Base, no key).
- **get_subgraph_detail** — Get full classification detail for a specific subgraph by its subgraph ID or IPFS hash. Returns domain, protocol type, canonical entities, all entity names with field counts, reliability score, signal data, both query URLs (x402 and legacy), the x402 pricing manifest ($0.01 USDC on Base), and step-by-step instructions for both query paths.
- **list_registry_stats** — Get an overview of the subgraph registry: total count, available domains, networks, and protocol types with counts. Use this to understand what data is available before searching.
- **semantic_search_subgraphs** — Discovery only — this tool does not execute GraphQL and never introspects a schema. To run a query, call execute_query (opt-in). To inspect a schema, call get_schema (opt-in). Semantic vector search over the subgraph registry. Embeds the query string with sentence-transformers/all-MiniLM-L6-v2 (the same model architecture used at crawl time; the runtime uses an INT8-quantized ONNX build so absolute scores can drift ~0.01-0.03 from the float32 reference but top-K rankings are stable) and ranks subgraphs by cosine similarity against the precomputed 384-dim embedding of each subgraph's description + entities + protocol metadata. Prefer this over search_subgraphs when the goal is fuzzy, paraphrased, or describes a use-case rather than a literal protocol/entity name. Supports the same domain/network/protocol_type/min_reliability pre-filters as search_subgraphs (applied as SQL WHERE before cosine scoring for performance). Returns the same shape as search_subgraphs plus a `semantic_score` in [0,1] (>0.5 is typically a strong match).
- **get_schema_changes** — Return chronological schema-fingerprint changes for a subgraph. Each row is one detected fingerprint change with prev_fingerprint, fingerprint, and detected_at (unix seconds). Use to assess schema stability before depending on a subgraph: a long stable_days value means the schema contract is mature; a recent changed_within_24h means the upstream protocol just shipped a schema update and queries may need to be revisited.
- **get_top_subgraph_deployments** — Find subgraphs whose crawled manifest indexes a given contract on a given chain. Official subgraph-MCP name, better ranking: reliability_score then real query_volume_30d, not query fees and not the official 0-count oracle. contract_addresses come from subgraph.yaml dataSources/templates at crawl time — coverage is high for EVM subgraphs, empty for most substreams-powered ones. Does not query the gateway. Default 3 results, matching official.
- **get_deployment_30day_query_counts** — Return 30-day query volume for one or more deployments from the local registry. Official subgraph-MCP name; unlike official, these numbers are real (the official tool has been observed returning 0 for ENS, Lido, Uniswap). Pass ipfs_hashes (Qm…) and/or ids. Does not query the gateway. Unknown hashes return query_volume_30d: null with error not_in_registry rather than a fake 0.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "subgraph-registry-mcp": {
    "command": "npx",
    "args": ["-y","subgraph-registry-mcp@0.12.0"]
  }
}
```

## Documentation

## What subgraph-registry-mcp does

The subgraph-registry-mcp MCP server gives agents a structured index of active subgraphs on The Graph Network. The registry contains 15,330 pre-computed records with domain classifications, protocol type detection, schema fingerprints, canonical entity mappings, contract addresses, and composite reliability scores.

It is intended for the discovery step that comes before data retrieval. Instead of starting with an unknown GraphQL endpoint, an agent can search for a use case such as DEX trades, identify candidate deployments, inspect their metadata, and use the generated starter query as a basis for a data request.

The index covers domains including DeFi, NFTs, infrastructure, identity, analytics, DAO, gaming, and social applications. It also organizes records by networks such as Ethereum, Base, BSC, Arbitrum, Polygon, Optimism, and Avalanche, plus protocol categories including DEX, lending, staking, bridges, NFT marketplaces, and governance.

## How it works

The registry crawls active subgraphs from The Graph Network’s meta-subgraph and fetches each deployment’s GraphQL schema. It extracts contract addresses from manifest data sources and templates, then parses schemas to identify entities and fields. For each subgraph, it generates a starter GraphQL query using an actual top-level entity, available fields, and an appropriate ordering field.

The subgraph-registry-mcp server supports both term-based and semantic discovery. `search_subgraphs` ranks matches by matched query terms and then reliability. `semantic_search_subgraphs` uses 384-dimensional embeddings and cosine similarity, which can surface conceptually related results even when the wording differs.

Reliability is a 0-to-1 composite based on query fees, 30-day query volume, community curation, and indexer allocation. These signals are log-scaled and capped, and denied or deprecated subgraphs receive a penalty. Search results include age and maturity information; term-based search can place young matches in a separate `emerging` list, while semantic search ranks by similarity rather than reliability.

## Tools and capabilities

- `search_subgraphs` for term-based discovery with reliability-aware ranking.
- `semantic_search_subgraphs` for embedding-based discovery.
- `recommend_subgraph` for recommendations based on a stated goal.
- `get_schema_changes` for schema evolution information, including stability days surfaced on results.
- Contract-address discovery across chains using extracted manifest data.
- Generated GraphQL starter queries based on each deployment’s parsed schema.
- x402 and legacy query URLs returned with results.

The response includes a pricing manifest with the asset, Base network identifier, recipient, payment scheme, and EIP-3009 transfer method. A Studio key can be used through the legacy query URL.

## Limitations and notes

The reliability score measures usage and traction rather than code quality. Because its inputs are cumulative, newer subgraphs can receive low scores even when they are functional. The registry exposes age and maturity labels to make that distinction visible, and semantic search is described as age-neutral because it ranks by similarity.

It also does not establish that every indexed subgraph is currently queryable or that generated starter queries cover every schema edge case.

_Full upstream README: https://allmcps.com/mcp/subgraph-registry-mcp/readme_

