MCP Server for Bitcoin Lightning について
MCP Server for Bitcoin Lightningは、ローカルのLightning Network Daemon(lnd)をラップし、AgenticシステムからLightning Networkを操作できるようにします。SSEで接続し、稼働中のlndを必要とします。
主な機能
- 01ローカルのlndへの接続
- 02MCP経由のLightning Network通信
- 03SSEトランスポートの利用
活用シーン
- 01AgenticシステムからLightning Networkを操作
- 02LangGraph経由でLightning MCPサーバーに接続
MCP 対応
ローカルのlndを介したLightning Network機能をMCPクライアントに公開し、SSEトランスポートを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Bitcoin Lightning 用 MCP サーバー
このリポジトリでは、https://github.com/ehallmark/btc-lightning-client を使用してローカルの Lightning Network Daemon(lnd)と通信し、Model Context Protocol(MCP)サーバーとしてラップしています。この MCP サーバーは、エージェント型システムを使って Lightning Network とやり取りするために利用できます。
前提条件
- Python >= 3.10
- パッケージ管理用の
uv - マシン上で Lightning Network Daemon(
lnd)が稼働している必要があります。lndの詳細については、https://github.com/lightningnetwork/lnd をご覧ください。
MCP サーバーの実行
export LIGHTNING_RPC_PORT=<lnd_port>
export LIGHTNING_CERT_PATH="/path/to/lnd/tls.cert"
export LIGHTNING_MACAROON_PATH=/path/to/bitcoin/simnet/admin.macaroon
export UVICORN_PORT=<some port>
export UVICORN_HOST=<some host>
uv run main.py
MCP サーバーへの接続
このサーバーでは、トランスポートに SSE を使用しています。
LangGraph フレームワークを使用する場合は、次のアダプターを使って接続できます。
from contextlib import asynccontextmanager
from langchain_mcp_adapters.client import MultiServerMCPClient
@asynccontextmanager
async def make_graph():
async with MultiServerMCPClient(
{
'lightning': {
'url': 'http://localhost:8000/sse',
'transport': 'sse',
}
}
) as lightning_mcp:
workflow = create_workflow(user, lightning_mcp)
graph = workflow.compile()
yield graph
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。