オルディスカンMCP v1
Ordiscan API 統合による MCP フレームワーク HTTP サーバー実装。
特徴
ポート1337のHTTPストリームトランスポート
リアルタイム通信のためのストリーム応答モード
包括的なOrdiscan API統合(29ツール)
Zod スキーマ検証を使用した TypeScript 実装
詳細なエラー処理と応答フォーマット
直接 API 接続 (プロキシは不要)
ベアラートークン認証
Ordiscan API によって処理されるレート制限
Related MCP server: Obsidian MCP REST Server
API接続と認証
直接接続
すべてのツールは、プロキシを必要とせずにOrdiscan API( api.ordiscan.com )に直接接続します。これにより、以下のことが保証されます。
応答時間の短縮
遅延の低減
追加の設定は不要
直接的なエラー処理
Ordiscan APIによる自動レート制限
認証
すべてのツールには、ベアラー トークンを使用した認証が必要です。
API キーは次のいずれかの方法で提供する必要があります。
各ツール呼び出しのパラメータとして(
apiKeyパラメータ)ORDISCAN_API_KEY環境変数を通じて
認証にはベアラートークン形式を使用します
すべてのリクエストには
Authorization: Bearer <your-api-key>ヘッダーが含まれます無効または欠落したAPIキーは認証エラーを引き起こします
設定
依存関係をインストールします:
npm installプロジェクトをビルドします。
npm run buildMCP クライアントを構成します。
{
"mcpServers": {
"ordiscanmcpv1": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-deployed-server.com/mcp"
]
}
}
}url: ( http://localhost:1337/mcp ) リモート: ( https://ordiscan-mcp-v1.onrender.com/mcp )
サーバーを起動します。
npm startホットリロードを使用した開発の場合:
npm run devリクエストとともにキーを一度渡すだけで、準備完了です。
プロジェクト構造
ordiscanmcpv1/
├── src/
│ ├── tools/
│ │ ├── ordiscan-utils.ts
│ │ ├── ordiscan.ts # Main Ordiscan Tool
│ │ │
│ │ ├── # Address Tools
│ │ ├── ordiscan-utxo.ts
│ │ ├── ordiscan-inscriptions.ts
│ │ ├── ordiscan-inscriptions-detail.ts
│ │ ├── ordiscan-runes-balance.ts
│ │ ├── ordiscan-brc20-balance.ts
│ │ ├── ordiscan-rare-sats.ts
│ │ │
│ │ ├── # Activity Tools
│ │ ├── ordiscan-inscriptions-activity.ts
│ │ ├── ordiscan-runes-activity.ts
│ │ ├── ordiscan-brc20-activity.ts
│ │ │
│ │ ├── # Transaction Tools
│ │ ├── ordiscan-tx-info.ts
│ │ ├── ordiscan-tx-inscriptions.ts
│ │ ├── ordiscan-tx-inscription-transfers.ts
│ │ ├── ordiscan-tx-runes.ts
│ │ │
│ │ ├── # Inscription Tools
│ │ ├── ordiscan-inscription-info.ts
│ │ ├── ordiscan-inscription-traits.ts
│ │ ├── ordiscan-inscriptions-list.ts
│ │ ├── ordiscan-inscriptions-detail.ts
│ │ │
│ │ ├── # Collection Tools
│ │ ├── ordiscan-collections-list.ts
│ │ ├── ordiscan-collection-info.ts
│ │ ├── ordiscan-collection-inscriptions.ts
│ │ │
│ │ ├── # Rune Tools
│ │ ├── ordiscan-runes-list.ts
│ │ ├── ordiscan-rune-market.ts
│ │ ├── ordiscan-rune-name-unlock.ts
│ │ │
│ │ ├── # BRC-20 Tools
│ │ ├── ordiscan-brc20-list.ts
│ │ ├── ordiscan-brc20-info.ts
│ │ │
│ │ ├── # Sat Tools
│ │ ├── ordiscan-sat-info.ts
│ │ ├── ordiscan-utxo-rare-sats.ts
│ │ └── ordiscan-utxo-sat-ranges.ts
│ │
│ └── index.ts
├── package.json
├── tsconfig.json
└── README.mdパラメータ処理
すべてのツールはordiscan-utils.tsの堅牢なパラメータ処理ユーティリティを使用します。
柔軟な番号処理
flexibleNumber(): 数値パラメータとして文字列と数値の両方の入力を受け入れる文字列の数値を整数に自動的に変換します
該当する場合は数値範囲を検証します
ページ番号、序数、ブロックの高さに使用されます
柔軟な列挙型の処理
flexibleEnum(): 文字列入力を定義済みの値と照合して検証する並べ替え順序に使用されます(「最新」/「最古」)
型フィルターやその他の列挙値に使用されます
無効な入力に対して明確なエラーメッセージを表示します
これらのユーティリティは、型の安全性と検証を維持しながら、すべてのツール間で一貫したパラメータ処理を保証します。
利用可能なツール(合計29個)
1. メインツール
ordiscan_main : ルーン情報とステータスの汎用ツール
2. アドレスツール (6)
UTXOツール: ビットコインアドレスが所有するすべてのUTXOを取得する
基本および詳細な刻印ツール: 住所の刻印情報を取得します
ルーンバランスツール: アドレスのルーンバランスを取得します
BRC-20 残高ツール: アドレスの BRC-20 トークン残高を取得します
レアサッツツール: アドレスが所有するレアサッツを取得する
3. アクティビティツール(3)
碑文アクティビティツール: 住所の碑文の移転を追跡する
ルーンアクティビティツール: アドレスのルーン転送を追跡する
BRC-20 アクティビティツール: アドレスの BRC-20 トークン転送を追跡する
4. 取引ツール (4)
取引情報ツール: 詳細な取引情報を取得する
トランザクション刻印ツール: トランザクションの刻印を取得する
トランザクション刻印転送ツール: トランザクション内の刻印転送を追跡します
トランザクションルーンツール: トランザクション内のルーン転送を追跡する
5. 刻印ツール(4)
碑文情報ツール: 碑文の詳細情報を取得します
碑文特性ツール: 碑文の特性を取得する
碑文リストツール: すべての碑文のページ区切りリストを取得します
碑文移転ツール: 碑文の移転を追跡する
6. 収集ツール (3)
コレクションリストツール: ページ分けされたコレクションのリストを取得します
コレクション情報ツール: コレクションの詳細情報を取得します
コレクションの碑文ツール: コレクション内の碑文を取得する
7. ルーンツール(3)
ルーンリストツール: すべてのルーンのリストを取得します
ルーン市場情報ツール: ルーンの市場情報を取得する
ルーン名ロック解除ツール: ルーン名が使用可能かどうかを確認
8. BRC-20ツール(2)
BRC-20 リストツール: すべての BRC-20 トークンのリストを取得します
BRC-20トークン情報ツール: BRC-20トークンの詳細情報を取得します
9. 衛星ツール (3)
衛星情報ツール: 特定の衛星に関する情報を取得する
UTXO レア衛星ツール: UTXO でレア衛星を取得します
UTXO Sat Rangesツール: UTXOのSat Rangesを取得する
ツールの例
碑文情報ツール
特定の碑文に関する詳細な情報を取得します。
ツール名: ordiscan_inscription_info
パラメータ:
id(文字列): 碑文ID (例: b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0)apiKey(文字列、オプション): Ordiscan APIキー
応答例:
{
"success": true,
"formatted": {
"id": "b61b0172d95e266c18aea0c624db987e971a5d6d4ebc2aaed85da4642d635735i0",
"number": 123456,
"type": "image/png",
"timestamp": "2024-01-01 12:00:00",
"sat": "1,234,567",
"content_url": "https://ordinals.com/content/...",
"collection": "example-collection",
"owner": {
"address": "bc1...",
"output": "txid:vout"
},
"genesis": {
"address": "bc1...",
"output": "txid:vout"
}
}
}ルーンマーケットツール
特定のルーンの市場情報を取得します。
ツール名: ordiscan_rune_market
パラメータ:
name(文字列): ルーンの一意の名前(スペースなし)apiKey(文字列、オプション): Ordiscan APIキー
応答例:
{
"success": true,
"formatted": {
"price": {
"sats": "1,234.56",
"usd": "$0.50"
},
"market_cap": {
"btc": "12.3456",
"usd": "$500,000"
}
}
}BRC-20 情報ツール
BRC-20 トークンの詳細情報を取得します。
ツール名: ordiscan_brc20_info
パラメータ:
tick(文字列): トークンの一意の目盛りapiKey(文字列、オプション): Ordiscan APIキー
応答例:
{
"success": true,
"formatted": {
"tick": "ORDI",
"supply": {
"max": "21,000,000",
"minted": "15,000,000",
"remaining": "6,000,000",
"percent_minted": "71.43%"
},
"market": {
"price_usd": "$1.23",
"market_cap_usd": "$18,450,000",
"fully_diluted_market_cap_usd": "$25,830,000"
}
}
}エラー処理
すべてのツールには包括的なエラー処理が含まれています。
APIキーの検証
ネットワークリクエストエラー
無効な入力検証
Ordiscan APIからの応答のレート制限
詳細なエラーメッセージ
レスポンスのフォーマット
各ツールは、生の応答とフォーマットされた応答の両方を提供します。
dataフィールドの生データformattedフィールド内の人間が読める形式のデータすべてのツールで一貫したエラー形式
適切な数値書式と日付のローカライズ
セキュリティに関する推奨事項
APIキー管理
コード内にAPIキーをハードコードしないでください
APIキーの保存に環境変数を使用する
APIキーを定期的にローテーションする
開発と本番で異なるAPIキーを使用する
エラー処理
サーバーは安全なエラー処理を実装します。
エラーメッセージには機密情報が含まれていない
適切なHTTPステータスコード
構造化されたエラー応答
内部を公開せずにエラーを記録する
入力検証
すべてのツールは厳密な入力検証を使用します。
すべてのパラメータに対する Zod スキーマ検証
TypeScriptによる型チェック
数値入力に対する柔軟な数値処理
列挙値の文字列検証
レート制限
レート制限はOrdiscan APIによって処理されます。
追加のレート制限は不要
APIキーベースのレート制限
レート制限超過時の適切なエラー応答
自動レート制限処理