Python 服务器 MCP - 加密货币价格服务
该项目实现了一个提供加密货币价格信息的 MCP(模型上下文协议)服务器。该服务器使用 Python 和 MCP 框架构建,以创建可供不同客户端使用的 API。
特征
- 实时加密货币价格检索
- 基于环境的配置(开发、生产、暂存、本地)
- 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
- 用于生产环境
用法
本地执行
这将启动 MCP 服务器,该服务器将通过标准输入/输出 (stdio) 监听请求。
使用 Docker
# Build the image
docker build -t test-mcp -f Dockerfile --platform linux/amd64 .
# Run the container
docker run -it test-mcp
项目结构
.
├── Dockerfile # Docker configuration
├── main.py # Application entry point
├── pyproject.toml # Dependencies configuration
├── start.sh # Docker startup script
└── src/ # Source code
├── __init__.py # MCP server initialization
└── core/ # Core modules
├── common/ # Shared schemas and models
├── config.py # Application configuration
├── services/ # Application services
├── settings/ # Environment-specific settings
└── utils/ # Utilities
发展
向 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