Skip to main content
Glama

SampleMCP

Простой проект на Python, демонстрирующий создание и подключение MCP-серверов с использованием FastMCP, адаптеров LangChain MCP, LangGraph и OpenAI.

Возможности

  • Математический MCP-сервер, использующий stdio

  • MCP-сервер погоды, использующий streamable-http

  • MCP-клиент LangChain, подключающийся к нескольким MCP-серверам

  • Агент LangGraph ReAct, использующий инструменты MCP

  • Примеры вызовов инструментов для математических запросов и запросов о погоде

Структура проекта

SampleMCP/
├── client.py          # MCP client + LangGraph agent
├── mathserver.py      # Math MCP server with add/multiply tools
├── weather.py         # Weather MCP server using streamable HTTP
├── main.py            # Basic sample entry point
├── pyproject.toml     # Project metadata and dependencies
├── requirements.txt   # Python dependencies
└── README.md

Требования

  • Python 3.12+

  • API-ключ OpenAI

  • Опционально: API-ключ Groq

Установка

Клонируйте репозиторий:

git clone https://github.com/JayantPrakash/SampleMCP.git
cd SampleMCP

Установите зависимости:

pip install -r requirements.txt

Или с помощью uv:

uv sync

Переменные окружения

Создайте файл .env в корне проекта:

OPENAI_API_KEY=your_openai_api_key
GROQ_API_KEY=your_groq_api_key

Запуск MCP-серверов

1. Запуск сервера погоды

Сервер погоды использует streamable-http.

python weather.py

По умолчанию он предоставляет MCP-эндпоинт по адресу:

http://localhost:8000/mcp

2. Математический сервер

Математический сервер использует stdio и запускается клиентом автоматически через:

"command": "python",
"args": ["mathserver.py"],
"transport": "stdio"

Запуск клиента

В отдельном терминале выполните:

python client.py

Клиент подключается к:

  • mathserver.py через stdio

  • weather.py через streamable_http

Затем он создает агента LangGraph ReAct и задает вопросы:

what's (3 + 5) x 12?

и:

what is the weather in California?

Инструменты MCP

Математический сервер

Определен в mathserver.py.

add(a: int, b: int) -> int

Складывает два числа.

multiple(a: int, b: int) -> int

Умножает два числа.

Сервер погоды

Определен в weather.py.

get_weather(location: str) -> str

Возвращает пример ответа о погоде для указанного местоположения.

Примечания

  • mathserver.py использует transport="stdio".

  • weather.py использует transport="streamable-http".

  • В client.py транспорт streamable HTTP настроен как streamable_http.

  • Убедитесь, что сервер погоды запущен перед выполнением client.py.

Пример вывода

Math response: 96
Weather response: It's always raining in California
F
license - not found
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure 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/JayantPrakash/SampleMCP'

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