SampleMCP
SampleMCP
Простой проект на Python, демонстрирующий создание и подключение MCP-серверов с использованием FastMCP, адаптеров LangChain MCP, LangGraph и OpenAI.
Возможности
Математический MCP-сервер, использующий
stdioMCP-сервер погоды, использующий
streamable-httpMCP-клиент 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/mcp2. Математический сервер
Математический сервер использует stdio и запускается клиентом автоматически через:
"command": "python",
"args": ["mathserver.py"],
"transport": "stdio"Запуск клиента
В отдельном терминале выполните:
python client.pyКлиент подключается к:
mathserver.pyчерезstdioweather.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 CaliforniaThis server cannot be installed
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