---
canonical_url: "https://docs.composio.dev/toolkits/quicknode_mcp"
markdown_url: "https://docs.composio.dev/toolkits/quicknode_mcp.md"
product: "platform"
version: null
last_updated: null
---

# QuickNode MCP

QuickNode MCP reads live blockchain data and manages endpoints, security, rate limits, logs, usage, and billing according to the connected Viewer or Admin role.

- **Category:** model context protocol
- **Auth:** DCR_OAUTH
- **Composio-managed OAuth available?** No
- **Tools:** 22
- **Triggers:** 0
- **Slug:** `QUICKNODE_MCP`
- **Version:** 20260910_00

## Tools

### Call-rpc

**Slug:** `QUICKNODE_MCP_CALL_RPC`

Call an allowed read-only JSON-RPC method through authenticated Quicknode Tooling Access. Use the network slug from list-chains; call list-chains first if it is unknown.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `method` | string | Yes | The read-only JSON-RPC method to call |
| `params` | string | No | The JSON-RPC parameters as JSON text, such as ["0xabc", "latest"] |
| `network` | string | Yes | The network slug from list-chains tool (data[].networks[].slug). Common ones: ethereum-mainnet, solana-mainnet, base-mainnet, hype-mainnet, bsc, arbitrum-mainnet, polygon, robinhood-mainnet. Call list-chains if the slug is unknown; if a slug is rejected, the error lists the ones this endpoint accepts. |

### Create-endpoint

**Slug:** `QUICKNODE_MCP_CREATE_ENDPOINT`

Create a new web3 RPC endpoint for a given chain and network under user's Quicknode account. This can error if the chain and network combination is not supported or if the user has reached their endpoint limit, in which case the user should try a different chain and network combination (can request list-chains tool for information on supported chains) or delete an existing endpoint

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chain` | string | Yes | The blockchain chain (e.g., 'ethereum', 'polygon', 'arbitrum') |
| `network` | string | Yes | The specific network within the chain (e.g., 'mainnet', 'testnet') |

### Create-endpoint-method-rate-limit

**Slug:** `QUICKNODE_MCP_CREATE_ENDPOINT_METHOD_RATE_LIMIT`

Create a new method-specific rate limiter for a Quicknode endpoint

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rate` | number | Yes | Maximum number of requests allowed within the specified interval |
| `methods` | array | Yes | Array of method names to apply the rate limit to. NOTE: method matching is case-insensitive. Method names are lowercased server-side and compared against the lowercased limiter (e.g. a limiter on "eth_getBalance" is stored as "eth_getbalance" and matches incoming "eth_getBalance" traffic). The case you use when entering method names has no effect. |
| `interval` | string ("second" | "minute" | "hour") | Yes | The time interval for the rate limit |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Create-security-rule

**Slug:** `QUICKNODE_MCP_CREATE_SECURITY_RULE`

Create a security rule for a Quicknode endpoint. Supports types: ip, jwt, referrer, domain_mask, token. Provide the type-specific fields alongside the type parameter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ip` | string | No | The IP address (required when type is "ip") |
| `kid` | string | No | The key identifier for JWT (required when type is "jwt") |
| `name` | string | No | A human-readable name for the JWT config (required when type is "jwt") |
| `type` | string ("ip" | "jwt" | "referrer" | "domain_mask" | "token") | Yes | The type of security rule |
| `token` | string | No | The authentication token (required when type is "token") |
| `referrer` | string | No | The allowed referrer URL (required when type is "referrer") |
| `public_key` | string | No | The public key for JWT verification (required when type is "jwt"). Must be a PEM-encoded RSA or EC public key with matching "-----BEGIN [RSA &#124;EC ]PUBLIC KEY-----" / "-----END …-----" headers; malformed keys are rejected before the upstream call. |
| `domain_mask` | string | No | The domain mask (required when type is "domain_mask") |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Delete-endpoint

**Slug:** `QUICKNODE_MCP_DELETE_ENDPOINT`

Archive a Quicknode endpoint by its ID. This will archive the endpoint and make it inactive. THIS IS A DESTRUCTIVE ACTION

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Delete-endpoint-method-rate-limit

**Slug:** `QUICKNODE_MCP_DELETE_ENDPOINT_METHOD_RATE_LIMIT`

Delete a method-specific rate limit from a Quicknode endpoint. THIS IS A DESTRUCTIVE ACTION

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |
| `method_rate_limit_id` | string | Yes | The unique identifier of the rate limiter to delete. This can be found in the output of the list-endpoint-method-rate-limits tool |

### Delete-security-rule

**Slug:** `QUICKNODE_MCP_DELETE_SECURITY_RULE`

Delete a security rule from a Quicknode endpoint. THIS IS A DESTRUCTIVE ACTION. Use the list-endpoint-security tool first to find the rule type and rule_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("ip" | "jwt" | "referrer" | "domain_mask" | "token") | Yes | The type of security rule |
| `rule_id` | string | Yes | The unique identifier of the security rule to delete |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Disable-tooling-access

**Slug:** `QUICKNODE_MCP_DISABLE_TOOLING_ACCESS`

Disable account-level Quicknode Tooling Access.

### Enable-tooling-access

**Slug:** `QUICKNODE_MCP_ENABLE_TOOLING_ACCESS`

Enable account-level Quicknode Tooling Access. This provisions an account-level shared RPC endpoint for use by Quicknode developer tools and caches its short-lived access credential.

### Get-billing

**Slug:** `QUICKNODE_MCP_GET_BILLING`

Get billing data for the user's Quicknode account. Use type to get invoices or payments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("invoices" | "payments") | Yes | The type of billing data to retrieve: "invoices" or "payments" |

### Get-endpoint

**Slug:** `QUICKNODE_MCP_GET_ENDPOINT`

Get a specific web3 Quicknode endpoint details by id

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Get-endpoint-log-details

**Slug:** `QUICKNODE_MCP_GET_ENDPOINT_LOG_DETAILS`

Get detailed request and response information for a specific log entry. This provides the raw request payload and full response that were logged for a particular request

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `request_id` | string | Yes | The UUID of the log entry to get detailed information for |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Get-endpoint-metrics

**Slug:** `QUICKNODE_MCP_GET_ENDPOINT_METRICS`

Get metrics for a specific Quicknode endpoint. Supports various metrics like method calls, response status, and response times over different time periods

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `metric` | string ("method_calls_over_time" | "response_status_over_time" | "response_status_breakdown" | "method_response_time_max") | Yes | The type of metric to retrieve |
| `period` | string ("hour" | "day" | "week" | "month") | Yes | The time period for which the data is to be retrieved |
| `percentile` | integer | No | Percentile (1-100) for response-time metrics. REQUIRED when metric is "method_response_time_max" (e.g. 50, 95, 99); ignored for other metrics |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Get-rpc-usage

**Slug:** `QUICKNODE_MCP_GET_RPC_USAGE`

Get the usage data for the user's Quicknode RPC account. Use breakdown_by to get usage by endpoint, method, or chain. The start_time and end_time parameters are ISO 8601 date strings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end_time` | string | Yes | The end time of the time range (ISO 8601 format) |
| `start_time` | string | Yes | The start time of the time range (ISO 8601 format) |
| `breakdown_by` | string ("none" | "endpoint" | "method" | "chain") | No | How to break down usage data: "none" for aggregate, "endpoint" by endpoint, "method" by RPC method, "chain" by chain |

### List-chains

**Slug:** `QUICKNODE_MCP_LIST_CHAINS`

List all chains and network slugs supported by Quicknode.

### List-endpoint-logs

**Slug:** `QUICKNODE_MCP_LIST_ENDPOINT_LOGS`

List the request/response logs for a specific Quicknode endpoint

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | Yes | The end timestamp for logs (ISO 8601 format) |
| `from` | string | Yes | The start timestamp for logs (ISO 8601 format) |
| `limit` | number | No | Number of logs to retrieve (1-100, default: 20) |
| `next_at` | string | No | Pagination token from previous response |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |
| `include_details` | boolean | No | Include request/response details in logs |

### List-endpoint-method-rate-limits

**Slug:** `QUICKNODE_MCP_LIST_ENDPOINT_METHOD_RATE_LIMITS`

List all method rate limits for a specific Quicknode endpoint

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### List-endpoints

**Slug:** `QUICKNODE_MCP_LIST_ENDPOINTS`

Get web3 Quicknode endpoints for the user, this is a list of all the endpoints that the user has created across all chains and networks. Supports pagination via limit and offset parameters

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | number | No | Number of endpoints to retrieve (1-250, default: 50) |
| `offset` | number | No | Number of endpoints to skip for pagination (default: 0) |

### List-endpoint-security

**Slug:** `QUICKNODE_MCP_LIST_ENDPOINT_SECURITY`

List all security options and rules for a Quicknode endpoint. Shows which security features are enabled/disabled and all configured rules (ip, jwt, referrer, domain_mask, token) with their rule IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Update-endpoint-method-rate-limit

**Slug:** `QUICKNODE_MCP_UPDATE_ENDPOINT_METHOD_RATE_LIMIT`

Update an existing method-specific rate limit for a Quicknode endpoint

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rate` | number | Yes | Maximum number of requests allowed within the specified interval |
| `status` | string ("enabled" | "disabled") | Yes | If the rate limiter should be enabled or disabled |
| `methods` | array | Yes | Array of method names to apply the rate limit to. NOTE: method matching is case-insensitive. Method names are lowercased server-side and compared against the lowercased limiter (e.g. a limiter on "eth_getBalance" is stored as "eth_getbalance" and matches incoming "eth_getBalance" traffic). The case you use when entering method names has no effect. |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |
| `method_rate_limit_id` | string | Yes | The unique identifier for the rate limiter |

### Update-endpoint-rate-limits

**Slug:** `QUICKNODE_MCP_UPDATE_ENDPOINT_RATE_LIMITS`

Update the general rate limits (RPS, RPM, RPD) for a Quicknode endpoint. Pass a positive integer to set a user override for that bucket, or pass -1 to remove an existing user override and fall back to the plan default; -1 on a bucket that has no override is a no-op and is reported in the `skipped` array. Each plan has a maximum rate limit per bucket; if you request a value above that maximum, the request still succeeds but the plan's maximum is applied for that bucket (e.g. setting rps=1000 on a plan with a 500 rps ceiling results in 500 rps enforced). Available to Build plans and higher (Discover/Free are read-only here). Returns a `before` and `after` snapshot of the enforced rate-limit rows so the caller can see what changed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rpd` | integer | No | Maximum requests per day. Pass -1 to remove an existing user override and fall back to the plan default; if no override exists, the bucket is skipped. |
| `rpm` | integer | No | Maximum requests per minute. Pass -1 to remove an existing user override and fall back to the plan default; if no override exists, the bucket is skipped. |
| `rps` | integer | No | Maximum requests per second. Pass -1 to remove an existing user override and fall back to the plan default; if no override exists, the bucket is skipped. |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |

### Update-endpoint-security-options

**Slug:** `QUICKNODE_MCP_UPDATE_ENDPOINT_SECURITY_OPTIONS`

Update security options for a specific Quicknode endpoint

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ips` | string ("enabled" | "disabled") | No | Specifies IP address-based restrictions or permissions |
| `cors` | string ("enabled" | "disabled") | No | Configures Cross-Origin Resource Sharing (CORS) policies to control how resources can be accessed by external domains |
| `hsts` | string ("enabled" | "disabled") | No | The HTTP Strict Transport Security (HSTS) |
| `jwts` | string ("enabled" | "disabled") | No | Configures JSON Web Tokens (JWTs) for secure authentication and authorization |
| `tokens` | string ("enabled" | "disabled") | No | Controls the token-based authentication mechanism |
| `referrers` | string ("enabled" | "disabled") | No | The URL or domain that is allowed to access the specific API endpoint |
| `domainMasks` | string ("enabled" | "disabled") | No | Configures the masking or restriction of specific domains |
| `endpoint_id` | string | Yes | The unique identifier of the Quicknode endpoint |
