FreeTicket MCP Server
The FreeTicket MCP Server enables B2B event operations, public B2C ticketing, superadmin management, and UI integration.
Public B2C (anonymous):
Discover and search published events, get details, check availability.
Create orders with a payment link (e.g., Mercado Pago), check order status, and resend tickets.
B2B (authenticated):
Manage sessions, events (including dates), ticket types, sales (orders, cancellations, refunds), memberships, discounts, webhooks, venues, and staff roles.
Access various reports (summaries, timeseries, inventory, financial), settlements, API key auditing, and data exports (buyers, attendees, subscribers).
Superadmin (requires FT_ADMIN_SESSION):
Manage admin sessions, audit logs, tokens.
Manage workspaces (CRUD, suspend, restore), users (list, update, impersonate), platform plans, and feature flags.
UI Integration:
Tools provide
_meta.ui.resourceUrifor compatible MCP hosts to render lists and reports as tables or KPI tiles directly in the UI.
Provides tools for creating orders that generate a Mercado Pago checkout URL for payment processing, allowing AI agents to initiate payment flows in the FreeTicket platform.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@FreeTicket MCP Serverlist upcoming events"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@freeticket/mcp
Servidor MCP (Model Context Protocol) oficial de FreeTicket. Expone el dominio B2B —eventos, fechas, ventas, tickets, membresías, venues, staff, informes— como tools a cualquier cliente MCP (Claude Code, Claude Desktop, etc.).
Mismo contrato y misma sesión que el CLI ft: si ya hiciste ft login, el MCP
queda autenticado sin configurar nada (lee ~/.freeticket/config.json).
Uso (Claude Code / Claude Desktop)
{
"mcpServers": {
"freeticket": {
"command": "npx",
"args": ["-y", "@freeticket/mcp"]
// Sin env: usa la sesión de `ft login`. Para CI/headless:
// "env": { "FT_API_KEY": "ft_live_...", "FT_WORKSPACE_ID": "ws_..." }
}
}
}Config: env > ~/.freeticket/config.json > default. Variables: FT_API_URL
(base, sin /api/v1), FT_API_KEY, FT_WORKSPACE_ID, FT_ADMIN_SESSION
(habilita los tools admin_* del contrato superadmin /api/admin).
Related MCP server: eventos MCP Server
Uso remoto por URL (HTTP)
Además del stdio, el server corre por Streamable HTTP para agregarlo como connector por URL (claude.ai, Claude Code remoto, curl) sin instalar nada local:
freeticket-mcp-http # escucha en :3333 (PORT para cambiarlo)Es stateless: cada request trae sus credenciales y el server arma clientes aislados por sesión (nunca lee el disco), así un mismo proceso sirve a varios workspaces sin cruzar sesiones. Endpoints:
Endpoint | Auth | Tools |
| Bearer (token OAuth o API key cruda) |
|
| ninguna | solo |
Conectar en claude.ai (Add custom connector)
El server trae un authorization server OAuth 2.1 embebido — es lo único que claude.ai sabe hablar (no puede mandar API keys ni headers custom). Pasos:
claude.ai → Settings → Connectors → Add custom connector.
Remote MCP server URL:
https://<tu-deploy>/mcp. Client ID/Secret: vacíos (usa dynamic client registration, RFC 7591).Al conectar se abre el consentimiento: botón "Continuar con FreeTicket" → inicias sesión en free-admin con tu cuenta de siempre y apruebas (device flow RFC 8628, el mismo backend que
ft login). Sin keys que pegar; si tienes varios workspaces, eliges cuál conectar. Bajo "Opciones avanzadas" queda el form manual (API key para CI, cookie superadmin para losadmin_*).Las credenciales se sellan (AES-256-GCM,
MCP_TOKEN_SECRET) dentro del token emitido — el server no persiste nada: sin base de datos, multi-tenant seguro.
Flujo estándar completo: discovery RFC 9728/8414 → /register → /authorize
(PKCE S256) → /token (con refresh). FT_OAUTH_ISSUER delega todo a un AS
externo (p. ej. cuando free-admin publique el suyo).
Auth directa (curl, clientes propios)
curl -X POST http://localhost:3333/mcp \
-H 'authorization: Bearer ft_live_...' \ # API key cruda
-H 'x-workspace-id: ws_...' \ # opcional
-H 'x-admin-session: <cookie>' \ # opcional — habilita admin_*
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Deploy en Vercel
El repo ya trae vercel.json + api/server.ts (misma lógica que el binario,
como Vercel Function):
vercel # preview
vercel env add MCP_TOKEN_SECRET production # openssl rand -hex 32
vercel --prodEnv en Vercel: MCP_TOKEN_SECRET (requerido — sin él los tokens mueren en
cada cold start), FT_API_URL (opcional, default producción), MCP_PUBLIC_URL
(opcional — se deriva del Host). Connector URL resultante:
https://<proyecto>.vercel.app/mcp.
Tools
B2B /api/v1 (un tool = una operación del contrato). Los writes destructivos
(*_delete, *_refund, *_cancel) llevan destructiveHint y piden confirmación.
Dominio | Reads | Writes |
Sesión |
| — |
Eventos |
|
|
Tickets |
|
|
Ventas |
|
|
Membresías |
|
|
Comercial |
|
|
Reportes |
| — |
Liquidaciones |
| — |
Credenciales |
| — |
Exports |
| — |
Acuñar y revocar credenciales (ft api-keys, ft admin tokens) queda fuera del
MCP a propósito: un agente lista credenciales para auditarlas, no las emite.
El PDF de comprobante de una liquidación se baja del panel — el contrato expone
hasDocument y los nombres de archivo, no una URL de descarga (ver
CONTRACT-GAPS.md).
Público B2C /api/public (sin credenciales — el agente de un comprador):
Dominio | Tools |
Descubrimiento |
|
Checkout |
|
Post-venta |
|
Los public_* se registran siempre (anónimos). El agente nunca toca el
pago: public_orders_create devuelve el link de Mercado Pago para que el humano
pague. Alcance del checkout: admisión general (no numerado / no members-only).
Superadmin /api/admin (solo con FT_ADMIN_SESSION):
Dominio | Tools |
Sesión / auditoría |
|
Workspaces |
|
Users |
|
Platform plans |
|
Feature flags |
|
UI en el host (MCP Apps)
El server implementa la extensión io.modelcontextprotocol/ui (MCP Apps,
spec 2026-01-26), así que los listados y reportes no llegan como un muro de
JSON: el host los dibuja.
Recurso:
ui://freeticket/view.html, mimeTypetext/html;profile=mcp-app.Los tools con vista lo apuntan por
_meta.ui.resourceUri; el resultado viaja también enstructuredContentpara que el view lo lea.Un único view decide el render por la forma del payload: array → tabla (con formato de moneda, pills de estado y scroll horizontal), objeto → tiles de KPI.
El HTML es autocontenido: sin scripts externos, sin fetch, sin fuentes remotas. Adopta las variables CSS del host (
hostContext.styles.variables) y reporta su alto conui/notifications/size-changed, así queda integrado al tema del chat en vez de imponer el suyo.Hosts sin la extensión (o clientes de terminal) ignoran
_metay ven el mismo texto de siempre: nada se rompe.
Con vista: events_list · ticket_types_list · sales_list · plans_list ·
discounts_list · webhooks_list · venues_list · staff_list ·
reports_summary · reports_by_event · reports_timeseries ·
reports_inventory · reconciliation · settlements_list ·
reports_financials · api_keys_list · admin_tokens.
Desarrollo
pnpm install
pnpm generate # regenera src/client/ y src/admin-client/ desde los specs
pnpm dev # corre el server vía stdio
pnpm typecheck && pnpm testLos contratos openapi.json (/api/v1) y admin-openapi.json (/api/admin) los
sirve free-admin y son la única fuente de verdad — linajes semver separados.
Para propagar un cambio del backend, usá el agente contract-sync del paraguas
ai-native.
MIT.
Available Tools
6 toolspublic_events_availabilityA
Stock en vivo por fecha y tipo de ticket (GET /public/events/{slug}/availability). Consultar antes de armar una orden.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Slug del evento |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or rate limits. The term 'live stock' implies real-time data but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences. Every word serves a purpose, starting with the core function and then providing usage advice. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fails to explain what the response contains (e.g., structure of availability data). For a simple tool it's acceptable but leaves the agent guessing about return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'slug', documented as 'Slug del evento'. The description adds no additional meaning beyond what the schema already provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves live stock by date and ticket type using a specific API endpoint. It distinguishes itself from sibling tools like public_events_get (event details) and public_orders_create (order creation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises 'Consultar antes de armar una orden' (check before building an order), indicating when to use it. No exclusions or alternative statements are provided, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_events_getA
Detalle público de un evento por slug (GET /public/events/{slug}).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Slug del evento |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It indicates the HTTP method (GET) and that the operation is public, implying it is read-only and safe. However, it does not explicitly state that it is non-destructive, idempotent, or describe any response structure or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the tool's purpose. It is front-loaded with the action and resource, with no redundant information, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is adequate but not complete. It lacks information about the returned fields (e.g., event title, date, location) and any constraints (e.g., authentication, data freshness). For a public details endpoint, more context would improve understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a description for the single parameter 'slug' ('Slug del evento'). The tool description adds no additional semantic meaning beyond what the schema offers, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves public event details by slug, using a specific verb ('Detalle') and resource ('evento por slug'). It distinguishes itself from sibling tools like 'public_events_list' (listing) and 'public_events_availability' (availability), leaving no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly specify when to use this tool versus alternatives like 'public_events_list' or 'public_events_availability'. Usage is implied (when you have a slug and need event details), but there is no direct comparison or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_events_listA
Catálogo público de eventos publicados (GET /public/events). Descubrimiento B2C, sin login.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Búsqueda por nombre/descripción | |
| to | No | Funciones hasta (ISO 8601) | |
| city | No | Filtrar por ciudad | |
| from | No | Funciones desde (ISO 8601) | |
| page | No | Página (default 1) | |
| sort | No | ||
| pageSize | No | Tamaño (default 20, máx 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the burden of behavioral disclosure. It states the tool is public and requires no login, which is helpful. However, it doesn't confirm read-only nature, pagination details, or other side effects. The description is minimally adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence front-loads the purpose (public catalog, no login). No wasted words. Efficient and immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 optional parameters and no output schema, the description provides minimal context. It doesn't describe return format, pagination behavior, or how results are ordered by default. While the schema covers parameters, the tool's overall behavior is underdescribed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (86%), so the description adds little beyond the schema's parameter descriptions. The tool description does not explain the filtering or sorting semantics in more detail. With high schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it's a public catalog of published events (B2C discovery without login). The tool name and description effectively communicate its listing purpose and distinguish it from sibling tools like public_events_get (single event) and public_events_availability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus siblings like public_events_get or public_events_availability. The context implies it's for browsing/discovery, but lacks direct differentiation or usage constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_orders_createA
Crea una orden B2C y devuelve el link de pago de Mercado Pago (POST /public/orders). El agente NUNCA procesa el pago: entrega la checkoutUrl al comprador para que pague. Solo admisión general (no numerado / no members-only) de un mismo organizador. Consultá el stock con public_events_availability antes.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Tipos de ticket y cantidades | |
| buyerName | Yes | Nombre del comprador | |
| buyerEmail | Yes | Correo del comprador (recibe el QR) | |
| buyerPhone | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds significant behavioral context beyond annotations: it creates an order (not idempotent), returns payment link, and explicitly states the agent does not process payment. No contradictions with annotations (idempotentHint=false, destructiveHint=false match creation semantics).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with clear structure: first states action and output, second adds constraints and usage hints. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, return value, constraints (general admission, same organizer), and a prerequisite action (check stock). Lacks error handling details but sufficient for a creation tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75% (3 of 4 params described). The description does not add extra meaning beyond the schema; e.g., buyerEmail receives QR is already in schema description. Baseline score of 3 is appropriate as schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it creates a B2C order and returns a Mercado Pago payment link. It specifies the scope (general admission, same organizer) and distinguishes from sibling tools like public_events_availability and public_orders_get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent not to process payment, only deliver the checkoutUrl. Also recommends checking stock with public_events_availability beforehand. Could be improved by explicitly stating when not to use (e.g., for numbered or members-only events).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_orders_getA
Estado de una orden B2C — pending | paid | expired | cancelled — y los tickets al pagar (GET /public/orders/{id}).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id de la orden (devuelto por public_orders_create) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates the tool returns status and tickets, which suggests a read operation, but does not explicitly state that it is read-only, non-destructive, or describe any side effects. More transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose and key details. No extraneous information, front-loaded with the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one required parameter, good schema coverage, and no output schema, the description provides sufficient context about what the tool does and returns. It could be enhanced by explicitly stating that it is a read operation, but overall it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the 'id' parameter. The description adds context about what the id refers to (returned by public_orders_create) and what the tool returns (status and tickets), providing meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns order status (pending, paid, expired, cancelled) and associated tickets when paying. It uses a specific verb and resource (GET /public/orders/{id}), and implicitly distinguishes from siblings like public_orders_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used after creating an order (id returned by public_orders_create), but it does not explicitly state when to use it, when not to, or mention alternatives. It lacks explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_tickets_resendA
Reenvía el QR/email de un ticket al correo del comprador (POST /public/tickets/{code}/resend). Rate-limited; el email va siempre al correo original de la compra.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Código del ticket | |
| No | Opcional: debe coincidir con el correo del comprador |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that the tool is rate-limited and that the email always goes to the original purchase email, which are important behavioral traits. However, it does not mention side effects (e.g., whether the previous email is invalidated) or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a parenthetical, containing only essential information. It is front-loaded and free of redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 parameters, no output schema), and the description covers the main action and constraints. However, it lacks information about return values or error conditions, which would be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description reiterates that the email must match the original purchase email, which is already stated in the schema. It adds no new semantics beyond the schema, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: resending the QR/email of a ticket to the buyer's email. It includes the HTTP method and path, and the resource ('ticket') and verb ('resend') are specific. The sibling tools are unrelated to ticket resending, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions rate-limiting but provides no guidance on when to use this tool versus alternatives, nor when not to use it. No comparison to sibling tools or other methods is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v0.11.0- First observed
public_events_availability - First observed
public_events_get - First observed
public_events_list - First observed
public_orders_create - First observed
public_orders_get - First observed
public_tickets_resend
TDQS
Each tool targets a distinct resource-action pair (events availability, events detail, events list, orders create, orders get, tickets resend) with no functional overlap.
All tools follow a consistent 'public_{resource}_{action}' pattern using snake_case, making it predictable for an agent.
With 6 tools, the server is well-scoped for B2C event browsing and order management, covering the essential workflows without bloat.
The set covers the main user journey (browse, check stock, create order, check status, resend ticket) but lacks a cancel order tool, which is a minor gap.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Marketo MCP server for AI. 130 tools to operate Marketo from Claude, Cursor, or ChatGPT.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes FastAPI API-key management and request-making routes as MCP tools, enabling users to manage and interact with their APIs via Claude.MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for eventos event management platform, enabling AI assistants to manage events and tickets via API integration. Supports authentication, ticket CRUD operations, and listing with pagination.1-

thinker-mcpofficial
FlicenseNot gradedqualityCmaintenanceMCP server for thinker-ci, exposing tickets, CI/CD pipelines, project management data, and AI-agent sessions as tools and resources for Claude Code and other MCP clients.-- AlicenseNot gradedqualityAmaintenanceCloud-deployable MCP server exposing secureFlows' OpenAPI operations (tagged ai-safe/ai-optional) as MCP tools, plus static helper tools like login URL building and integration linting for coding agents.140MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/AppFreeticket/freeticket-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server