# Документация по MCP серверу
## Оглавление
1. [Введение](#введение)
2. [Установка](#установка)
3. [Запуск сервера](#запуск-сервера)
4. [API-интерфейсы](#api-интерфейсы)
5. [Инструменты](#инструменты)
6. [GraphQL API](#graphql-api)
7. [WebSocket соединения](#websocket-соединения)
8. [Мониторинг](#мониторинг)
9. [Устранение неполадок](#устранение-неполадок)
## Введение
MCP сервер (Model Context Protocol Server) представляет собой мощный API-сервер на основе FastAPI, который предоставляет интерфейс для взаимодействия с различными инструментами и ресурсами через унифицированный протокол MCP.
Этот сервер позволяет:
- Регистрировать и выполнять инструменты для обработки данных
- Хранить и управлять ресурсами
- Взаимодействовать с языковыми моделями через промпты
- Выполнять запросы GraphQL
- Получать данные в реальном времени через WebSocket
## Установка
### Требования
- Python 3.8+
- PostgreSQL (опционально)
- Elasticsearch (опционально)
- Redis (опционально)
### Установка в виртуальном окружении
```bash
# Клонирование репозитория
git clone <repository-url>
cd myaiserv
# Создание виртуального окружения
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# Установка зависимостей
pip install -r requirements.txt
# Настройка переменных окружения
cp .env.example .env
# Отредактируйте .env файл под свои нужды
```
### Установка через Docker
```bash
# Клонирование репозитория
git clone <repository-url>
cd myaiserv
# Запуск с использованием docker-compose
docker-compose up -d
```
## Запуск сервера
### Запуск локально
```bash
# Активация виртуального окружения
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# Запуск сервера для разработки
uvicorn app.main:app --reload
# Запуск для продакшена
uvicorn app.main:app --host 0.0.0.0 --port 8000
```
### Запуск через Docker
```bash
docker-compose up -d
```
## API-интерфейсы
MCP сервер предоставляет следующие основные API-эндпоинты:
| Метод | Путь | Описание |
|-------|------|----------|
| GET | / | Приветственное сообщение |
| GET | /health | Статус сервера |
| GET | /docs | Документация OpenAPI (Swagger UI) |
| GET | /redoc | Альтернативная документация OpenAPI (ReDoc) |
| GET | /tools | Получить список всех доступных инструментов |
| POST | /tools/{tool_name} | Выполнить инструмент |
| GET | /graphql | GraphQL Playground |
| POST | /graphql | Выполнить GraphQL запрос |
| WebSocket | /ws | WebSocket соединение для инструментов |
## Инструменты
MCP сервер включает несколько встроенных инструментов:
- [file_operations](./tools/file_operations.md) - Операции с файловой системой
- [weather](./tools/weather.md) - Получение данных о погоде
- [text_analysis](./tools/text_analysis.md) - Анализ текста
- [image_processing](./tools/image_processing.md) - Обработка изображений
Подробную документацию по каждому инструменту можно найти в соответствующих разделах.
## GraphQL API
MCP сервер предоставляет GraphQL API для гибкого доступа к данным. Подробнее о доступных запросах и мутациях можно узнать на странице [GraphQL API](./graphql.md).
## WebSocket соединения
Для обмена сообщениями в реальном времени MCP сервер поддерживает WebSocket соединения. Подробную информацию о форматах сообщений и примеры использования можно найти на странице [WebSocket API](./websocket.md).
## Мониторинг
MCP сервер интегрирован с Prometheus и Grafana для мониторинга метрик. Подробную информацию о доступных метриках и настройке мониторинга можно найти на странице [Мониторинг](./monitoring.md).
## Устранение неполадок
Если вы столкнулись с проблемами при использовании MCP сервера, обратитесь к разделу [Устранение неполадок](./troubleshooting.md) или откройте issue в репозитории проекта.