Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Descripción del creador (original en inglés)
A small, generic MCP server for combining GitHub/GitLab/Gitea releases into product release notes
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.
RELEASE_MCP_CONFIG_JSON, RELEASE_MCP_CONFIG, TOKEN, PROVIDER, BASE_URLLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿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": {
"release-notes": {
"command": "uvx",
"args": [
"release-notes-mcp"
],
"env": {
"RELEASE_MCP_CONFIG_JSON": "your-value",
"RELEASE_MCP_CONFIG": "your-value",
"TOKEN": "your-value",
"PROVIDER": "your-value",
"BASE_URL": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add release-notes --env RELEASE_MCP_CONFIG_JSON=your-value --env RELEASE_MCP_CONFIG=your-value --env TOKEN=your-value --env PROVIDER=your-value --env BASE_URL=your-value -- uvx release-notes-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"release-notes": {
"command": "uvx",
"args": [
"release-notes-mcp"
],
"env": {
"RELEASE_MCP_CONFIG_JSON": "your-value",
"RELEASE_MCP_CONFIG": "your-value",
"TOKEN": "your-value",
"PROVIDER": "your-value",
"BASE_URL": "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": {
"release-notes": {
"type": "stdio",
"command": "uvx",
"args": [
"release-notes-mcp"
],
"env": {
"RELEASE_MCP_CONFIG_JSON": "your-value",
"RELEASE_MCP_CONFIG": "your-value",
"TOKEN": "your-value",
"PROVIDER": "your-value",
"BASE_URL": "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.
RELEASE_MCP_CONFIG_JSON envRELEASE_MCP_CONFIG envPROVIDER envBASE_URL envEsta 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 vaggeliskls, 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: TOKEN
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.1) llegó al registro hace 4 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) 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.
A small, generic MCP server that combines GitHub releases from several repositories into a single product release note. The server just fetches and bundles raw data; the LLM synthesizes the final notes.
Nothing is architecture-specific:
github (default), gitlab, or gitea/Forgejo. Release fetching goes through a small adapter, so adding a forge means normalizing its release JSON — a contained change.Config holds no secrets — only the repo set and context. Provider and auth come from the environment.
// config.json — non-sensitive (required; the server errors if it's missing)
{ "repos": [ "myorg/auth-service", "myorg/web" ], "contextSources": [ { "name": "release-info", "url": "https://example.github.io/whatever/release.json", "description": "Extra context to consult when assembling release notes" } ] }
Environment (provider-agnostic, set in .env or your shell):
| Var | Purpose | Default | ||
|---|---|---|---|---|
TOKEN | Auth token for the provider — never in config | _(empty; ok for public repos)_ | ||
PROVIDER | github \ | gitlab \ | gitea (overrides config) | github |
BASE_URL | API base — only for self-hosted GitLab / Gitea | provider default |
format on a context source is optional — auto-detected from Content-Type / URL extension / content sniffing. Override only when wrong.The server only ever reads releases (GET /repos/{owner}/{repo}/releases…), so give TOKEN the minimum read scope — never write access.
| Provider | Public repos | Private repos |
|---|---|---|
| GitHub — fine-grained PAT | no token needed | Contents: Read-only (releases live under Contents), for each repo you list |
| GitHub — classic PAT | no token needed (or public_repo) | repo scope |
| GitLab | no token needed | read_api scope |
| Gitea / Forgejo | no token needed | read:repository scope |
For GitHub, a fine-grained PAT scoped to just the repos in config.json with Contents → Read-only is the tightest setup and is all this server requires.
The config (repos + contextSources) must come from one of two places — the server errors on startup if neither is set:
| Source | Use it for |
|---|---|
RELEASE_MCP_CONFIG_JSON | The config as inline JSON. No file needed — ideal for uvx / MCP hubs where everything is an env var. |
RELEASE_MCP_CONFIG | Path to a config.json file (default ./config.json). Used by the container, which mounts a real file. |
Inline JSON wins when both are set. Copy config.example.json to get started with the file approach.
| Tool | Purpose |
|---|---|
list_repos() | The configured repos |
list_releases(repo, limit) | Recent releases for one repo |
get_latest_version(repo) | Newest release for one repo |
get_release(repo, tag) | Full notes for one tag |
compare_releases(repo, from_tag, to_tag) | All releases between two versions |
gather_release_notes(selections[]) | Bundle raw notes from N (repo, tag) pairs (concurrent) |
get_context(name?) | Load configured context URLs (auto-detected format) |
Selection is dynamic — you (or Claude) pass the (repo, tag) pairs to combine. The server's instructions tell Claude to call get_context() first.
The server runs in a container over HTTP transport on localhost:8000. First create the config and env files (both runs need them):
cp config.example.json config.json # edit repos + contextSources (no secrets)
cp .env.example .env # set TOKEN (+ PROVIDER / BASE_URL if needed)
docker compose up -d
docker compose watchFor local dev, docker compose watch keeps the server live while you edit:
docker compose watch
| Change | Action |
|---|---|
server.py | sync + restart — copied into the container, process restarts |
requirements.txt, Dockerfile | rebuild — image is rebuilt automatically |
config.json | bind-mounted (live); run docker compose restart to reload it |
uvx (no clone, no container)The server is published to PyPI, so a client can launch it on demand with uvx — no checkout and no Docker:
uvx release-notes-mcp
uvx talks to the server over stdio (the default transport). Since there's no file to mount, pass the config inline as JSON via RELEASE_MCP_CONFIG_JSON (everything is env-only — ideal for MCP hubs):
RELEASE_MCP_CONFIG_JSON='{"repos":["myorg/web"],"contextSources":[]}' \
TOKEN=ghp_... uvx release-notes-mcp
Prefer a file? Point RELEASE_MCP_CONFIG at an absolute path instead (uvx runs from an unknown working directory, so a relative path won't resolve):
RELEASE_MCP_CONFIG=/abs/path/config.json TOKEN=ghp_... uvx release-notes-mcp
HTTP (container) — point Claude Code at the running server by its URL:
claude mcp add --transport http release-notes http://localhost:8000/mcp
stdio (`uvx`) — let Claude Code launch the server as a subprocess:
claude mcp add release-notes \
--env RELEASE_MCP_CONFIG=/abs/path/config.json \ --env TOKEN=ghp_... \ -- uvx release-notes-mcp
Then ask Claude: *"Combine the latest releases of auth-service and web into a product release note."*