API ВЕГА
English

PTPGE MCP Server

Сервер Model Context Protocol только для чтения, который предоставляет AI-агентам доступ к

спецификации PTPGE — открытому словарю полиграфии.

Словарь (термины с постоянными URI, шаблоны продуктов, переменные, схемы и реестры) опубликован по лицензии CC BY 4.0 по адресу https://api.ptpge.org/v1/. Сервер загружает его и хранит в памяти, обновляет при изменении версии набора данных и предоставляет агентам набор MCP-инструментов: поиск и просмотр терминов, просмотр описания продукта, проверка конфигурации, разрешение цветовой нотации, вычисление и раскрытие отпечатка конфигурации (ptpge-cfs/1).

Рабочий, открытый, без ключа доступа: https://mcp.ptpge.org/mcp (Streamable HTTP). open.mcp.ptpge.org — альтернативный адрес.

Подключение к ассистенту

  • Claude (веб-версия или приложение): Settings → Connectors → Add custom connector → https://mcp.ptpge.org/mcp

  • ChatGPT: Settings → Connectors → Add (developer mode) → тот же URL

  • Claude Code: claude mcp add ptpge --transport http https://mcp.ptpge.org/mcp

После подключения задайте вопрос на любом языке: «Что такое роликовая фальцовка?» или «Создай отпечаток для буклета A4 с тремя фальцами, мелованной бумагой 170 г/м² и печатью 4/4».

Инструменты

ИнструментНазначение
ptpge_search_termsПоиск по словарю на естественном языке с токенизацией, независимый от языка. В результатах указаны URI, метка, уровень, группа, kind (term · supplier · vendor · schema) и оценка релевантности. Устаревшие термины исключаются из результатов, если не запрошены отдельно.
ptpge_get_termПолная информация об одном термине: определение, связи (broader / narrower / related), сопоставления, свойства и нотация. Принимает полный URI или относительный путь.
ptpge_get_versionВерсия набора данных, количество терминов, лицензия, URL схемы и версия сервера.
ptpge_browseПросмотр иерархии, начиная с указанного узла.
ptpge_get_product_envelopeДля шаблона продукта: применимые переменные, переменные, обязательные для идентификации, и допустимые значения.
ptpge_validate_configПроверка конфигурации (привязок к URI словаря) относительно описания продукта: принадлежность, кратность, область действия, числовые диапазоны и правила для взаимосвязанных переменных.
ptpge_resolve_color_notationПреобразование 4/4, 4/1, 1/0 … в количество красок для каждой стороны с использованием терминов словаря.
ptpge_fingerprintКанонизация проверенной конфигурации и вычисление её отпечатка ptpge-cfs/1 (спецификации и предложения).
ptpge_expand_fingerprintВосстановление конфигурации по отпечатку из реестра на ptpge.org/f/.

Ответы возвращаются в формате JSON без дополнительного оформления. На странице /playground можно наблюдать, как агент проходит весь процесс — от текстового описания заказа до отпечатка, включая все вызовы инструментов в журнале.

Конечные точки

ПутьНазначение
POST /mcpMCP через Streamable HTTP (также поддерживает GET для потока событий и DELETE для завершения сеанса)
GET /health, /healthzПроверка работоспособности и версия набора данных
GET /playgroundPlayground
GET /sseУстаревший адрес — возвращает 410 и ссылку на /mcp

Самостоятельный запуск

python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
python -m ptpge_mcp.server          # http://0.0.0.0:8000/mcp

Для проверки используйте MCP Inspector: npx @modelcontextprotocol/inspector, транспорт Streamable HTTP, URL

http://localhost:8000/mcp.

pytest -q

Конфигурация

ПеременнаяЗначение по умолчаниюНазначение
PTPGE_API_BASEhttps://api.ptpge.org/v1Адрес, с которого загружается словарь
PTPGE_REFRESH_SECONDS900Как часто проверять version.json на наличие новой версии набора данных
PTPGE_LOG_LEVELINFOУровень журналирования Python
PTPGE_MCP_AUTH_USERS—Необязательная Basic Auth для сервера: пары user:pass, разделённые запятыми. Чтобы сервер оставался открытым, не задавайте эту переменную.
PTPGE_MCP_HTPASSWD—Необязательный путь к файлу Apache htpasswd, который используется вместо предыдущей переменной
PTPGE_MCP_TOKENS / _TOKENS_FILE—Необязательные токены для отдельных получателей (?t=), выполняющие ту же задачу

На публичном сервере mcp.ptpge.org переменные аутентификации не заданы.

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

ptpge_mcp/
├── server.py           # tools, handlers, Streamable HTTP, Playground route
├── data.py             # fetch, cache, index, search
├── config.py           # environment-based runtime config
├── cfs_resolution.py   # canonicalisation + ptpge-cfs/1
├── fingerprint.py, fingermark.py   # hash and mark
├── completeness.py     # required variables / unspecified axes
├── colornotation.py    # 4/4-style notation → terms
├── semantic.py         # embedding search (term_embeddings.npz)
├── registerclient.py   # ptpge.org/f/ register client
├── playground.py, learningpage.py, missreport.py
└── _frame.py           # ptpge.org site frame (generated; do not edit)
tests/
passenger_wsgi.py       # cPanel/Passenger entry point for the hosted instance
.cpanel.yml             # deploy script for the hosted instance
CHANGELOG.md            # semver; one entry per release

Версионирование

Для сервера используется Semver; у набора данных — собственная версия в формате даты (ptpge_get_version). Алгоритм вычисления отпечатка представляет собой отдельный контракт ptpge-cfs/1 и не меняется при выпуске новых версий сервера.

Лицензия

Код: Apache License 2.0. Словарь и данные: CC BY 4.0,

принадлежат PTPGE — некоммерческой ассоциации, находящейся в процессе создания. Подробнее: ptpge.org/governance.

Реестр

Проект включён в официальный MCP Registry под названием org.ptpge/mcp-server (server.json в этом репозитории; публикация выполняется через mcp-publisher, пространство имён подтверждено DNS-записью на ptpge.org).