🚀 MCP 加密貨幣協議
MCP 加密貨幣協議是一個高效的應用協議,它藉助 FastMCP 實現模型上下文協議的服務器端接口。該協議融合了 TimescaleDB 時間序列數據庫和 CCXT 加密貨幣交易庫的強大功能,為加密貨幣市場數據、新聞分析和 AI 驅動的洞見搭建了統一平臺。
🚀 快速開始
安裝
使用 pip 一鍵安裝:
pip install mcp-crypto
啟動服務
啟動 MCP 加密貨幣服務器:
python -m mcp.crypto serve --host localhost --port 8000
✨ 主要特性
核心功能
- 市場數據:可獲取即時和歷史市場數據,支持自定義時間段查詢。
- 新聞分析:通過 RSS 源聚合和情感分析,提供加密貨幣相關的新聞洞見。
- AI 驅動的洞見:利用 MCP 協議連接 AI 模型,生成交易建議和市場預測。
資源與工具
資源
symbols://list
:獲取所有支持的加密貨幣符號。
market_data://{symbol}
:獲取特定符號的即時市場數據。
historical_data://{symbol}?timeframe={timeframe}&start={start}&end={end}
:按時間段查詢歷史數據。
news://recent
:獲取最新的新聞摘要。
news://{source}
:通過來源獲取新聞。
news://by-coin/{symbol}
:按加密貨幣符號獲取相關新聞。
工具
- 市場分析工具:用於分析市場趨勢和生成交易建議。
- 新聞情感分析:評估新聞對市場的影響並提供洞見。
- 交易策略生成器:基於數據和模型輸出生成交易策略。
📦 安裝指南
快速安裝
pip install mcp-crypto
啟動服務
python -m mcp.crypto serve --host localhost --port 8000
💻 使用示例
基礎用法
服務端開發
創建自定義 MCP 服務器:
from mcp.crypto.server import MCPServer
server = MCPServer(host="localhost", port=8000)
@server.resource("example://test")
def get_example_resource():
return {"message": "Hello, MCP!"}
if __name__ == "__main__":
server.start()
客戶端使用
通過 MCP 客戶端訪問資源和工具:
from mcp import Client
client = Client("http://localhost:8000")
market_data_response = await client.query(
inputs=["BTC/USD"],
resources=["market_data:BTC/USD"]
)
print(market_data_response.outputs)
news_analysis_response = await client.query(
inputs=["BTC/USD"],
tools=["news_analysis"]
)
print(news_analysis_response.outputs)
高級用法
創建自定義資源
from mcp.crypto.server import MCPServer
class ExampleResource:
def get(self, symbol):
return f"Example data for {symbol}"
server.add_resource("example://custom", ExampleResource())
使用工具生成交易策略
from mcp.crypto.tools import NewsAnalyzer
news_analyzer = NewsAnalyzer()
analysis = news_analyzer.analyze("latest BTC news")
print(analysis.strategy)
📚 詳細文檔
服務端開發指南
- 創建自定義資源:定義新的資源類,實現
get
方法,並註冊到服務器。
- 添加工具:創建新的工具類,實現
analyze
方法,並註冊到服務器。
客戶端使用指南
- 連接服務器:通過
Client
類連接 MCP 服務器。
- 請求資源和工具:調用
query
方法獲取所需數據和分析結果。
入門示例
示例代碼
from mcp import Client
client = Client("http://localhost:8000")
market_data_response = await client.query(
inputs=["BTC/USD"],
resources=["market_data:BTC/USD"]
)
print(market_data_response.outputs)
news_insight = await client.query(
inputs=["ETH/USD"],
tools=["news_analysis"]
)
print(news_insight.outputs)
運行示例
啟動服務器:
python -m mcp.crypto serve --host localhost --port 8000
運行客戶端腳本:
python client_script.py
擴展閱讀
- MCP 協議文檔:深入瞭解 MCP 協議的工作原理和接口定義。
- TimescaleDB 文檔:瞭解如何在 TimescaleDB 中高效存儲和查詢時間序列數據。
- CCXT 文檔:探索更多關於加密貨幣交易所的集成和數據獲取方法。
🔧 技術細節
核心組件
1. TimescaleDB 數據庫集成
- 時間序列數據存儲:利用 TimescaleDB 的 hypertables 存儲和查詢歷史市場數據。
- 高效查詢:支持按時間段、資產和多個指標進行復雜查詢,具備高讀寫性能。
2. CCXT 加密貨幣交易庫
- 多交易所支持:連接超過 100+ 家主流加密貨幣交易所,獲取即時市場數據和歷史數據。
- 統一接口:通過標準 API 獲取所有連接交易所的市場信息、訂單簿和交易數據。
3. MCP 協議實現
- 模型上下文協議:基於 FastMCP 實現,提供統一的接口用於連接 AI 模型和加密貨幣數據源。
- 資源與工具:
- 資源:提供市場數據、資產列表和新聞數據等。
- 工具:包括市場分析工具、新聞情感分析工具和交易策略生成器。
4. uv 包管理器
項目結構
核心模塊
- mcp.crypto.server:MCP 加密貨幣服務器的主入口。
- mcp.crypto.resources:定義了所有可用的資源,如市場數據和新聞源。
- mcp.crypto.tools:包含各種工具,如市場分析和新聞情感分析。
依賴管理
使用 uv
管理項目依賴:
uv init
uv install
📄 許可證
該項目採用 MIT 許可證,具體內容如下:
MIT License
Copyright (c) 2023 MCP-Crypto Authors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
項目貢獻
貢獻指南
歡迎社區貢獻代碼!請參考 CONTRIBUTING.md 獲取更多信息。
項目維護
維護團隊
聯繫方式
致謝
感謝所有貢獻者和社區成員,是你們的支持使得 MCP 加密貨幣協議更加完善。