MCP Mempool
An MCP server that provides AI agents with real-time and historical Bitcoin network data by wrapping the mempool.space WebSocket and REST APIs. It enables tracking addresses, monitoring blocks, and retrieving transaction details or fee estimates through natural language.
README
MCP Mempool 🚀
비트코인 mempool.space WebSocket & REST API를 위한 Model Context Protocol (MCP) 서버
📋 개요
MCP Mempool은 mempool.space의 WebSocket과 REST API를 MCP (Model Context Protocol) 형태로 래핑하여 AI Agent와 외부 애플리케이션이 비트코인 네트워크 데이터를 쉽게 활용할 수 있도록 하는 서버입니다.
✨ 주요 기능
🔄 WebSocket 기능 (실시간)
- 실시간 블록 데이터: 새 블록 생성 시 즉시 알림
- 멤풀 블록 템플릿: 예상되는 다음 블록 정보
- 네트워크 통계: 메모리풀 상태 실시간 모니터링
- 주소 추적: 특정 비트코인 주소의 거래 실시간 추적
- 라이브 차트: 수수료 변화 추이 실시간 데이터
🔍 REST API 기능 (쿼리)
- 주소 정보 조회: 잔액, 거래 내역, UTXO 목록
- 거래 정보: 개별 거래 상세 정보 및 상태
- 블록 데이터: 블록 정보, 거래 목록, 최신 높이
- 수수료 정보: 추천 수수료율, 멤풀 블록별 수수료
- 멤풀 상태: 현재 멤풀 정보 및 최근 거래
- 주소 검증: 비트코인 주소 유효성 검사
🚀 빠른 시작
Docker로 실행 (권장)
# 개발 환경
docker-compose up mcp-mempool-dev
# 프로덕션 환경
docker-compose up mcp-mempool-prod
서버가 실행되면 http://localhost:8000 에서 접근 가능합니다.
로컬 설치
# 의존성 설치
uv sync
# 서버 실행
uv run python -m mempool_ws_mcp_server.main
🔧 환경 변수 설정
# 서버 설정
MCP_HOST=0.0.0.0 # 서버 호스트
MCP_PORT=8000 # 서버 포트
LOG_LEVEL=INFO # 로그 레벨
# Mempool API 설정
MEMPOOL_WS_URL=wss://mempool.space/api/v1/ws # WebSocket URL
MEMPOOL_API_URL=https://mempool.space/api # REST API URL
# WebSocket 설정
WS_RECONNECT_INTERVAL=5 # 재연결 간격 (초)
WS_MAX_RECONNECT_ATTEMPTS=10 # 최대 재연결 시도
WS_PING_INTERVAL=30 # Ping 간격 (초)
WS_PING_TIMEOUT=10 # Ping 타임아웃 (초)
# HTTP 클라이언트 설정
HTTP_TIMEOUT=30 # HTTP 요청 타임아웃 (초)
HTTP_MAX_RETRIES=3 # 최대 재시도 횟수
# 성능 설정
MAX_MESSAGE_QUEUE_SIZE=1000 # 메시지 큐 최대 크기
MESSAGE_BATCH_SIZE=10 # 메시지 배치 크기
# 보안 설정
CORS_ENABLED=true # CORS 활성화
ALLOWED_ORIGINS=* # 허용된 오리진 (콤마 구분)
# 개발 모드
DEBUG=false # 디버그 모드
RELOAD=false # 자동 재시작
🛠 MCP 클라이언트 설정
Claude Desktop
claude_desktop_config.json 파일에 추가:
{
"mcpServers": {
"mcp-mempool": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8000/mcp"]
}
}
}
{
"mcpServers": {
"mcp-mempool": {
"transport": "streamable-http",
"url" : "http://127.0.0.1:8000/mcp" //배포시 실제 서빙 url
}
}
}
Amazon Q Developer
.aws/amazonq/mcp.json 파일에 추가:
{
"mcpServers": {
"mcp-mempool": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8000/mcp"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
}
📡 사용 가능한 도구들
WebSocket 도구 (실시간 스트리밍)
subscribe_blocks
새 블록 생성 시 실시간 알림을 받습니다.
subscribe_mempool_blocks
예상되는 다음 블록 템플릿 정보를 실시간으로 받습니다.
subscribe_stats
네트워크 메모리풀 통계를 실시간으로 모니터링합니다.
subscribe_live_chart
2시간 라이브 수수료 차트 데이터를 실시간으로 받습니다.
track_address
특정 비트코인 주소의 거래를 실시간으로 추적합니다.
address: 추적할 비트코인 주소
get_connection_status
WebSocket 연결 상태를 확인합니다.
unsubscribe_client
클라이언트의 모든 구독을 해제합니다.
client_id: 구독 해제할 클라이언트 ID
REST API 도구 (쿼리)
주소 관련
get_address_info - 주소의 모든 정보 조회
address: 비트코인 주소
get_address_balance - 주소 잔액 조회
address: 비트코인 주소
get_address_utxos - 주소의 UTXO 목록 조회
address: 비트코인 주소
get_address_transactions - 주소의 거래 내역 조회
address: 비트코인 주소after_txid(선택): 특정 거래 이후의 거래들만 조회
거래 관련
get_transaction_info - 거래 정보 조회
txid: 거래 ID
get_block_info - 블록 정보 조회
hash_or_height: 블록 해시 또는 높이
get_block_height - 현재 블록 높이 조회
수수료 & 멤풀
get_recommended_fees - 추천 수수료율 조회
get_mempool_info - 현재 멤풀 정보 조회
유틸리티
validate_bitcoin_address - 비트코인 주소 유효성 검사
address: 검증할 주소
💻 사용 예시
주소 잔액 조회
# MCP 클라이언트에서 사용
get_address_balance address="1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
실시간 수수료 모니터링
# 실시간 멤풀 블록 구독
subscribe_mempool_blocks
# 추천 수수료 조회
get_recommended_fees
주소 추적
# 특정 주소 실시간 추적
track_address address="1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"
🏗 개발
개발 환경 설정
# 프로젝트 클론
git clone <repository-url>
cd mcp-mempool
# 개발 의존성 설치
uv sync --dev
# 개발 서버 실행
uv run python -m mempool_ws_mcp_server.main
테스트 실행
# 모든 테스트 실행
uv run pytest
# 커버리지 포함
uv run pytest --cov=mempool_ws_mcp_server
코드 품질 도구
# 린팅
uv run ruff check .
# 포맷팅
uv run ruff format .
# 타입 체크
uv run mypy src/
🐳 Docker 빌드
# 이미지 빌드
docker build -t mcp-mempool .
# 멀티 아키텍처 빌드
docker buildx build --platform linux/amd64,linux/arm64 -t mcp-mempool .
📊 모니터링
# 모니터링 스택 실행 (Prometheus + Grafana)
docker-compose --profile monitoring up
# Grafana: http://localhost:3000 (admin/admin)
# Prometheus: http://localhost:9090
🔗 API 엔드포인트
- Health Check:
GET /health - Root Info:
GET / - MCP Protocol:
POST /mcp - API Docs:
GET /docs
📄 라이선스
MIT License
🤝 기여
이슈 리포트와 풀 리퀘스트를 환영합니다!
📞 지원
- 문제가 있으시면 GitHub Issues를 활용해주세요
- 개선 제안이나 새로운 기능 요청도 환영합니다
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。