Skip to main content
Glama
Smartoire

Paxaver MCP Server

Official

Paxaver MCP Server

ИИ-ориентированный адаптер для школьной платформы сообщества Paxaver. Реализует Model Context Protocol (MCP) на Cloudflare Workers с проверкой RS256 JWT, авторизацией на основе возможностей и транспортом Streamable HTTP.

npm version License: Apache-2.0


Что это такое

Сервер Paxaver MCP позволяет ИИ-ассистентам (ChatGPT, Claude, Perplexity и любому MCP-совместимому клиенту) действовать от имени пользователя Paxaver: просматривать меню обеда, заказывать обед, пополнять кошелёк, регистрироваться на благотворительные мероприятия, жертвовать школе, участвовать в волонтёрстве и — для администраторов школ — управлять ресторанами, пунктами меню, событиями и ежедневными заказами.

Это тонкий адаптер. Он не содержит бизнес-логики и никогда напрямую не обращается к базе данных, Stripe или электронной почте. Каждое действие делегируется частному внутреннему API Paxaver через сервисную привязку Cloudflare (тот же регион, без перехода через публичную сеть). Единственные обязанности MCP-сервера:

  • Обработка протокола MCP (JSON-RPC 2.0, Streamable HTTP)

  • Проверка RS256 JWT через JWKS из централизованного auth-воркера Paxaver

  • Политика возможностей и ограничение по ролям для каждого инструмента

  • Санитизированное, безопасное для пользователя сопоставление ошибок

Аутентификация обрабатывается auth-воркером Paxaver (auth.paxaver.com), который служит сервером авторизации OAuth 2.0 / OIDC. MCP-сервер проверяет полученные RS256 JWT и пересылает их в бэкенд. Сам MCP-сервер не является сервером авторизации.


Related MCP server: IIITH Mess MCP

Архитектура

┌───────────────┐     MCP (Streamable HTTP)      ┌──────────────────────┐
│   AI Client   │ ─────────────────────────────▶ │   Paxaver MCP Worker │
│ ChatGPT/Claude│ ◀───────────────────────────── │  (this repo)         │
│  /Perplexity  │     RS256 JWT + JSON-RPC 2.0   │  Hono + jose         │
└───────────────┘                                └──────────┬───────────┘
                                                            │
                                          Cloudflare service binding
                                          (PAXAVER_API, same region)
                                                            │
                                                            ▼
                                                 ┌──────────────────────┐
                                                 │  Paxaver API Worker  │
                                                 │  (private backend)   │
                                                 │  D1 · Stripe · SES   │
                                                 └──────────────────────┘

MCP-воркер никогда не привязывается к D1, Stripe или SES. Сервисная привязка несёт кратковременный JWT (TTL 120 секунд, аудитория paxaver-internal), которому бэкенд доверяет как внутреннему вызову, при этом действие всё равно приписывается аутентифицированному пользователю Paxaver. Полную картину см. в docs/architecture.md.


Быстрый старт

Установка

npm install @paxaver/mcp

Локальная разработка

# 1. Install dependencies (Node >= 22)
npm install

# 2. Configure local secrets
cp .dev.vars.example .dev.vars   # then fill in JWT_SECRET, OAUTH_STATE_SECRET, ...

# 3. Run the worker locally (Miniflare)
npm run dev

# 4. Typecheck, lint, and test
npm run typecheck
npm run lint
npm test

Локальный dev-сервер запускается на http://localhost:8787. Эндпоинты обнаружения находятся в /.well-known/; MCP-эндпоинт — POST /mcp.

Примечание: Локальная разработка без сервисной привязки PAXAVER_API использует аутентифицированный HTTPS к API_BASE_URL (по умолчанию http://localhost:8787). Для полного интеграционного тестирования запустите бэкенд-воркер Paxaver локально и укажите API_BASE_URL на него.


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

Две среды, каждая — отдельный Worker со своим собственным доменом:

Среда

Имя воркера

Домен

staging

paxaver-mcp-staging

mcp.paxaver.dev

production

paxaver-mcp

mcp.paxaver.com

Продакшн-воркер обслуживает пользователей из CA и US через единый эндпоинт (mcp.paxaver.com). Регион пользователя определяется из утверждения tenant_id в JWT, и воркер маршрутизирует запросы в правильный региональный бэкенд через сервисные привязки (PAXAVER_API_CA, PAXAVER_API_US). Валюта определяется школой пользователя, а не MCP-эндпоинтом.

npm run deploy:staging   # wrangler deploy --env staging
npm run deploy:prod      # wrangler deploy --env production

Секреты должны быть установлены с помощью wrangler secret put --env production: JWT_SECRET, OAUTH_STATE_SECRET, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, CHATGPT_VERIFY_TOKEN. См. docs/deployment.md.


Инструменты

Сервер предоставляет 31 инструмент, сгруппированных в шесть категорий. Видимость в tools/list фильтруется по ролям вызывающего; каждый вызов повторно авторизуется перед отправкой, а бэкенд дополнительно проверяет доступ на уровне данных (защита в глубину).

Категория

Инструменты

Пользователь / аккаунт

get_user_info, update_student

Кошелёк

get_wallet_balance, get_wallet_status, add_funds, top_up_balance, donate_to_school

Заказы и меню

order_lunch, get_orders, get_daily_menu, get_updates, get_daily_orders, get_monthly_orders, get_published_menu, create_draft_order, finalize_order, cancel_order

События

get_upcoming_events, create_event, update_event, cancel_event, register_event, request_volunteer

Администрирование / ресторан

list_school_restaurants, create_restaurant, list_menu_items, create_menu_item, update_menu_item, set_menu_item_price, delete_menu_item, set_daily_menu

Финансовые и деструктивные инструменты помечены и требуют подтверждения пользователя. Полная справка: docs/tools.md. Политика авторизации: docs/authorization.md.


Документация

Документ

Тема

docs/architecture.md

Системная архитектура, граница сервисной привязки, региональная изоляция

docs/authentication.md

Проверка JWT, JWKS, делегирование auth-воркера, формат токена

docs/authorization.md

Таблица политики возможностей, ограничение по ролям, защита в глубину

docs/tools.md

Полная справка по инструментам с входными схемами и классификациями

docs/deployment.md

Конфигурация Wrangler, среды, секреты, пользовательские домены

docs/security.md

Модель безопасности, CORS, CSRF, санитизация ошибок, заголовки

docs/compatibility.md

Версия протокола MCP, транспорты, поддерживаемые ИИ-клиенты

docs/migration.md

Миграция с устаревшего mcp-server/ в приватном монорепозитории

CHANGELOG.md

История релизов

SECURITY.md

Политика сообщения об уязвимостях

CONTRIBUTING.md

Настройка разработки и процесс внесения вклада


Технологический стек

  • Среда выполнения: Cloudflare Workers (compatibility_date: 2026-08-01, nodejs_compat)

  • Фреймворк: Hono v4

  • JWT: jose v6 (RS256 через JWKS)

  • Протокол: MCP 2025-06-18, Streamable HTTP

  • Аутентификация: проверка RS256 JWT через централизованный auth-воркер (auth.paxaver.com)

  • Сборка/развёртывание: Wrangler v4

  • Тестирование: Vitest v2 (пул Workers + пул Node)


Лицензия

Apache-2.0. Авторские права (c) 2026 Smartoire. См. LICENSE.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with the IIIT Hyderabad Mess Management System through natural language, allowing students to view menus, manage meal registrations, check bills, submit feedback, and configure preferences.
    29
    11
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables LLMs to interact with the IIIT Hyderabad Mess System to manage meal registrations, view menus, and track billing. It supports conversational commands for tasks like cancelling meals, estimating nutrition, and checking account balances.
    45
    5
    AGPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with the IIIT-H mess dining and marketplace systems through resources, tools, and prompts for meal planning, billing analysis, and registration modifications.
    GPL 3.0

View all related MCP servers

Related MCP Connectors

  • Read and update your Everway trips and itineraries from any MCP-compatible AI assistant.

  • AI-native restaurant discovery: verified/menu-indexed/discovered tiers + signed allergy-safety data.

  • Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Smartoire/paxaver-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server