关于 Python Server MCP - Cryptocurrency Price Service
Python Server MCP - Cryptocurrency Price Service 是一个 Python MCP 服务,通过 CoinMarketCap API 获取加密货币价格。它面向需要价格数据的 MCP 客户端,支持按环境配置,也可选择使用 Docker 运行。
主要功能
- 01实时获取加密货币价格
- 02集成 CoinMarketCap API
- 03按环境进行配置
- 04可选 Docker 部署
适用场景
- 01通过 MCP 客户端查询加密货币价格
- 02在本地或不同部署环境运行服务
- 03在 Docker 容器中启动服务
MCP 相关
该服务通过 stdio 向 MCP 客户端提供加密货币价格信息。可通过定义并注册函数扩展其工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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
配置
- 在项目根目录中创建一个
.env文件,并设置以下变量:
ENVIRONMENT=DEV # Options: LOCAL, DEV, STAGING, PROD
COINMARKETCAP_API_KEY=your_api_key_here
- 你也可以为每个环境创建专用的环境文件:
.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 服务添加新工具,请按以下步骤操作:
- 在
src/__init__.py文件中定义函数 - 在
main()函数中注册工具 - 使用文档字符串说明工具
示例:
@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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
