mcp-justai-archiver-try2
v1.0.0
Published
Шаблон для создания MCP (Model Context Protocol) сервера с деплоем в кастомный Docker Hub Caila.
Readme
MCP Server Template для Caila
Шаблон для создания MCP (Model Context Protocol) сервера с деплоем в кастомный Docker Hub Caila.
Описание
Проект содержит базовый MCP сервер на основе FastMCP с демонстрационными инструментами и настроенным деплоем в приватный Docker registry Caila.
Структура проекта
server.py- основной MCP сервер с примерами инструментовrequirements.txt- зависимости PythonDockerfile- конфигурация для контейнеризацииdeploy.sh- скрипт автоматического деплоя в Docker registry
Функциональность
MCP Tools
- add_numbers - сложение двух чисел
- key_value_flatten - разделение словаря на ключи и значения
- hello_world - приветствие по имени
- create_archive_from_json - создание архива по JSON
HTTP Routes
/health(GET) - проверка состояния сервера
Деплой
Деплой в Caila
- Правим
server.pyдобавляем туда нужные тулы, либо если для тестов остваляем как есть. - Выполняем пуш в временный Docker-hub caila через скрипт
deploy.sh
./deploy.shСкрипт пушит образ с тегом docker-pub.caila.io/caila-public/mcp-test-{secret}:latest - эту ссылку нужно будет далее указать в образе Caila
- Читаем доку https://docs.caila.io/docs/create/app - как сделать свой сервис
- Создаем образ с ссылкой из п.2, на нем делаем сервис (можно запустить в free-pool если логики не много), в настройках приложения ставим:
- "Вкл/Выкл" в активное положение
- Порт - '9001'
- Healtcheck - '/health'
- Только HTTP - в активное положение
- Сохраняем и на вкладке "Хостинг" добавляем инстанс
- Переходим на вкладку "Диагностика" - "Логи" и ждем пока сервис стартанет (первый раз/после изменений может долго качать образ)
- Как сервер запущен, нужно получить на него ссылку либо через вкладку "Тестирование" и в Network ищем запрос с 404 кодом, либо собираем ее по шаблону:
https://{account-name-caila}-{service-name}.app.caila.io
account-name-caila: берем из https://caila.io/workspace/account-info - параметр "Короткое имя" (если там почта поменяйте на норм имя)
service-name: берем из описания вашего сервиса - параметр "Ссылка на сервис" в его настройках
- Для проверки ссылки можете перейти по ней добавив
/healthв конце, пример (https://ruslan-test-mcp-server.app.caila.io/health)
Если вернул 200OK с ОК в теле, то вы молодец!
- Прописываем в нашем MCP-клиенте ссылку с эндпоинтом
/mcp, а также в заголовках прописываем:Authorization: "<API_token caila>"
Для Agent Platform просто указываем в кредах токен из кайлы (Без всяких Bearer и т.д.)
Ручной запуск
# Локально
python -m venv venv
source venv/bin/activate # Linux/Mac
# или venv\Scripts\activate # Windows
pip install -r requirements.txt
python server.py
# В Docker
docker build -t mcp-server .
docker run -p 9001:9001 mcp-serverТребования
- Python 3.12+
- Docker
- Доступ к registry Caila
