The Quicknode MCP connector routes your AI agent's tool calls to Quicknode's own MCP server through Scalekit. Each user signs in to Quicknode once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 19 tools.
- Tools
- 19
- What they doRead · write · destructive
- 10 · 6 · 310 read6 write3 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Quicknode MCP connection
In AgentKit > Connections, create a Quicknode MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Quicknode MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'quicknodemcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Quicknode MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'quicknodemcp_list-chains',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "quicknodemcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Quicknode MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="quicknodemcp_list-chains",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolquicknodemcp_get-billingRetrieve billing data (invoices or payments) for the user's QuickNode account.Read-onlyGet Billing
Retrieve billing data (invoices or payments) for the user's QuickNode account.
Inputs
typestringrequired- The type of billing data to retrieve: "invoices" or "payments"one of
invoicespayments
quicknodemcp_get-endpointRetrieve details for a specific QuickNode endpoint by ID.Read-onlyGet Endpoint
Retrieve details for a specific QuickNode endpoint by ID.
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
quicknodemcp_get-endpoint-log-detailsRetrieve the full request payload and response for a specific endpoint log entry.Read-onlyGet Endpoint Log Details
Retrieve the full request payload and response for a specific endpoint log entry.
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
request_idstringrequired- The UUID of the log entry to get detailed information for
quicknodemcp_get-endpoint-metricsRetrieve performance metrics (method calls, response status, latency) for a QuickNode endpoint over a given period.Read-onlyGet Endpoint Metrics
Retrieve performance metrics (method calls, response status, latency) for a QuickNode endpoint over a given period.
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
metricstringrequired- The type of metric to retrieveone of
method_calls_over_timeresponse_status_over_timeresponse_status_breakdownmethod_response_time_max periodstringrequired- The time period for which the data is to be retrievedone of
hourdayweekmonth percentileinteger- Percentile (1-100) for response-time metrics. REQUIRED when metric is "method_response_time_max" (e.g. 50, 95, 99); ignored for other metrics
quicknodemcp_get-rpc-usageRetrieve RPC usage data for the account, optionally broken down by endpoint, method, or chain.Read-onlyGet Rpc Usage
Retrieve RPC usage data for the account, optionally broken down by endpoint, method, or chain.
Inputs
end_timestringrequired- The end time of the time range (ISO 8601 format)
start_timestringrequired- The start time of the time range (ISO 8601 format)
breakdown_bystring- How to break down usage data: "none" for aggregate, "endpoint" by endpoint, "method" by RPC method, "chain" by chainone of
noneendpointmethodchaindefaultnone
quicknodemcp_list-chainsList all blockchains and networks supported by QuickNode.Read-onlyList Chains
List all blockchains and networks supported by QuickNode.
Inputs
This tool takes no inputs.
quicknodemcp_list-endpoint-logsList request and response logs for a QuickNode endpoint within a time range.Read-onlyList Endpoint Logs
List request and response logs for a QuickNode endpoint within a time range.
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
fromstringrequired- The start timestamp for logs (ISO 8601 format)
tostringrequired- The end timestamp for logs (ISO 8601 format)
include_detailsboolean- Include request/response details in logsdefault
false limitnumber- Number of logs to retrieve (1-100, default: 20)default
20 next_atstring- Pagination token from previous response
quicknodemcp_list-endpoint-method-rate-limitsList all method-specific rate limits configured for a QuickNode endpoint.Read-onlyList Endpoint Method Rate Limits
List all method-specific rate limits configured for a QuickNode endpoint.
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
quicknodemcp_list-endpoint-securityList all security options and rules configured for a QuickNode endpoint.Read-onlyList Endpoint Security
List all security options and rules configured for a QuickNode endpoint.
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
quicknodemcp_list-endpointsList all web3 RPC endpoints in the user's QuickNode account with optional pagination.Read-onlyList Endpoints
List all web3 RPC endpoints in the user's QuickNode account with optional pagination.
Inputs
limitnumber- Number of endpoints to retrieve (1-250, default: 50)default
50 offsetnumber- Number of endpoints to skip for pagination (default: 0)default
0
quicknodemcp_create-endpointCreate a new web3 RPC endpoint for a given blockchain and network under the user's QuickNode account.WriteCreate Endpoint
Create a new web3 RPC endpoint for a given blockchain and network under the user's QuickNode account.
Inputs
chainstringrequired- The blockchain chain (e.g., 'ethereum', 'polygon', 'arbitrum')
networkstringrequired- The specific network within the chain (e.g., 'mainnet', 'testnet')
quicknodemcp_create-endpoint-method-rate-limitCreate a method-specific rate limit for a QuickNode endpoint, restricting how often specific RPC methods can be called.WriteCreate Endpoint Method Rate Limit
Create a method-specific rate limit for a QuickNode endpoint, restricting how often specific RPC methods can be called.
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
intervalstringrequired- The time interval for the rate limitone of
secondminutehour methodsarrayrequired- 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.
ratenumberrequired- Maximum number of requests allowed within the specified interval
quicknodemcp_create-security-ruleCreate a security rule (IP allowlist, JWT, referrer, domain mask, or token) for a QuickNode endpoint.WriteCreate Security Rule
Create a security rule (IP allowlist, JWT, referrer, domain mask, or token) for a QuickNode endpoint.
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
typestringrequired- The type of security ruleone of
ipjwtreferrerdomain_masktoken domain_maskstring- The domain mask (required when type is "domain_mask")
ipstring- The IP address (required when type is "ip")
kidstring- The key identifier for JWT (required when type is "jwt")
namestring- A human-readable name for the JWT config (required when type is "jwt")
public_keystring- 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 |EC ]PUBLIC KEY-----" / "-----END …-----" headers; malformed keys are rejected before the upstream call.
referrerstring- The allowed referrer URL (required when type is "referrer")
tokenstring- The authentication token (required when type is "token")
quicknodemcp_update-endpoint-method-rate-limitUpdate the rate, interval, or status of an existing method-specific rate limit on a QuickNode endpoint.WriteUpdate Endpoint Method Rate Limit
Update the rate, interval, or status of an existing method-specific rate limit on a QuickNode endpoint.
- Idempotent
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
method_rate_limit_idstringrequired- The unique identifier for the rate limiter
methodsarrayrequired- 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.
ratenumberrequired- Maximum number of requests allowed within the specified interval
statusstringrequired- If the rate limiter should be enabled or disabledone of
enableddisabled
quicknodemcp_update-endpoint-rate-limitsUpdate the general rate limits (requests per second, minute, or day) for a QuickNode endpoint.WriteUpdate Endpoint Rate Limits
Update the general rate limits (requests per second, minute, or day) for a QuickNode endpoint.
- Idempotent
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
rpdinteger- 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.
rpminteger- 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.
rpsinteger- 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.
quicknodemcp_update-endpoint-security-optionsUpdate security settings (CORS, HSTS, IP allowlists, JWT, tokens, referrers, domain masks) for a QuickNode endpoint.WriteUpdate Endpoint Security Options
Update security settings (CORS, HSTS, IP allowlists, JWT, tokens, referrers, domain masks) for a QuickNode endpoint.
- Idempotent
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
corsstring- Configures Cross-Origin Resource Sharing (CORS) policies to control how resources can be accessed by external domainsone of
enableddisabled domainMasksstring- Configures the masking or restriction of specific domainsone of
enableddisabled hstsstring- The HTTP Strict Transport Security (HSTS)one of
enableddisabled ipsstring- Specifies IP address-based restrictions or permissionsone of
enableddisabled jwtsstring- Configures JSON Web Tokens (JWTs) for secure authentication and authorizationone of
enableddisabled referrersstring- The URL or domain that is allowed to access the specific API endpointone of
enableddisabled tokensstring- Controls the token-based authentication mechanismone of
enableddisabled
quicknodemcp_delete-endpointArchive a QuickNode endpoint by ID, making it inactive.DestructiveDelete Endpoint
Archive a QuickNode endpoint by ID, making it inactive.
- Idempotent
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
quicknodemcp_delete-endpoint-method-rate-limitPermanently delete a method-specific rate limit from a QuickNode endpoint.DestructiveDelete Endpoint Method Rate Limit
Permanently delete a method-specific rate limit from a QuickNode endpoint.
- Idempotent
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
method_rate_limit_idstringrequired- The unique identifier of the rate limiter to delete. This can be found in the output of the list-endpoint-method-rate-limits tool
quicknodemcp_delete-security-rulePermanently delete a security rule from a QuickNode endpoint.DestructiveDelete Security Rule
Permanently delete a security rule from a QuickNode endpoint.
- Idempotent
Inputs
endpoint_idstringrequired- The unique identifier of the Quicknode endpoint
rule_idstringrequired- The unique identifier of the security rule to delete
typestringrequired- The type of security ruleone of
ipjwtreferrerdomain_masktoken
No tools match.