Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Descripción del creador (original en inglés)
Expose an OpenAPI document to agents as a search-first tool catalog over your existing API.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
SEZZLEE_OPENAPI_CONFIGNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"openapi": {
"command": "npx",
"args": [
"-y",
"@sezzlee/openapi-mcp"
],
"env": {
"SEZZLEE_OPENAPI_CONFIG": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add openapi --env SEZZLEE_OPENAPI_CONFIG=your-value -- npx -y @sezzlee/openapi-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"openapi": {
"command": "npx",
"args": [
"-y",
"@sezzlee/openapi-mcp"
],
"env": {
"SEZZLEE_OPENAPI_CONFIG": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"openapi": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sezzlee/openapi-mcp"
],
"env": {
"SEZZLEE_OPENAPI_CONFIG": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub sezzlee, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: SEZZLEE_OPENAPI_CONFIG
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (1.0.0) llegó al registro hace 22 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
MCP server that exposes an OpenAPI (Swagger 2.0 / OpenAPI 3.0–3.2) document as sezzlee's search-first tool catalog — search_tools, load_tool, invoke_tool, read_result — over a remote backend, calling it with fetch.
Status:
1.0.0, stable. Install withnpm install -g @sezzlee/openapi-mcpor run it with
npx -y @sezzlee/openapi-mcp; the binary issezzlee-openapi.
The NestJS SDK sits inside your backend process: it discovers endpoints from your own controllers/routes and replay each MCP call through your existing pipeline, so your authentication and authorization run exactly as they do today.
openapi-mcp is a separate service. It has no access to a backend's process or pipeline — it reads the backend's OpenAPI document to learn what operations exist (the ingestion rules), and calls the backend over the network for every invocation, attaching a credential it resolves itself (how a credential is chosen and written). This is the only path for a backend that has no embedded SDK integrated into it.
Everything an embedded SDK declares in code, a document declares in one x-sezzlee extension per operation, and a host that cannot edit the document declares under operations in this config: selection, tool name, prefix, behaviour hints, argument curation, variants, families, search terms and revisions (the x-sezzlee extension). A backend that routes many capabilities through one endpoint (POST /Rest/InvokeDynamicMethod/{methodId}) lists them in that operation's x-sezzlee.family; each member becomes its own tool, with its own name, description and body, and the dispatch key stays hidden.
The server reads its configuration from the file named by SEZZLEE_OPENAPI_CONFIG. Build the package first (this repository never runs @sezzlee/core's consumers against a stale dist):
pnpm turbo run build --filter=@sezzlee/openapi-mcp
A minimal config — a local document, opt-in selection so at least one operation is exposed, default stdio transport:
{
"source": "./openapi.json", "selection": { "default": "include" } }
SEZZLEE_OPENAPI_CONFIG=/absolute/path/to/config.json node packages/servers/openapi-mcp/dist/cli.js
source is either a path (resolved relative to the config file's own directory) or an http(s):// URL. On startup the server ingests the document, builds the catalog, prints a one-line-per-diagnostic-code summary to stderr, and then serves stdio or listens for streamable HTTP, depending on transport.kind.
A config that fails validation, or that names an environment variable that is not set, stops the process with a message on stderr and exit code 2. A document that ingests with a fatal diagnostic, or a catalog with a fatal diagnostic (name_collision, invalid_name, ambiguous_selection, …), stops it with exit code 1.
All keys below are read from the SEZZLEE_OPENAPI_CONFIG JSON file and validated with a zod schema (src/platform/config.ts) that rejects unknown keys.
| Key | Type | Default | Notes | |
|---|---|---|---|---|
transport.kind | "stdio" \ | "http" | "stdio" | — |
transport.host | string (http only) | "127.0.0.1" | Must stay loopback (127.0.0.1, ::1, localhost) unless tokenExchange is configured — see below | |
transport.port | int, 0–65535 (http only) | 8787 | — | |
transport.path | string starting with / (http only) | "/mcp" | — | |
transport.resource | url (http only) | required | The OAuth protected-resource identifier advertised at /.well-known/oauth-protected-resource | |
transport.authorizationServers | array of url, min 1 (http only) | required | — | |
transport.allowedHostnames | array of string (http only) | [] | Extra Host header values accepted, on top of the localhost defaults | |
tokenExchange | object | not configured | RFC 8693 token exchange; required for an http transport to authenticate a caller (see Rules) | |
tokenExchange.tokenEndpoint | url | required | — | |
tokenExchange.clientId | string | required | — | |
tokenExchange.clientSecret | { fromEnv: string } | required | — | |
tokenExchange.clientAuth | "basic" \ | "post" | "basic" | client_secret_basic or client_secret_post |
tokenExchange.audience | string | not sent | — | |
tokenExchange.resource | url | not sent | — | |
tokenExchange.scope | string | not sent | — | |
tokenExchange.schemes | array of string, min 1 | required | The security scheme names the exchanged token satisfies | |
source | string, non-empty | required | A local file path (relative to the config file) or an http(s):// URL to the OpenAPI document | |
reload.intervalSeconds | integer ≥ 10 | not set | Re-reads source this often, plus up to 10% jitter. Conditional on the last ETag/Last-Modified for an http(s) source; a body identical to the served one is ignored | |
reload.onSignal | boolean | true | SIGHUP re-reads source. Without a reload block the document is read once at startup and SIGHUP keeps its default action | |
baseUrl | url | not set | Replaces the document's root servers | |
serverVariables | record\ | not set | Overrides for the document's server variable defaults | |
hoistPathPrefix | string starting with / | not set | A leading path segment moved from every route into the base URL | |
outputSchema | "document" \ | "omit" | "document" | omit for a backend whose responses do not match its document |
requestBodyRequired | "document" \ | "always" | "document" | always treats an undeclared requestBody.required as true |
strict | boolean | false | Raises openapi_document_invalid from a warning to a fatal diagnostic | |
selection.default | "include" \ | "exclude" | "exclude" | Whether an operation is exposed when no rule matches it (opt-in by default) |
selection.rules | array of { route?, method?, decision } | [] | route/method are matched the same way the embedded SDKs match a controller route | |
operations | record\ | {} | Laid over each operation's x-sezzlee field by field; a key that names no operation is fatal. A field here may not also be set through names, searchTerms or revision.operations |
| names | record\ | {} | Overrides a tool's name; the value must match `^[a-z][a-z0-
Solo se muestra el principio; lee el resto en el repo