My Mcp Server 3rt

My Mcp Server 3rt

🚀 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

# 创建一个简单的 MCP 服务器
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)

📚 详细文档

服务端开发指南

  1. 创建自定义资源:定义新的资源类,实现 get 方法,并注册到服务器。
  2. 添加工具:创建新的工具类,实现 analyze 方法,并注册到服务器。

客户端使用指南

  1. 连接服务器:通过 Client 类连接 MCP 服务器。
  2. 请求资源和工具:调用 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 包管理器

  • 依赖管理:uv 是一个高性能的 Python 包管理器,用于快速添加和同步项目依赖。
  • 高效管理
    # 添加新依赖
    uv add package_name
    
    # 同步所有依赖
    uv pip sync
    
    # 生成依赖锁文件
    uv pip compile -o uv.lock
    

项目结构

核心模块

  • mcp.crypto.server:MCP 加密货币服务器的主入口。
  • mcp.crypto.resources:定义了所有可用的资源,如市场数据和新闻源。
  • mcp.crypto.tools:包含各种工具,如市场分析和新闻情感分析。

依赖管理

使用 uv 管理项目依赖:

# 初始化 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 加密货币协议更加完善。

  • 0 关注
  • 0 收藏,18 浏览
  • system 提出于 2025-09-25 22:30

相似服务问题

相关AI产品