加密货币分析服务器

一个基于CoinGecko API数据和AI分析的加密货币分析工具,提供实时价格、市场数据和AI驱动的风险评估。

  • by alvarordgs
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 alvarordgs/mcp_server

使用说明

# 加密MCP服务器

模型上下文协议(MCP)服务器,使用CoinGecko API数据和AI驱动的见解提供加密货币分析工具。

特性

  • 实时加密数据:获取当前价格、市值、交易量和24小时变化
  • AI驱动的分析:全面的加密货币分析和风险评估
  • 多币种支持:同时分析多种加密货币
  • MCP协议:人工智能助手和工具的标准化界面

可用工具

1. get_crypto_price

获取特定加密货币的当前价格和市场数据。

参数:

  • coin_id (string):硬币ID(例如,“比特币”、“以太坊”、“卡尔达诺”)

例子:

{
  "name": "get_crypto_price",
  "arguments": {
    "coin_id": "bitcoin"
  }
}

2. analyze_crypto

使用不同的分析类型对加密货币数据进行人工智能分析。

参数:

  • coin_id (string):要分析的硬币ID
  • analysis_type (字符串,可选):分析类型(“价格”、“趋势”或“综合”)

例子:

{
  "name": "analyze_crypto",
  "arguments": {
    "coin_id": "ethereum",
    "analysis_type": "comprehensive"
  }
}

3. get_market_data

获取多种加密货币的全面市场数据。

参数:

  • coin_ids (array):硬币ID列表
  • vs_currency (字符串,可选):目标货币(默认值:“usd”)

例子:

{
  "name": "get_market_data",
  "arguments": {
    "coin_ids": ["bitcoin", "ethereum", "cardano"],
    "vs_currency": "usd"
  }
}

设置

先决条件

  • Python 3.12.4或更高版本
  • 诗歌(用于依赖管理)

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd mcp_server
    
  2. 安装依赖项:

    poetry install
    
  3. 设置环境变量: 创建一个 .env 项目根目录中的文件:

    GOOGLE_STUDIO_AI_API_KEY=your_google_ai_api_key_here
    
  4. 安装软件包:

    poetry install
    

用法

运行MCP服务器

服务器使用stdio协议运行,这是MCP服务器的标准:

poetry run python -m mcp_server.main

与MCP客户端集成

要将此服务器与MCP兼容的客户端(如Claude Desktop等)一起使用:

  1. 添加到MCP配置中:

    {
      "mcpServers": {
        "crypto-analysis": {
          "command": "python",
          "args": ["-m", "mcp_server.main"],
          "env": {
            "GOOGLE_STUDIO_AI_API_KEY": "${GOOGLE_STUDIO_AI_API_KEY}"
          }
        }
      }
    }
    
  2. 重新启动MCP客户端

  3. 使用AI助手中的工具:

    • 询问加密货币的价格:“比特币的当前价格是多少?”
    • 请求分析:“分析以太坊的市场地位”
    • 比较多种硬币:“比较比特币、以太坊和卡尔达诺”

API终点

服务器使用CoinGecko API获取实时加密货币数据:

  • 基本URL: https://api.coingecko.com/api/v3
  • 速率限制:具有合理限制的免费等级
  • 数据源:来自多个交易所的实时市场数据

发展

项目结构

mcp_server/
├── src/
│   └── mcp_server/
│       ├── __init__.py
│       └── main.py          # Main MCP server implementation
├── pyproject.toml           # Dependencies and project config
├── mcp-config.json         # MCP client configuration
└── README.md              # This file

添加新工具

要向MCP服务器添加新工具,请执行以下操作:

  1. 在中定义工具 setup_handlers():

    Tool(
        name="your_tool_name",
        description="Tool description",
        inputSchema={
            "type": "object",
            "properties": {
                "param1": {"type": "string"}
            },
            "required": ["param1"]
        }
    )
    
  2. 在中添加处理程序 handle_call_tool():

    elif name == "your_tool_name":
        return await self.your_tool_method(arguments)
    
  3. 实施工具方法:

    async def your_tool_method(self, arguments: Dict[str, Any]) -> CallToolResult:
        # Your implementation here
        return CallToolResult(
            content=[TextContent(type="text", text="Your result")]
        )
    

错误处理

服务器包括全面的错误处理:

  • API错误:优雅地处理CoinGecko API故障
  • 无效输入:工具参数验证
  • 网络问题:超时和连接错误处理
  • 缺失数据:不可用数据的回退值

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

支持

对于问题和疑问:

  • 在存储库中创建问题
  • 检查MCP文件:https://modelcontextprotocol.io/
  • 查看CoinGecko API文档:https://www.coingecko.com/en/api