Skip to main content
Glama
milancermak

Starknet MCP Server

by milancermak

スタークネットMCP

Starknet用のMCPサーバー。MCPを通じて以下のStarknet RPCメソッドを利用できるようになります。

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_specVersion

書き込みメソッドはまだサポートされていません。

インストール

Bunをインストールします。このリポジトリをクローンします。bun bun installで依存関係をインストールします。Claude の MCP 設定を更新します。お使いの OS の手順を参照してください。claude_desktop_config.json ファイルに以下の内容claude_desktop_config.json追加します。

{
  "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

使用法

Claude Desktopを正しく設定すると、利用可能なすべてのメソッドにアクセスできるようになります。チェーンの状態についてClaudeに質問できるようになります。例えば、「Starknetの最新のブロックハッシュと番号は何ですか?」などです。Claudeが質問に答えるためにMCPメソッドを使用する必要があると判断した場合、権限を求められます。

使用されたメソッド、その入力と出力がチャットにインラインで表示されます。

癖

メソッドstarknet_estimateFeeおよびstarknet_estimateMessageFeeはまだサポートされていません。

Claude はツールの inputSchema に100% 準拠していません。文字列の送信を優先します。コード内では一部は回避されていますが、エラーが発生した場合は、Issue を開いてください。

Available Tools

1 tool
get_blockC

Get a block from the Starknet blockchain

ParametersJSON Schema
NameRequiredDescriptionDefault
blockNumberNoThe block number to get

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. 1 tool updatev1.0.0
    • First observedget_block

TDQS

B3/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness1/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Bridges 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.
    42 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    10 npm
    21
    MIT