Skip to main content
Glama
stevearagonsite

Python Server MCP

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

Конфигурация

  1. Создайте файл .env в корне проекта со следующими переменными:

ENVIRONMENT=DEV  # Options: LOCAL, DEV, STAGING, PROD
COINMARKETCAP_API_KEY=your_api_key_here
  1. Вы также можете создать специальные файлы среды для каждой среды:

    • .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, выполните следующие действия:

  1. Определите функцию в файле src/__init__.py

  2. Зарегистрируйте инструмент в функции main()

  3. Документируйте инструмент с помощью строк документации

Пример:

@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
-
security - not tested
A
license - permissive license
-
quality - not tested

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stevearagonsite/PythonServerMcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server