Phalcon MCP Server について
Phalcon MCP ServerはBlockSecをMCPクライアントに接続し、ブロックチェーン取引の追跡や分析を提供します。オンチェーン取引の詳細やチェーン識別情報が必要なアプリケーション向けです。
主な機能
- 01取引の呼び出しとGas使用量の追跡
- 02取引と資金フローの分析
- 03アドレスラベルと残高変化の取得
- 04コントラクトの状態変化の確認
- 05取引分析結果の集約
- 06名前によるチェーンIDの検索
活用シーン
- 01取引の呼び出し履歴とGas使用量の確認
- 02取引の資金フローとトークン詳細の調査
- 03アドレスラベルと残高変化の特定
- 04名前からチェーンIDを検索
MCP 対応
BlockSecを利用したブロックチェーン分析ツールをMCPクライアントに公開します。取引の追跡や分析、チェーンIDの検索が可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/mark3labs/phalcon-mcp:latestローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/mark3labs/phalcon-mcp:lateststdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Phalcon MCP サーバー
この MCP サーバーは、BlockSec プラットフォームと連携し、Model Context Protocol(MCP)を通じてブロックチェーンのトランザクション分析ツールを提供します。
Model Context Protocol(MCP)は、AI モデルを統合するためのプロトコルであり、AI モデルが外部のツールやデータソースにアクセスできるようにします。
コンポーネント
ツール
トランザクション分析
-
Trace
- ブロックチェーン上のトランザクションに対する各種呼び出しを、ガス使用量の指標とともに追跡します
- パラメーター:
chainId(必須)、transactionHash(必須)
-
Profile
- トランザクションの詳細、資金の流れ、トークン情報を含めて、ブロックチェーン上のトランザクションをプロファイリングします
- パラメーター:
chainId(必須)、transactionHash(必須)
-
AddressLabel
- トークン、プロトコル、その他のオンチェーンエンティティなど、コントラクトアドレスのわかりやすいラベルを取得します
- パラメーター:
chainId(必須)、transactionHash(必須)
-
BalanceChange
- トランザクションの詳細な残高変更情報を取得します
- パラメーター:
chainId(必須)、transactionHash(必須)
-
StateChange
- トランザクションにおけるコントラクト内のストレージ変数など、状態変更の詳細情報を取得します
- パラメーター:
chainId(必須)、transactionHash(必須)
-
TransactionOverview
- 利用可能なすべての分析ツールのデータを集約し、トランザクションの包括的な概要を提供します
- パラメーター:
chainId(必須)、transactionHash(必須)
チェーン情報
- GetChainIdByName
- 名前、チェーン、または chainSlug からブロックチェーンのチェーン ID を取得します
- パラメーター:
name(必須)
はじめに
インストール
Go Install を使用する
go install github.com/mark3labs/phalcon-mcp@latest
使用方法
MCP サーバーを起動します:
phalcon-mcp serve
バージョンを確認します:
phalcon-mcp version
パッケージとして使用する
Go プロジェクトにサーバーをインポートできます:
Stdio モード
import "github.com/mark3labs/phalcon-mcp/server"
func main() {
// Create a new server with version
s := server.NewServer("1.0.0")
// Start the server in stdio mode
if err := s.ServeStdio(); err != nil {
log.Fatalf("Server error: %v", err)
}
}
インプロセスモード
mcp-go クライアントライブラリを使ってインプロセスで使用する場合:
import (
"context"
"log"
"github.com/mark3labs/mcp-go/client"
"github.com/mark3labs/mcp-go/client/transport"
"github.com/mark3labs/phalcon-mcp/server"
)
func main() {
// Create the Phalcon MCP server
phalconServer := server.NewServer("1.0.0")
// Create an in-process transport using the server's MCPServer
inProcessTransport := transport.NewInProcessTransport(phalconServer.GetMCPServer())
// Create an MCP client using the in-process transport
mcpClient := client.NewMCPClient(inProcessTransport)
// Start the transport
ctx := context.Background()
if err := mcpClient.Connect(ctx); err != nil {
log.Fatalf("Failed to connect: %v", err)
}
defer mcpClient.Close()
// Initialize the client
if err := mcpClient.Initialize(ctx); err != nil {
log.Fatalf("Failed to initialize: %v", err)
}
// List available tools
tools, err := mcpClient.ListTools(ctx)
if err != nil {
log.Fatalf("Failed to list tools: %v", err)
}
// Use the tools...
result, err := mcpClient.CallTool(ctx, "get-chain-id-by-name", map[string]any{
"name": "ethereum",
})
if err != nil {
log.Fatalf("Failed to call tool: %v", err)
}
}
Model Context Protocol での使用
このサーバーを MCP 対応アプリに統合するには:
{
"mcpServers": {
"phalcon": {
"command": "phalcon-mcp",
"args": ["serve"]
}
}
}
Docker
Docker で実行する
Docker を使用して Phalcon MCP サーバーを実行できます:
docker run -i --rm ghcr.io/mark3labs/phalcon-mcp:latest serve
MCP 向けの Docker 設定
Docker イメージを MCP 対応アプリに統合するには:
{
"mcpServers": {
"phalcon": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/mark3labs/phalcon-mcp:latest",
"serve"
]
}
}
}
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。