Skip to main content
Glama
Smartoire

Paxaver MCP Server

Official

Paxaver MCP Server

Adaptador orientado a IA sobre la plataforma comunitaria escolar Paxaver. Implementa el Protocolo de Contexto de Modelo (MCP) en Cloudflare Workers con validación JWT RS256, autorización basada en capacidades y transporte HTTP Streamable.

npm version License: Apache-2.0


Qué es esto

El servidor MCP de Paxaver permite que los asistentes de IA (ChatGPT, Claude, Perplexity y cualquier cliente compatible con MCP) actúen en nombre de un usuario de Paxaver: consultar un menú de almuerzo, pedir almuerzo, recargar un monedero, registrarse en eventos de recaudación de fondos, donar a una escuela, ser voluntario y — para administradores escolares — gestionar restaurantes, elementos de menú, eventos y pedidos diarios.

Es un adaptador delgado. No contiene lógica de negocio y nunca toca la base de datos, Stripe o el correo electrónico directamente. Cada acción se delega a la API privada del backend de Paxaver a través de un service binding de Cloudflare (misma región, sin salto de red pública). Las únicas responsabilidades del servidor MCP son:

  • Manejo del protocolo MCP (JSON-RPC 2.0, HTTP Streamable)

  • Validación JWT RS256 mediante JWKS del worker de autenticación centralizado de Paxaver

  • Política de capacidades por herramienta y control de roles

  • Mapeo de errores sanitizado y seguro para el usuario

La autenticación la gestiona el worker de autenticación de Paxaver (auth.paxaver.com), que actúa como servidor de autorización OAuth 2.0 / OIDC. El servidor MCP valida los JWT RS256 resultantes y los reenvía al backend. El propio servidor MCP no es un servidor de autorización.


Related MCP server: IIITH Mess MCP

Arquitectura

┌───────────────┐     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   │
                                                 └──────────────────────┘

El worker MCP nunca se vincula a D1, Stripe o SES. El service binding lleva un JWT de corta duración (TTL de 120 s, audiencia paxaver-internal) que el backend confía como llamada interna mientras sigue atribuyendo la acción al usuario autenticado de Paxaver. Consulta docs/architecture.md para obtener el panorama completo.


Inicio rápido

Instalar

npm install @paxaver/mcp

Desarrollar localmente

# 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

El servidor de desarrollo local se inicia en http://localhost:8787. Los endpoints de descubrimiento se encuentran en /.well-known/; el endpoint MCP es POST /mcp.

Nota: El desarrollo local sin el service binding PAXAVER_API recurre a HTTPS autenticado contra API_BASE_URL (por defecto http://localhost:8787). Para pruebas de integración completas, ejecuta el worker del backend de Paxaver localmente y apunta API_BASE_URL a él.


Despliegue

Dos entornos, cada uno un Worker separado con su propio dominio personalizado:

Entorno

Nombre del Worker

Dominio

staging

paxaver-mcp-staging

mcp.paxaver.dev

production

paxaver-mcp

mcp.paxaver.com

El worker de producción atiende a usuarios de CA y EE. UU. a través de un único endpoint (mcp.paxaver.com). La región del usuario se resuelve a partir del claim tenant_id del JWT, y el worker enruta al backend regional correcto mediante service bindings (PAXAVER_API_CA, PAXAVER_API_US). La moneda la determina la escuela del usuario, no el endpoint MCP.

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

Los secretos deben configurarse con wrangler secret put --env production: JWT_SECRET, OAUTH_STATE_SECRET, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, CHATGPT_VERIFY_TOKEN. Consulta docs/deployment.md.


Herramientas

El servidor expone 31 herramientas agrupadas en seis categorías. La visibilidad en tools/list se filtra según los roles del llamante; cada llamada se vuelve a autorizar antes del envío, y el backend vuelve a comprobar el acceso a nivel de datos (defensa en profundidad).

Categoría

Herramientas

Usuario / cuenta

get_user_info, update_student

Monedero

get_wallet_balance, get_wallet_status, add_funds, top_up_balance, donate_to_school

Pedidos y menú

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

Eventos

get_upcoming_events, create_event, update_event, cancel_event, register_event, request_volunteer

Administración / restaurante

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

Las herramientas financieras y destructivas están etiquetadas y requieren confirmación del usuario. Referencia completa: docs/tools.md. Política de autorización: docs/authorization.md.


Documentación

Documento

Tema

docs/architecture.md

Arquitectura del sistema, límite del service binding, aislamiento regional

docs/authentication.md

Validación JWT, JWKS, delegación del worker de autenticación, formato de token

docs/authorization.md

Tabla de políticas de capacidades, control de roles, defensa en profundidad

docs/tools.md

Referencia completa de herramientas con esquemas de entrada y clasificaciones

docs/deployment.md

Configuración de Wrangler, entornos, secretos, dominios personalizados

docs/security.md

Modelo de seguridad, CORS, CSRF, saneamiento de errores, cabeceras

docs/compatibility.md

Versión del protocolo MCP, transportes, clientes de IA compatibles

docs/migration.md

Migración desde el mcp-server/ heredado en el monorepo privado

CHANGELOG.md

Historial de versiones

SECURITY.md

Política de notificación de vulnerabilidades

CONTRIBUTING.md

Configuración de desarrollo y proceso de contribución


Pila tecnológica

  • Tiempo de ejecución: Cloudflare Workers (compatibility_date: 2026-08-01, nodejs_compat)

  • Framework: Hono v4

  • JWT: jose v6 (RS256 mediante JWKS)

  • Protocolo: MCP 2025-06-18, HTTP Streamable

  • Autenticación: Validación JWT RS256 mediante el worker de autenticación centralizado (auth.paxaver.com)

  • Compilación/despliegue: Wrangler v4

  • Pruebas: Vitest v2 (pool de Workers + pool de Node)


Licencia

Apache-2.0. Copyright (c) 2026 Smartoire. Consulta 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