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 "Deploy 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
FreeTicket's official MCP (Model Context Protocol) server. It exposes the B2B domain — events, dates, sales, tickets, memberships, venues, staff, reports — as tools to any MCP client (Claude Code, Claude Desktop, claude.ai).
Same contract and same session as the ft CLI: if you have run ft login, the
MCP is already authenticated with nothing to configure (it reads
~/.freeticket/config.json).
Use (Claude Code / Claude Desktop)
{
"mcpServers": {
"freeticket": {
"command": "npx",
"args": ["-y", "@freeticket/mcp"]
// No env: uses the `ft login` session. For CI or headless:
// "env": { "FT_API_KEY": "ft_live_...", "FT_WORKSPACE_ID": "ws_..." }
}
}
}⚠️
@freeticket/mcpis not published on npm yet, so this stdio entry does not work today —npxcannot resolve the package. Use the remote server below until it ships.
Config precedence: env > ~/.freeticket/config.json > default. Variables:
FT_API_URL (base, without /api/v1), FT_API_KEY, FT_WORKSPACE_ID,
FT_ADMIN_SESSION (enables the admin_* tools of the superadmin contract
/api/admin).
Related MCP server: eventos MCP Server
Remote use over URL (HTTP)
Beyond stdio, the server runs over Streamable HTTP so it can be added as a
connector by URL (claude.ai, remote Claude Code, curl) with nothing installed
locally. It is live at https://mcp.appfreeticket.com/mcp.
freeticket-mcp-http # listens on :3333 (PORT to change it)It is stateless: every request carries its own credentials and the server builds per-session isolated clients (it never reads disk), so one process serves many workspaces without crossing sessions. Endpoints:
Endpoint | Auth | Tools |
| Bearer (OAuth token or raw API key) |
|
| none |
|
Connecting from claude.ai (Add custom connector)
The server ships an embedded OAuth 2.1 authorization server — that is the only thing claude.ai knows how to speak (it cannot send API keys or custom headers). Steps:
claude.ai → Settings → Connectors → Add custom connector.
Remote MCP server URL:
https://mcp.appfreeticket.com/mcp. Client ID and Secret: leave empty (it uses dynamic client registration, RFC 7591).Connecting opens the consent page: the "Continue with FreeTicket" button signs you into free-admin with your usual account and asks for approval (device flow, RFC 8628 — the same backend as
ft login). No keys to paste; with several workspaces, you pick which one to connect. Under "Advanced options" there is still the manual form (an API key for CI, the superadmin cookie for theadmin_*tools).Credentials are sealed (AES-256-GCM,
MCP_TOKEN_SECRET) inside the issued token — the server persists nothing: no database, multi-tenant safe.
The full standard flow: RFC 9728/8414 discovery → /register → /authorize
(PKCE S256) → /token (with refresh). FT_OAUTH_ISSUER delegates all of it to
an external AS (for instance, once free-admin publishes its own).
Direct auth (curl, your own clients)
curl -X POST http://localhost:3333/mcp \
-H 'authorization: Bearer ft_live_...' \ # raw API key
-H 'x-workspace-id: ws_...' \ # optional
-H 'x-admin-session: <cookie>' \ # optional — enables admin_*
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Deploying on Vercel
The repo already carries vercel.json + api/server.ts (the same logic as the
binary, as a Vercel Function):
vercel # preview
vercel env add MCP_TOKEN_SECRET production # openssl rand -hex 32
vercel --prodEnv on Vercel: MCP_TOKEN_SECRET (required — without it tokens die on every
cold start), FT_API_URL (optional, defaults to production), MCP_PUBLIC_URL
(optional — derived from the Host header). The resulting connector URL is
https://<project>.vercel.app/mcp.
Tools
B2B /api/v1 (one tool = one contract operation). Destructive writes
(*_delete, *_refund, *_cancel) carry destructiveHint and ask for
confirmation.
Domain | Reads | Writes |
Session |
| — |
Events |
|
|
Tickets |
|
|
Sales |
|
|
Memberships |
|
|
Commercial |
|
|
Reports |
| — |
Settlements |
| — |
Credentials |
| — |
Exports |
| — |
Members area (headless SSO) |
|
|
Content |
|
|
Minting and revoking credentials (ft api-keys, ft admin tokens) is left out
of the MCP on purpose: an agent lists credentials to audit them, it does not
issue them. The customer_* tools are for enterprise integrations: they need an
enterprise service API key and the buyer's session token
(X-Customer-Session). The exchange that issues that token is not a tool
either — it mints third-party sessions.
settlements_document and settlements_proof return a signed URL with a
5-minute TTL, not the file: the API answers 302, and following the redirect
would drop the whole PDF into the model's context.
The content tools list what is published without the playback id; to play
anything you need content_playback_token (30 min live, 1 h video), and
memberOnly content additionally requires a buyer session with a membership.
Public B2C /api/public (no credentials — a buyer's agent):
Domain | Tools |
Discovery |
|
Checkout |
|
Post-sale |
|
The public_* tools are always registered (anonymous). The agent never
touches the payment: public_orders_create returns the Mercado Pago link for
the human to pay. Checkout scope: general admission (not seated, not
members-only).
Superadmin /api/admin (only with FT_ADMIN_SESSION):
Domain | Tools |
Session / audit |
|
Workspaces |
|
Users |
|
Platform plans |
|
Feature flags |
|
UI in the host (MCP Apps)
The server implements the io.modelcontextprotocol/ui extension
(MCP Apps, spec
2026-01-26), so lists and reports do not arrive as a wall of JSON: the host
draws them.
Resource:
ui://freeticket/view.html, mimeTypetext/html;profile=mcp-app.Tools with a view point at it through
_meta.ui.resourceUri; the result also travels instructuredContentso the view can read it.A single view picks the render from the shape of the payload: array → table (currency formatting, status pills, horizontal scroll), object → KPI tiles.
The HTML is self-contained: no external scripts, no fetch, no remote fonts. It declares
csp: {}— it asks for no network, so the host's deny-by-default sandbox has nothing to block.The brand is ours, the theme is the host's. The view adopts the host's CSS variables (
hostContext.styles.variables) to blend into the chat, but only those in the extension's contract (--color-*,--font-*): the FreeTicket logo and brand accent are not overridable. On a theme change it setsdata-themeandcolor-scheme, otherwiselight-dark()would follow the OS and the view would render light inside a dark chat.It listens only to the frame that mounted it (
event.source), reports its height withui/notifications/size-changed, formats currency in the host's locale, and answersui/resource-teardownso unmounting is clean.Hosts without the extension (or terminal clients) ignore
_metaand see the same text as always: nothing breaks.
29 tools with a view (v0.14.0) — every list and every report. Details
(*_get) and writes deliberately have none: a lone object or a delete
acknowledgement gains nothing from a table, and drawing one suggests there is
data where there is not. src/ui.test.ts mounts the real view in jsdom and
fails if a new list registers without _meta.ui, if the host manages to
override the branding, or if an API payload renders unescaped.
Development
pnpm install
pnpm generate # regenerates src/client/, src/admin-client/ and src/public-client/ from the specs
pnpm dev # runs the server over stdio
pnpm typecheck && pnpm testContracts this build targets: B2B 1.7.0, superadmin 1.3.0, public
0.4.0. All three are served by free-admin and are the only source of
truth, on separate semver lineages. To propagate a backend change, use the
contract-sync agent from the
ai-native umbrella — and check for
drift first: what free-admin serves today may already be ahead of the numbers
above.
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.
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
Scored across 6 tools
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
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.6 npmMIT