Skip to main content
Glama

Valeo Connector (MCP) — MVP

Минимальный удаленный MCP-сервер, который превращает данные участников Valeo Health в коннектор для Claude, точно так же, как работает коннектор Function Health.

  • Ноль зависимостей. Только стандартная библиотека Python. Работает на штатном python3 от macOS.

  • Транспорт: Streamable HTTP (спецификация MCP 2025-06-18), единственная конечная точка /mcp.

  • Авторизация: пока отсутствует (демо). Все данные берутся из sample_data.py.

  • Только чтение. Каждый инструмент помечен readOnlyHint: true.

Живая демонстрационная конечная точка (пример данных, без авторизации):

https://valeo-connector.onrender.com/mcp

Добавьте это в Claude в разделе Settings > Connectors > Add custom connector. Проверка работоспособности: https://valeo-connector.onrender.com/health. Бесплатный инстанс, поэтому он засыпает после ~15 минут простоя, и первый вызов после пробуждения занимает 30–60 секунд — откройте URL проверки работоспособности, чтобы прогреть его перед демонстрацией.

Deploy to Render

Файлы

Файл

Что это

server.py

Весь коннектор: HTTP-транспорт + диспетчеризация JSON-RPC + 5 инструментов

sample_data.py

Единственная имитированная часть. Замените эти обращения на реальные вызовы API Valeo, чтобы перейти в продакшн

test_server.py

Смоук-тест из 22 проверок протокола и каждого инструмента

.mcp.json

Конфигурация уровня проекта, чтобы Claude Code автоматически подхватывал локальный сервер

run.sh

./run.sh для запуска

assets/

Фирменная иконка, а также make_icon.py для её перегенерации из логотипа (требуется Pillow; серверу он не нужен)

Related MCP server: health-mcp

Инструменты

Инструмент

Отвечает на вопросы вроде

Параметры

get_lab_summary

«Как выглядят мои анализы?» «Что требует внимания?»

categories, out_of_range_only, include_trends

get_category_breakdown

«Как моё здоровье сердца?» «Какие области отклоняются?»

categories

get_programs

«Как проходит мой Metabolic Reset?» «Я на верном пути?»

status

get_appointments

«Когда моя следующая запись?» «Нужно ли голодать?»

include_past

get_supplement_plan

«Какие добавки я принимаю и зачем?»

—

Категории здоровья в демонстрационной панели: Heart, Metabolic, Vitamins & Minerals, Thyroid, Liver, Kidney, Blood & Immunity, Hormones, Male Health.

Как и Function Health, коннектор намеренно предоставляет только сводные данные — количества, категории, флаги и направления («Vitamin D, low, significant»), никогда — сырые значения анализов.

Иконка

Сервер объявляет квадратную фирменную иконку в своём serverInfo в виде data URI, согласно полю icons в MCP (SEP-973), и отдаёт её по адресам /icon.png, /icon-128.png и /favicon.ico.

Claude.ai пока не отображает её для пользовательских коннекторов — пользовательские коннекторы показывают стандартную иконку независимо от того, что объявляет сервер (claude-ai-mcp#152). Объявление ничего не стоит и начнёт работать в тот день, когда это исправят. Фирменная иконка сегодня требует размещения в каталоге Connectors Directory, где иконка загружается при подаче заявки.

Запуск

./run.sh

Затем в другом терминале:

python3 test_server.py

Проверка работоспособности: http://127.0.0.1:8787/health

Демонстрационный путь 1 — Claude Code (самый быстрый, ~30 секунд)

.mcp.json уже указывает на http://127.0.0.1:8787/mcp. Запустите сервер, откройте Claude Code в этой папке, одобрите сервер valeo при запросе, затем спросите:

Как выглядят мои анализы и как проходит моя программа?

Демонстрационный путь 2 — любой с подпиской Claude (публичный URL)

Серверы Claude вызывают вашу конечную точку, поэтому ей нужен стабильный публичный HTTPS-URL; localhost и туннели, которые умирают при перезапуске, не подойдут. Разверните репозиторий, и тогда любой на платном плане Claude (Pro, Max, Team, Enterprise) сможет добавить его самостоятельно:

Claude → Settings → Connectors → Add custom connector → вставьте

https://valeo-connector.onrender.com/mcp

Развёртывание

render.yaml и Dockerfile находятся в репозитории и запускают server.py без изменений.

Render (не нужен CLI, бесплатно, без карты):

  1. Нажмите кнопку Deploy to Render вверху этого README или перейдите на render.com → New → Blueprint → выберите этот репозиторий → Apply. В любом случае он читает render.yaml.

  2. Войдите через GitHub и предоставьте доступ к репозиторию.

  3. Вы получите https://valeo-connector.onrender.com (Render может добавить суффикс, если имя занято). URL коннектора — это этот адрес плюс /mcp. Пуш в main автоматически переразворачивает.

Проверьте развёртывание перед подключением к Claude:

python3 test_server.py https://valeo-connector.onrender.com

Все 22 проверки должны пройти по живому URL точно так же, как локально.

Бесплатные инстансы засыпают после ~15 минут простоя, поэтому первый вызов после пробуждения занимает 30–60 секунд (таймаут инструментов Claude — 300 секунд, так что он всё равно работает — просто кажется медленным). Тариф за $7 или собственная инфраструктура Valeo устраняют это.

Любой контейнерный хостинг (Cloud Run, Fly, Railway) работает на основе Dockerfile. Установите HOST=0.0.0.0; сервер читает PORT из окружения.

В конечном итоге это должно жить на собственном домене Valeo — Function Health обслуживает свой с https://services.functionhealth.com/ai-chat/mcp.

Две вещи, которые стоит знать перед публикацией URL

  1. Авторизации пока нет, поэтому каждый пользователь видит одного и того же вымышленного участника. Это нормально для демо, и это указано в собственных инструкциях сервера для Claude. Это единственное, что должно измениться, прежде чем реальные данные участников попадут куда-либо рядом с этим.

  2. Размещение в каталоге Connectors Directory в Claude — это отдельный шаг — заявка в Anthropic. Без него коннектор всё равно работает; пользователи просто добавляют URL вручную вместо того, чтобы находить его в каталоге.

Что добавить после MVP

  1. OAuth 2.0, чтобы каждый участник видел только свои данные. Claude поддерживает Dynamic Client Registration; callback для размещённых поверхностей — https://claude.ai/api/mcp/auth_callback. Обслуживайте /.well-known/oauth-protected-resource (RFC 9728) и ограничьте токены (read:labs, read:programs, read:appointments).

  2. Реальные данные: замените sample_data.py на аутентифицированные вызовы API Valeo, привязанные к токену.

  3. Стабильный хостинг: подойдёт любой Python-хостинг, так как зависимостей нет.

  4. Страница документации, как у Function Health, и подача заявки в Connectors Directory.

Известные ограничения

Ограничение

Лимит

Размер результата инструмента Claude.ai / Desktop

~150 000 символов

Таймаут инструмента Claude.ai / Desktop

300 секунд

Транспорт

Streamable HTTP (устаревший HTTP+SSE не поддерживается)

Не является медицинской рекомендацией; только сводные данные.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for connecting Claude Desktop to FHIRfly healthcare reference data APIs, enabling lookup of drugs, providers, clinical codes, and more.
    101 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Read-only MCP server enabling natural language querying of personal health and cultural activity scores from the health.ojimpo.com dashboard via Claude.
    5
    8 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    MCP server for accessing Oura Ring data from Claude Code and claude.ai, providing summarized health metrics and raw API data.
    11
    27 PyPI
    MIT