Skip to content

Материал к статье: "MCP своими руками"

Notifications You must be signed in to change notification settings

RedMadRobot/custom-mcp-article

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP своими руками: Запуск и тестирование

Этот репозиторий содержит практическую реализацию по материалам статьи "MCP своими руками".

Что такое MCP?

Model Context Protocol (MCP) - это протокол, разработанный Anthropic, который позволяет моделям искусственного интеллекта взаимодействовать с внешними сервисами и инструментами. В данном репозитории представлена имитация подобного протокола, демонстрирующая основные принципы работы.

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

  • server.py - MCP сервер, предоставляющий API для доступа к инструментам
  • agent.py - клиент, использующий сервер для получения данных
  • agent_openai.py - альтернативная реализация с использованием библиотеки OpenAI Agents

Подготовка окружения

# Установка uv (если еще не установлен)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Создание виртуального окружения
uv venv

# Активация виртуального окружения
source .venv/bin/activate  # для Linux/Mac
# или
.venv\Scripts\activate  # для Windows

# Установка зависимостей из pyproject.toml
uv pip sync

Установка Ollama и моделей

Для работы с локальными моделями необходимо установить Ollama:

# Установка Ollama (Linux/Mac)
curl -fsSL https://ollama.com/install.sh | sh

# Запуск сервера Ollama
ollama serve

Для Windows скачайте установщик с официального сайта.

После установки Ollama необходимо скачать модель qwen2.5:14b:

# Скачивание модели qwen2.5:14b (в отдельном терминале)
ollama pull qwen2.5:14b

Вы можете проверить загруженные модели с помощью команды:

ollama list

Запуск сервера

# Запуск MCP сервера на порту 8000
uv run python server.py

После запуска сервер будет доступен по адресу http://localhost:8000, документация API доступна по адресу http://localhost:8000/docs.

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

Клиент на базе OpenAI API

# Запуск стандартного клиента
uv run python agent.py

Клиент на базе OpenAI Agents

# Запуск клиента с использованием библиотеки OpenAI Agents
uv run python openai-agent.py

Примеры тестовых запросов

Прямой запрос к серверу MCP

# Получение списка доступных инструментов
curl http://localhost:8000/tools

# Получение цены акции Сбербанка
curl "http://localhost:8000/get_stock_price?ticker=SBER"

# Получение цены акции Газпрома
curl "http://localhost:8000/get_stock_price?ticker=GAZP"

Взаимодействие с агентом

После запуска клиента agent.py или openai-agent.py вы можете задать следующие вопросы:

  • "Какая сейчас цена акций Сбербанка?"
  • "Сколько стоят акции Газпрома на Московской бирже?"
  • "Цена на акции Аэрофлота?"

Требования к системе

  • Python 3.12 или выше
  • Доступ к интернету для получения данных с Московской биржи
  • Запущенный сервер Ollama с поддерживаемыми моделями
  • uv - быстрый менеджер пакетов для Python (https://github.com/astral-sh/uv)

About

Материал к статье: "MCP своими руками"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages