Starknet MCP Server
The Starknet MCP Server provides read-only access to the Starknet blockchain through various RPC methods, including:
Read Blockchain Data: Access blocks, transactions, receipts, state updates, and storage information
Query Blockchain State: Retrieve class hashes, class definitions, nonces, and chain ID
Event Handling: Get events from the blockchain
Blockchain Status: Check syncing status, block numbers/hashes, and get chain specifications
Contract Interaction: Perform read-only contract calls
Writing operations and fee estimation methods are currently not supported.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Starknet MCP Serverget the latest block number on Starknet"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
starknet-mcp
MCP server for Starknet. Makes the following Starknet RPC method available through MCP:
starknet_getBlockWithTxHashes
starknet_getBlockWithTxs
starknet_getBlockWithReceipts
starknet_getStateUpdate
starknet_getStorageAt
starknet_getTransactionStatus
starknet_getTransactionByHash
starknet_getTransactionByBlockIdAndIndex
starknet_getTransactionReceipt
starknet_getClass
starknet_getClassHashAt
starknet_getClassAt
starknet_getBlockTransactionCount
starknet_call
starknet_getEvents
starknet_getNonce
starknet_blockNumber
starknet_blockHashAndNumber
starknet_chainId
starknet_syncing
starknet_specVersionWrite methods are not yet supported.
Installation
Install Bun. Clone this repo. Install the dependencies with bun install. Update Claude's MCP config - see instructions for your particular OS. You'll want something like this in the claude_desktop_config.json file:
{
"mcpServers": {
"starknet": {
"command": "bun",
"args": ["/PATH/TO/THIS/REPO/starknet-mcp/index.ts"],
"env": {
"STARKNET_RPC_URL": "https://starknet-mainnet.public.blastapi.io/rpc/v0_7"
}
}
}
}Related MCP server: Geth MCP Proxy
Usage
After correctly configuring Claude Desktop, it will have access to all the available methods. You can start asking Claude questions about the state of the chain, e.g. "What is the latest block hash and number on Starknet?". If Claude determines it has to use an MCP method to answer your question, it will ask you for permissions:
You'll see the used method, its input and output inline in the chat.
Quirks
Methods starknet_estimateFee and starknet_estimateMessageFee are not yet supported.
Claude doesn't 100% follow the tool inputSchema. It prefers sending strings over anything else. Some of this is prevented in the code, but if you encounter any error, please open an issue.
Available Tools
1 toolget_blockC
Get a block from the Starknet blockchain
| Name | Required | Description | Default |
|---|---|---|---|
| blockNumber | No | The block number to get |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool does but lacks details on traits like error handling (e.g., what happens if the block doesn't exist), performance (e.g., latency), or return format. This is a significant gap for a tool interacting with a blockchain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with zero waste. It's front-loaded and appropriately sized for a simple tool, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of blockchain interactions and lack of annotations or output schema, the description is incomplete. It doesn't cover behavioral aspects like error cases, return values, or any constraints, which are crucial for an agent to use this tool effectively in a real-world scenario.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'blockNumber' documented in the schema. The description doesn't add any meaning beyond this, such as explaining valid ranges or default behavior when the parameter is omitted. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('a block from the Starknet blockchain'), making the purpose immediately understandable. However, it doesn't differentiate from any siblings (none exist), and 'Get' could be slightly more specific (e.g., 'Retrieve' or 'Fetch'), but it's still clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context. It's a basic statement of function without any usage instructions, leaving the agent to infer based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
get_block
TDQS
Scored across 1 tool
With only one tool, there is no possibility for ambiguity or overlap in purpose. The tool 'get_block' has a single, clearly defined function, so an agent cannot misselect between tools.
The naming follows a consistent verb_noun pattern ('get_block'), and with only one tool, there is no inconsistency to evaluate. The pattern is clear and predictable.
A single tool for a blockchain server is too few for the apparent scope of interacting with Starknet. This severely limits functionality, as typical blockchain operations would include querying transactions, accounts, contracts, or writing data, not just getting blocks.
The tool surface is severely incomplete for a Starknet blockchain server. It lacks basic operations like getting transactions, accounts, contract states, or writing data, which are essential for blockchain interactions, leaving significant gaps that will cause agent failures.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
MEOK ABCI Bridge MCP — read-only Tendermint / Cosmos blockchain query for agents. Built-in registry
Abstraxn: public Web3 MCP server for read-only chain data and pay-per-call relays.
Hosted MCP server for live Bittensor chain reads and self-custodial on-chain writes.
Related MCP Servers
- AlicenseBqualityCmaintenanceA comprehensive Model Context Protocol server that enables AI agents to interact with Starknet blockchain, query data, manage wallets, and work with smart contracts.25877MIT
- AlicenseNot gradedqualityAmaintenanceBridges Ethereum JSON-RPC queries from Geth nodes to the Model Context Protocol ecosystem, exposing blockchain operations as MCP tools. Enables AI models and applications to securely interact with Ethereum data including blocks, transactions, balances, and advanced debug functions through schema-validated access.624MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that bridges AI models with Ethereum blockchains via all JSON-RPC calls, enabling natural language queries for block numbers, balances, transactions, and smart contract data.2021MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with the Secret Network blockchain, including querying blockchain data, managing wallets, sending transactions, and executing smart contracts, all through natural language via the MCP protocol.MIT