Abstraxn Agent Layer について
Abstraxn Agent Layer は、チェーンデータや関連情報を必要とする MCP クライアントとエージェント向けの公開 Web3 MCP サーバーです。無料の読み取り・未署名トランザクション用ツールと、呼び出し側のウォレットで直接決済する従量課金リレーを提供します。
主な機能
- 01EVM と Solana のチェーン・取引情報の照会
- 02ガス、ERC-20 情報、トークン価格の取得
- 03未署名の送金トランザクションの作成
- 04天気情報の照会ツール
- 05市場、Web3、旅行、場所、ID の有料照会
活用シーン
- 01ブロック高、取引状況、ガス情報の確認
- 02署名やブロードキャストをせずに送金を準備
- 03市場、ウォレット、旅行、場所の情報検索
- 04複数レコードのソーシャルプロフィール照合
MCP 対応
HTTP MCP エンドポイントを通じて、Web3、ネットワーク、天気、市場、旅行、場所、ソーシャルプロフィールの名前空間付きツールを公開します。有料ツールは x402 の支払いチャレンジを使い、呼び出し側のウォレットが直接決済します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.abstraxn.com/mcpclaude mcp add --transport http sandeep-antier-abstraxn https://mcp.abstraxn.com/mcp{"mcpServers":{"sandeep-antier-abstraxn":{"type":"http","url":"https://mcp.abstraxn.com/mcp"}}}Cursor で開く{"servers":{"sandeep-antier-abstraxn":{"type":"http","url":"https://mcp.abstraxn.com/mcp"}}}VS Code で開く{"mcpServers":{"sandeep-antier-abstraxn":{"type":"http","url":"https://mcp.abstraxn.com/mcp"}}}{"mcpServers":{"sandeep-antier-abstraxn":{"serverUrl":"https://mcp.abstraxn.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
12| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| chain | enum | いいえ | ブロックチェーンネットワーク。すべてのサポート対象チェーンを指定する場合は "all"(デフォルト)。次のいずれか:solana、solana-devnet、ethereum、sepolia、polygon、amoy、bsc、bsc-testnet、base、base-sepolia、tempo、tempo-testnet、arbitrum-one、monad、skale-base-sepolia、allsolana | solana-devnet | ethereum | sepolia | polygon | amoy | bsc | bsc-testnet | base | base-sepolia | tempo | tempo-testnet | arbitrum-one | monad | skale-base-sepolia | all |
詳細
Abstraxn 公開 Web3 MCP サービス
Web3 データを扱う無料の公開 MCP(Model Context Protocol)サーバーです。 任意の MCP クライアント(Claude Desktop、Cursor、ご自身のエージェントなど)から接続すると、リアルタイムのチェーンデータ(ブロック高、ガス、トランザクションのステータス、ERC-20 情報、現物価格)を読み取ったり、天気予報を調べたり、署名されていない EVM/Solana の送金トランザクションを作成したりできます。また、従量課金制の一部のツールでは、市場データ、ウォレット/トークン/ENS、旅行検索、場所/太陽光/航空写真のデータ、ソーシャルプロフィールの本人特定情報を検索できます。
**API キー、アカウント、登録は不要です。**無料ツールは誰でも利用できます。有料ツールの支払いは、x402 決済プロトコルを通じて呼び出し元のウォレットから直接行われます。このサービスがお客様に代わって資金を保管したり、署名したりすることはありません。
公式の @modelcontextprotocol/sdk と NestJS 11 を基盤に構築されています。
目次
クイックスタート
git clone https://github.com/Abstraxn-Labs/abstraxn-agent-layer.git
cd abstraxn-agent-layer
npm install
cp .env.example .env
# Edit .env: Postgres connection + UPSTREAM_RELAY_BASE_URL / ENRICHMENT_RELAY_BASE_URL
# (each required for its own group of paid tools) + WEATHERAPI_KEY (required for weather.forecast)
npm run start:dev
- ヘルスチェック:
GET http://localhost:3011/health - MCP エンドポイント:
POST http://localhost:3011/mcp - API ドキュメント(ヘルスチェックのみ):
http://localhost:3011/api/docs
データベースのマイグレーションは起動時に自動で実行されるため、個別に CLI を実行する必要はありません。
Claude Desktop/Cursor から使う
MCP クライアントの設定ファイル(例:claude_desktop_config.json または Cursor の mcp.json)に、次の内容を追加します。
{
"mcpServers": {
"abstraxn-public-web3": {
"url": "http://localhost:3011/mcp"
}
}
}
クライアントを再起動すると、以下のツールを利用できるようになります。追加の設定は不要です。
利用可能なツール
| ツール | 有料? | 機能 |
|---|---|---|
network.blocknumber | いいえ | 現在の EVM ブロック番号または Solana スロットを取得します。1 つのチェーン、またはすべてのチェーンを一度に照会できます。 |
network.transaction_status | いいえ | EVM または Solana で、ハッシュからトランザクション/署名を検索します。 |
network.gas_info | いいえ | EVM チェーンの現在のガス価格と EIP-1559 の手数料の目安を取得します。 |
network.token_info | いいえ | ERC-20 の名前/シンボル/小数桁数/総供給量を取得します。 |
network.token_price | いいえ | CoinGecko 経由で現物価格を取得します(デフォルトは ETH/USD)。 |
network.prepare_transfer | いいえ | 明示された from/to/amount に基づき、署名前のネイティブ/ERC-20/SPL 送金トランザクションを作成します。署名やブロードキャストは行いません。 |
weather.forecast | いいえ | 現在の気象状況、予報、天文情報、場所の検索、過去の気象情報、海洋気象の照会に対応する 6 つのアクションです。 |
market.crypto | はい | 暗号資産の市場データを検索します(CoinGecko 提供)。6 つのアクションがあります。 |
web3.lookup | はい | マルチチェーンのウォレット/トークン/ENS/トランザクションシミュレーションを検索します。7 つのアクションがあります。 |
travel.search | はい | 航空券とホテルを検索します。2 つのアクションがあります。 |
places.lookup | はい | 場所/太陽光/航空写真の情報を検索します。11 のアクションがあります。 |
social.profile_lookup | はい | 複数のレコードを対象に、人物/ソーシャルプロフィールの本人特定情報を解決します。 |
ツールは分野ごとに名前空間(network.*、market.*、web3.*、travel.*、places.*、social.*)で分類されているため、MCP クライアントでは平坦な一覧ではなく、ツリーとして参照できます。
**有料ツールの仕組み:**支払いなしで呼び出すと、エラーではなく paymentRequired チャレンジが返されます。ウォレットクライアントで署名し、paymentPayload を設定して同じ呼び出しを再試行してください。支払いはウォレットから直接行われ、このサービスはリクエストを中継するだけです。
ツールを直接呼び出す(curl)
通常は(上記の)MCP クライアントを使いますが、エンドポイントは HTTP 上の通常の JSON-RPC なので、スクリプトから直接呼び出すこともできます。
BASE=http://localhost:3011
ACCEPT='Accept: application/json, text/event-stream' # required by the MCP spec
# 1. Initialize a session
curl -s -X POST "$BASE/mcp" -H 'Content-Type: application/json' -H "$ACCEPT" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0"}}}'
# 2. List available tools
curl -s -X POST "$BASE/mcp" -H 'Content-Type: application/json' -H "$ACCEPT" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# 3. Call a tool
curl -s -X POST "$BASE/mcp" -H 'Content-Type: application/json' -H "$ACCEPT" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"network.token_price","arguments":{"symbol":"bitcoin"}}}'
GET /mcp が 405 を返すのは仕様です。各呼び出しはステートレスであり、再開するセッションはありません。
設定
.env.example を .env にコピーします。必須と記された項目以外はすべて、安全なデフォルト値が設定されています。
| 変数 | 必須 | 説明 |
|---|---|---|
PORT | いいえ | HTTP ポート(デフォルトは 3011) |
POSTGRES_HOST / PORT / USER / PASSWORD / DB | いいえ | Postgres 接続設定。乱用の追跡にのみ使用します |
PUBLIC_MCP_RATE_LIMIT_PER_MIN / _WINDOW_MS | いいえ | IP ごとのグローバルなレート制限(デフォルトは 30 回/分) |
CHAIN_RPC_* | いいえ | チェーンごとの EVM RPC オーバーライド。未設定の場合はパブリックのデフォルト値を使用します(src/mcp/utils/chain-registry.util.ts を参照) |
SOLANA_RPC_URL / SOLANA_DEVNET_RPC_URL | いいえ | Solana クラスター RPC のオーバーライド |
WEATHERAPI_KEY | はい | weather.forecast 用の無料 API キーです。WeatherAPI.com の登録ページで取得できます(無料プランは月 100K 回の呼び出しに対応し、有料機能は使用しません)。未設定の場合、サービス全体が失敗するのではなく、weather.forecast が明確なエラーを返します。 |
WEATHERAPI_BASE_URL | はい | weather.forecast 用のアップストリームベース URL です。ソースにはデフォルト値を含めていないため、設定するまではツールが適切にエラーを返します(.env.example では https://api.weatherapi.com/v1 として設定されています。ローカルテストでモック/セルフホストのミラーを指定するには、値をオーバーライドしてください)。 |
UPSTREAM_RELAY_BASE_URL | はい | market.crypto / web3.lookup / travel.search の背後にあるアップストリームリレーのベース URL です。デフォルト値は含めていないため、設定するまでこれら 3 つのツールは動作しません |
ENRICHMENT_RELAY_BASE_URL | はい | places.lookup / social.profile_lookup の背後にあるアップストリームリレーのベース URL です。UPSTREAM_RELAY_BASE_URL とは別のアップストリームで、デフォルト値は含めていません |
仕組み
MCP client (Claude Desktop, Cursor, your agent)
→ POST /mcp (this service, stateless — a fresh McpServer per request)
→ free tools: direct chain RPC / CoinGecko calls
→ paid tools: relayed upstream, settled by the caller's wallet via x402
これは単体でデプロイできるサービスであり、他の Abstraxn サービスとワークスペースやデータベースを共有しません。これは意図的な設計です。いくつかの MCP レジストリーでは、パブリック MCP サーバーを専用のリポジトリーに置き、ルートと固定のツールセットをそれぞれ 1 つにして、全体を通してレビューできることが求められます。
技術スタック: Node.js 20+ · NestJS 11 · @modelcontextprotocol/sdk
^1.30.0(公式 SDK) · PostgreSQL + TypeORM · @x402/core ·
viem(EVM)+ 生の JSON-RPC(Solana の読み取り)· @solana/web3.js + @solana/spl-token(Solana の送金トランザクション構築)· @skalenetwork/bite(SKALE のプライバシー保護暗号化送金)· helmet、
@nestjs/throttler
データベース
Postgres は乱用の追跡にのみ使用されます。テナント、ポリシー、設定のテーブルはありません。
| テーブル | 用途 |
|---|---|
observed_ips | 呼び出し元の IP ごとに 1 行を記録し、累計呼び出し回数と最終確認時刻を保持します。 |
observed_wallets | x402 経由で支払いを行ったことが確認されたウォレットアドレスごとに 1 行を記録します。 |
public_mcp_transactions | 完了した有料呼び出しの追記専用履歴です。 |
Postgres に接続できない場合でも、呼び出しは成功します。追跡データの書き込みはベストエフォートで行われ、実際の MCP リクエストをブロックしたり失敗させたりすることはありません。
セキュリティ
このサービスはキーなしで誰でも呼び出せるため、いくつかの不変条件が重要です。
- SSRF の攻撃対象となる箇所はありません: すべての外部 URL(チェーン RPC、アップストリームリレー、CoinGecko)はサーバー側の設定から取得され、ツールが呼び出し元から渡された URL を受け付けることはありません。
- レート制限はグローバルで、IP をキーにします。 アカウントがない場合に利用できる唯一の制御手段です。リバースプロキシの背後にデプロイする場合は、
main.tsでapp.set('trust proxy', ...)を設定してください。設定しないと、実際の呼び出し元ではなくプロキシに対してレート制限が適用されます。 - シークレットは DB パスワードと
WEATHERAPI_KEYのみで、どちらも環境変数でのみ管理し、ログには記録しません。weather.forecastはキーをクエリパラメーターとしてプロバイダーへのリクエスト URL に含めますが、ログにはアクション名とエラーメッセージのみが記録され、URL 自体は記録されません。 - CORS は設計上ワイルドカードです。 ここではテナント固有の情報がオリジンをまたいで送信されることはありません。
セキュリティ上の問題を見つけましたか?公開 issue を作成する前に、CONTRIBUTING.md を参照してください。
スクリプト
| スクリプト | 説明 |
|---|---|
npm run start:dev | ウォッチモードで実行します |
npm run build | dist/ にコンパイルします |
npm run start:prod | コンパイル済みのビルド(dist/main)を実行します |
npm run lint | ESLint |
npm test | Jest — ユニットテスト、SDK レベルの統合テスト、HTTP スモークテスト |
コントリビューション
Issue と PR を歓迎します。新しいツールの追加方法と、プロジェクトの完了条件についてはCONTRIBUTING.mdをご覧ください。
ライセンス: MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。