Python Server MCP - Сервис цен на криптовалюту
Этот проект реализует сервер MCP (Model Context Protocol), который предоставляет информацию о ценах криптовалют. Сервер создан с использованием Python и фреймворка MCP для создания API, который может использоваться различными клиентами.
Докер
Сборка 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",
}
}
}
}Related MCP server: Coin MCP Server
Функции
Получение цен криптовалют в режиме реального времени
Конфигурация на основе среды (разработка, производство, подготовка, локальная)
Интеграция API CoinMarketCap
Развертывание Docker-контейнера
Требования
Питон 3.12+
uv (менеджер пакетов и виртуальной среды)
Docker (опционально, для выполнения контейнера)
Установка
Использование УФ (рекомендуется)
# Clone the repository
git clone <repository-url>
cd PythonServerMcpСоздать и активировать виртуальную среду с помощью УФ
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).
Использование Докера
# 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 resultThis server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.