# TheGraph MCP Server

An MCP server that powers AI agents with indexed blockchain data from [The Graph](https://thegraph.com/).

![GitHub License](https://img.shields.io/github/license/kukapay/thegraph-mcp) 
![GitHub Last Commit](https://img.shields.io/github/last-commit/kukapay/thegraph-mcp) 
![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)

## Available Tools

### 1. getSubgraphSchema
Fetches the schema of a specified subgraph, providing AI agents with the context needed to generate GraphQL queries. 

**Parameters:**
- `subgraphId`: The subgraph ID (e.g., "QmZBQcF...")
- `asText`: Output format flag
  - `true`: Returns human-readable GraphQL schema
  - `false`: Returns JSON schema (default)

### 2. querySubgraph
Executes GraphQL queries against a specified subgraph. While queries are typically generated by AI, you can also manually craft your own.

**Parameters:**
- `subgraphId`: The subgraph ID
- `query`: GraphQL query string


## Installation

1. **Clone the Repository**
    ```bash
    git clone https://github.com/kukapay/thegraph-mcp.git
    ```
2. **Client Configuration**
    ```json
    {
      "mcpServers": {
        "thegraph-mcp": {
          "command": "uv",
          "args": ["--directory", "path/to/thegraph-mcp", "run", "main.py"],
          "env": {
            "THEGRAPH_API_KEY": "your_api_key_here"
          }
        }
      }
    }
    ```

## Example Prompts

Here are some natural language prompts to trigger the tools:

### Schema Queries
- "Show me the schema for subgraph QmZBQcF... in a readable format"
- "What's the structure of the QmZBQcF... subgraph? Please display it in GraphQL format"
- "I need to understand the data model of subgraph QmZBQcF..., can you fetch its schema?"

### Data Queries
- "Find the top 5 tokens by trading volume in the last 24 hours from subgraph QmZBQcF..."
- "Show me all pairs with liquidity greater than 1 million USD in subgraph QmZBQcF..."
- "Get the latest 10 swap events from the QmZBQcF... subgraph, including token symbols and amounts"

### Analysis Tasks
- "Analyze the trading volume of USDT pairs in the last week using subgraph QmZBQcF..."
- "Compare the liquidity of ETH and USDC pairs in subgraph QmZBQcF..."
- "Find unusual trading patterns in the last 24 hours from subgraph QmZBQcF..."

### Combined Tasks
- "First get the schema of QmZBQcF..., then help me write a query to find high-value transactions"
- "Check the schema of QmZBQcF... and tell me what fields are available for querying token prices"
- "Using subgraph QmZBQcF..., analyze the market impact of large trades by first understanding the schema and then querying relevant events"

## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
