release-notes-mcp
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., "@release-notes-mcpCombine releases from auth-service and web for v2.1.0"
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.
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, orgitea/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 |
| Auth token for the provider — never in config | (empty; ok for public repos) |
|
|
|
| API base — only for self-hosted GitLab / Gitea | provider default |
formaton a context source is optional — auto-detected fromContent-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 |
|
GitLab | no token needed |
|
Gitea / Forgejo | no token needed |
|
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 |
| The config as inline JSON. No file needed — ideal for |
| Path to a |
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 |
| The configured repos |
| Recent releases for one repo |
| Newest release for one repo |
| Full notes for one tag |
| All releases between two versions |
| Bundle raw notes from N |
| 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 -dLocal development — docker compose watch
For local dev, docker compose watch keeps the server live while you edit:
docker compose watchChange | Action |
| sync + restart — copied into the container, process restarts |
| rebuild — image is rebuilt automatically |
| bind-mounted (live); run |
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-mcpuvx 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-mcpPrefer 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-mcpRegister 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/mcpstdio (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-mcpThen ask Claude: "Combine the latest releases of auth-service and web into a product release note."
Available Tools
7 toolscompare_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).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| to_tag | Yes | ||
| from_tag | Yes | ||
| include_body | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| selections | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes | ||
| repo | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| limit | No | ||
| include_body | No | ||
| published_after | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
7 tool updates
v0.1.0- First observed
compare_releases - First observed
gather_release_notes - First observed
get_context - First observed
get_latest_version - First observed
get_release - First observed
list_releases - First observed
list_repos
TDQS
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.
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.
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.
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
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
- ShipstarOAuthai.shipstar
Generate and publish changelogs, blog posts, release emails, and social posts from your commits.
Summarize repository changes for a release
Behavioral drift context (Behavioral Load Map, hot paths, release brief) for coding agents, per PR.
Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.
Related MCP Servers
- FlicenseBqualityDmaintenanceGenerates comprehensive and formatted release notes from GitHub repositories, efficiently organizing commits by type and including detailed statistics using smart API usage.33-
- FlicenseNot gradedqualityDmaintenanceFetches GitHub PR and issue data server-side and combines it with a documentation template, providing formatted context to LLMs for automated documentation generation.-
- AlicenseBqualityDmaintenanceProvides tools for accessing, comparing, and analyzing GitHub repository releases with rich formatting and detailed information.5263ISC
- AlicenseNot gradedqualityDmaintenanceConverts raw GitHub notes into polished Polish release notes, PR descriptions, and changelogs using predefined workflows.MIT
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/vaggeliskls/release-notes-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server