本项目实现了一个MCP(模型上下文协议)服务器,可提供加密货币价格信息。该服务器基于Python和MCP框架构建,能创建供不同客户端使用的API。
本项目提供了使用uv和Docker两种方式启动项目,你可以根据自己的需求进行选择。
# 克隆仓库
git clone
cd PythonServerMcp
uv venv
source .venv/bin/activate
uv sync
python main.py
这将启动MCP服务器,该服务器将通过标准输入输出(stdio)侦听请求。
# 构建镜像
docker build -t test-mcp -f Dockerfile --platform linux/amd64 .
# 运行容器
docker run -it test-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
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"
}
}
}
}
.
├── 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:
"""
描述工具的功能。
参数:
parameter1:参数1的描述
parameter2:参数2的描述
返回:
描述返回的内容
"""
# 工具实现
return result