Skip to main content
Glama
vaggeliskls

release-notes-mcp

by vaggeliskls

release-notes-mcp

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:

  • provider — which forge to read releases from: 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.

  • repos — the repos the server is allowed to read releases from.

  • contextSources — arbitrary URLs loaded as background context (a style guide, a versions file, feature names — anything). The server assigns no meaning; what each source is is decided by what you put behind the URL.

Configuration

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.

Token permissions

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.

Related MCP server: Documentation MCP Server

Tools

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.

Run

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)

Normal run

docker compose up -d

Local development — docker compose watch

For 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

Run with 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

Register with Claude Code

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."

Available Tools

7 tools
compare_releasesA

Return every release in repo published after from_tag up to and including to_tag (newest first) — useful when a service jumped several versions.

Bodies are omitted by default (pass include_body=True for the notes text).

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYes
to_tagYes
from_tagYes
include_bodyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description does well to disclose key behaviors: newest-first ordering, inclusive to_tag and exclusive from_tag, default omission of bodies, and the include_body flag to override. This covers the main behavioral traits an agent needs to know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, with the main action front-loaded and a single additional note about the include_body parameter. No redundant words, and every clause adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient for an agent to invoke the tool effectively, especially since an output schema exists (so return structure needn't be described). It covers the range semantics, ordering, and body inclusion. Minor missing details like tag existence errors are not critical for selection/invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain all parameters. It does: repo identifies the repository, from_tag and to_tag define the range boundaries, and include_body controls whether note bodies are returned. This fully compensates for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Return every release in `repo` published after `from_tag` up to and including `to_tag` (newest first)'. This specific verb+resource+scope distinguishes it from siblings like list_releases and get_release.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a clear use case ('useful when a service jumped several versions') and implies the tool is for comparing across a range of releases. It doesn't explicitly name alternatives or exclusion criteria, but the context is sufficient for an agent to select it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gather_release_notesA

Bundle raw release notes for an explicit list of selections so they can be synthesized into a single product release.

selections is a list of {"repo": "owner/name", "tag": "v1.2.3"}. Fetches all entries concurrently.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectionsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that it fetches all entries concurrently and that notes are 'raw' (not synthesized), which adds useful behavioral context. However, it does not address error handling, partial failures, or potential side effects (e.g., whether it is purely read-only). Given the fetch-like nature, more depth would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it states the core purpose in the first sentence, follows with the parameter format, and ends with concurrency behavior. Every sentence earns its place, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one well-described parameter and an existing output schema, the description covers the essential aspects: what it does, how to specify selections, and a key behavioral trait (concurrency). It does not mention potential prerequisites or failure modes, but given the simplicity and output schema, it is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no descriptions and uses a loose additionalProperties string, offering no semantic meaning. The description fully compensates by defining the exact structure: a list of {"repo": "owner/name", "tag": "v1.2.3"}. This is essential for correct invocation and goes well beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'bundle' with a clear resource 'raw release notes' and states the purpose: to synthesize into a single product release. It distinguishes from sibling tools like get_release (single release) and list_releases by handling an explicit list of selections.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates when to use this tool: when you have an explicit list of repo/tag selections and want to combine their release notes. It does not explicitly name alternatives or state when not to use it, but the context is unambiguous enough for an agent to select it over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_contextA

Load supplementary context the user configured in contextSources.

Call this first when assembling release notes. With no argument it loads all sources; pass name to load just one. Format is auto-detected.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and discloses key behaviors: it loads all sources by default, filters with a name, and auto-detects format. It does not mention error handling or side effects, but the load operation implies read-only behavior and the disclosed traits are valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short, information-dense sentences with no redundancy. It fronts the purpose, then gives usage timing, then parameter behavior, with each sentence earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one optional parameter and an output schema, the description covers key aspects: what it loads, when to call it, how to filter, and format auto-detection. It could define 'supplementary context' more precisely, but the output schema handles return structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero description coverage for the 'name' parameter, but the description compensates fully by explaining that no argument loads all sources and passing a name loads just one. This adds clear meaning beyond the bare schema definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool loads supplementary context from contextSources, using a specific verb and resource. It distinguishes itself from sibling tools by focusing on user-configured context sources rather than repository or release data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to call this tool first when assembling release notes, providing a clear when-to-use directive. It also explains parameter usage with no argument vs passing a name, but does not explicitly mention alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_latest_versionA

Get the latest published release for one repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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 states the core behavior (returns the latest published release) but does not disclose repo format expectations, error handling, or whether drafts/prereleases are excluded. Minimal disclosure beyond the obvious operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single concise sentence that earns its place by stating the tool's action, resource, and scope. No wasted words, though it could benefit from a bit more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are presumably defined there. The operation is simple with one parameter, but the description leaves a gap around the repo parameter's format. Overall adequate for a basic get tool but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter 'repo' with 0% description coverage, and the description only adds 'for one repo'. It does not clarify the expected format (e.g., 'owner/repo') or any constraints, leaving the parameter semantics largely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' with a precise resource 'latest published release' and scope 'for one repo'. It clearly distinguishes from sibling tools like list_releases (all releases) and get_release (a specific release).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Context implies the tool is for fetching the most recent release for a single repo, but it does not explicitly say when to use it over get_release or list_releases, nor does it mention alternatives. No exclusions or applicable scenarios are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_releaseB

Get the full release notes for a specific tag in one repo.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
repoYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only says 'full release notes' but does not disclose error behavior, authentication requirements, or whether the operation might fail for missing tags. Lacks meaningful behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core purpose, no unnecessary words. Concise and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and an output schema exists, so return values are covered. However, the description lacks usage guidance and behavioral transparency, making it only minimally complete for an agent to invoke reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has zero descriptions for parameters. The description adds only that 'repo' is a repository and 'tag' is a specific tag, which is minimally more than the parameter names themselves. No format, constraints, or examples are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what it does: retrieves full release notes for a specific tag in a repository. This clearly distinguishes it from sibling tools like list_releases or get_latest_version.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for a specific tag, which gives some usage context, but it does not explicitly mention when to use it versus alternatives like list_releases or gathering multiple release notes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_releasesA

List recent releases for one repo (newest first). repo is 'owner/name'.

By default the release body is omitted to keep the response small — pass include_body=True only when you need the notes text. published_after (ISO-8601, e.g. '2026-06-02' or '2026-06-02T14:18:43Z') keeps only releases published strictly after that instant. limit caps the number of releases returned; when filtering by published_after the server scans up to 100 releases of history (the same ceiling as compare_releases) before applying it, so the filter sees real history rather than just the first limit rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYes
limitNo
include_bodyNo
published_afterNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full transparency burden and does so thoroughly. It discloses the default omission of release body, strict-after filtering semantics, the scan ceiling of 100 releases when filtering, and the interaction between limit and published_after. This goes well beyond the schema and provides meaningful behavioral expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense but well-structured: a one-sentence summary followed by focused parameter behavior notes. Every sentence earns its place, and the most important facts are front-loaded. It is appropriately sized for a 4-parameter tool with non-obvious interactions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity and the presence of an output schema, the description covers the key contextual aspects: ordering, defaults, filtering semantics, and performance ceiling. It also ties the scan limit to a sibling tool (compare_releases), making the behavior easier to reason about. No significant gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it does comprehensively. It explains the repo format, the purpose and conditions for include_body, the ISO-8601 format and strict-after behavior of published_after, and how limit caps results while the server scans up to 100 records. Every parameter is given semantic meaning beyond its raw type/default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('List recent releases for one repo (newest first)') and clarifies the repo format as 'owner/name'. This clearly distinguishes it from sibling tools like list_repos (which lists repos) and get_release (which likely targets a single release).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete guidance on when to use optional parameters, e.g., 'pass include_body=True only when you need the notes text' and explains the behavior of published_after and limit. It references compare_releases for the scanning ceiling, but does not explicitly state when to choose this tool over get_release or get_latest_version, so it stops short of full alternative-based guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_reposA

List the repositories and provider this server is configured to read.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It states the operation is 'read', implying a safe, non-destructive action, but it does not explicitly confirm no side effects, nor does it describe behavior when no repositories are configured. Minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the action and subject. Every word contributes to the meaning, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, parameter-less tool with an output schema, the description captures the essential context: it lists repositories and provider. It could note that it reflects server configuration, but that is already implied. Overall, sufficient for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema has no properties. With no parameters to document, the baseline for parameter semantics is 4, and the description does not need to compensate for parameter coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and identifies the resource ('repositories and provider'), clearly distinguishing this tool from siblings that focus on releases. The scope is explicit: it lists what the server is configured to read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives. It does not mention any other tools or exclusions, leaving the agent to infer from sibling names that this is for repo listing.

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.

  1. 7 tool updatesv0.1.0
    • First observedcompare_releases
    • First observedgather_release_notes
    • First observedget_context
    • First observedget_latest_version
    • First observedget_release
    • First observedlist_releases
    • First observedlist_repos

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct resource or action: repo discovery, release listing, latest version, specific release, range comparison, bulk gathering, and context loading. No two tools appear to serve the same purpose.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: list_repos, list_releases, get_latest_version, get_release, compare_releases, gather_release_notes, get_context. Naming style is uniform and predictable.

Tool Count5/5

Seven tools is well within the ideal 3-15 range for a focused release-notes server. Each tool earns its place with a clear role in the workflow.

Completeness5/5

The tool surface covers the full release-notes lifecycle: discovering repositories, listing and filtering releases, drilling into specific versions, comparing ranges, bundling multiple notes, and pulling supplementary context. No obvious operational gap remains.

Maintenance

ActivityStale
ResponsivenessSyncing

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

Related MCP Servers

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/vaggeliskls/release-notes-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server