本项目实现了一个 MCP(模型上下文协议)服务器,可提供加密货币价格信息。该服务器基于 Python 和 MCP 框架构建,创建了一个可供不同客户端使用的 API。
本项目是一个 MCP 服务器,旨在为用户提供加密货币价格信息。通过简单的配置和安装,你可以快速搭建并使用该服务器。
# 克隆仓库
git clone
cd PythonServerMcp
uv venv
source .venv/bin/activate
uv sync
.env 文件,包含以下变量:ENVIRONMENT=DEV # 选项:LOCAL, DEV, STAGING, PROD
COINMARKETCAP_API_KEY=your_api_key_here
.dev.env - 开发环境.staging.env - 预发布环境.prod.env - 生产环境python main.py
这将启动 MCP 服务器,通过标准输入输出(stdio)监听请求。
# 构建镜像
docker build -t test-mcp -f Dockerfile --platform linux/amd64 .
# 运行容器
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 服务器中添加新的工具,请按照以下步骤操作:
src/__init__.py 文件中定义函数main() 函数中注册工具示例:
@server.add_tool
def my_new_tool(parameter1: str, parameter2: int) -> str:
"""
描述工具的功能。
Args:
parameter1: 参数1的描述
parameter2: 参数2的描述
Returns:
返回值的描述
"""
# 工具实现
return result
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"
}
}
}
}