mcpField
P
Python Server MCP - Cryptocurrency Price Service

Python Server MCP - Cryptocurrency Price Service

本地服务
github.com/stevearagonsite金融数据077 周前更新

关于 Python Server MCP - Cryptocurrency Price Service

Python Server MCP - Cryptocurrency Price Service 是一个 Python MCP 服务,通过 CoinMarketCap API 获取加密货币价格。它面向需要价格数据的 MCP 客户端,支持按环境配置,也可选择使用 Docker 运行。

主要功能

  1. 01实时获取加密货币价格
  2. 02集成 CoinMarketCap API
  3. 03按环境进行配置
  4. 04可选 Docker 部署

适用场景

  1. 01通过 MCP 客户端查询加密货币价格
  2. 02在本地或不同部署环境运行服务
  3. 03在 Docker 容器中启动服务

MCP 相关

该服务通过 stdio 向 MCP 客户端提供加密货币价格信息。可通过定义并注册函数扩展其工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai 安全评估徽章

Python Server MCP - 加密货币价格服务

本项目实现了一个 MCP(Model Context Protocol)服务,用于提供加密货币价格信息。该服务使用 Python 和 MCP 框架构建,可创建供不同客户端使用的 API。

Docker

Docker 构建: docker build -t mcp/python-server-mcp -f Dockerfile .

将以下内容添加到 mcp.json 文件中:

{
  "mcpServers": {
    "python-server-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-p",
        "8000:8000",
        "-e",
        "ENVIRONMENT",
        "-e",
        "COINMARKETCAP_API_KEY",
        "mcp/python-server-mcp"
      ],
      "env": {
        "ENVIRONMENT": "PRODUCTION",
        "COINMARKETCAP_API_KEY": "your-api-key",
      }
    }
  }
}

功能

  • 实时获取加密货币价格
  • 基于环境的配置(开发、生产、预发布、本地)
  • 集成 CoinMarketCap API
  • Docker 容器部署

要求

  • Python 3.12+
  • uv(包和虚拟环境管理器)
  • Docker(可选,用于容器运行)

安装

使用 uv(推荐)
# Clone the repository
git clone <repository-url>
cd PythonServerMcp
使用 uv 创建并激活虚拟环境
uv venv
source .venv/bin/activate

安装依赖项

uv sync

配置

  1. 在项目根目录中创建一个 .env 文件,并设置以下变量:
ENVIRONMENT=DEV  # Options: LOCAL, DEV, STAGING, PROD
COINMARKETCAP_API_KEY=your_api_key_here
  1. 你也可以为每个环境创建专用的环境文件:
    • .dev.env - 用于开发环境
    • .staging.env - 用于预发布环境
    • .prod.env - 用于生产环境

用法

本地运行
python main.py

这将启动 MCP 服务,通过标准输入/输出(stdio)监听请求。

使用 Docker
# Build the image
docker build -t test-mcp -f Dockerfile --platform linux/amd64 .

# Run the container
docker run -it test-mcp

项目结构

.
├── main.py
└── src
    ├── __init__.py
    ├── core
    │   ├── common
    │   │   ├── crypto_schema.py
    │   │   └── schema.py
    │   ├── config.py
    │   ├── settings
    │   │   ├── __init__.py
    │   │   ├── base.py
    │   │   ├── development.py
    │   │   ├── environment.py
    │   │   ├── local.py
    │   │   ├── production.py
    │   │   └── staging.py
    │   └── utils
    │       ├── datetime.py
    │       ├── extended_enum.py
    │       ├── filename_generator.py
    │       ├── passwords.py
    │       ├── query_utils.py
    │       └── redis.py
    ├── mcp_server.py
    ├── resources
    │   ├── __init__.py
    │   └── coinmarketcap_resource.py
    ├── server.py
    ├── services
    │   ├── __init__.py
    │   └── coinmarketcap_service.py
    └── tools
        ├── __init__.py
        └── prices.py

开发

向 MCP 服务添加新工具

向 MCP 服务添加新工具,请按以下步骤操作:

  1. 在 src/__init__.py 文件中定义函数
  2. 在 main() 函数中注册工具
  3. 使用文档字符串说明工具

示例:

@server.add_tool
def my_new_tool(parameter1: str, parameter2: int) -> str:
    """
    Description of what the tool does.
    
    Args:
        parameter1: Description of parameter 1
        parameter2: Description of parameter 2
        
    Returns:
        Description of what is returned
    """
    # Tool implementation
    return result

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。