LogPulse MCP
An official MCP server that provides machine-readable changelogs for coding agents. It allows agents to query version differences, breaking changes, migration steps, and deprecations via structured JSON. It also supports publishing release notes directly from agents or CI pipelines using an API key.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://release-ripple-roadmap.lovable.app/mcpWhat you can do with it
- Query breaking changes and migration steps between specific versions
- Convert markdown changelogs or GitHub releases to structured JSON
- Publish release notes and deprecations via API from CI/CD pipelines
Source and maintenance
Protocol and capabilities
- Server
- logpulse 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 9 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
search_changelogs — Search changelogs
Find a public LogPulse changelog by package name, repository, product name or slug. Returns slugs to use with the other tools.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Maximum results. Default 10."
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Package (e.g. @acme/analytics), repository (acme/analytics-js), product name or slug."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_changelog — Get changelog
Get a changelog's name, repository, packages, latest version and feed links.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"changelog"
],
"properties": {
"changelog": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Changelog slug, e.g. \"acme\". Use search_changelogs to find it from a package, repository or product name."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}list_releases — List releases
List published releases, newest first, with versions, breaking changes, migration steps and deprecations.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"changelog"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Maximum releases. Default 20."
},
"since": {
"type": "string",
"maxLength": 40,
"description": "Only releases published at or after this ISO 8601 time, e.g. 2026-01-01."
},
"changelog": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Changelog slug, e.g. \"acme\". Use search_changelogs to find it from a package, repository or product name."
},
"breaking_only": {
"type": "boolean",
"description": "Only releases that contain breaking changes."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_release — Get release
Get one release by version (2.0.0 or v2.0.0) or URL slug, with full notes, breaking changes and deprecations.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"changelog",
"release"
],
"properties": {
"release": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Version like 2.0.0, or the release's URL slug."
},
"changelog": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Changelog slug, e.g. \"acme\". Use search_changelogs to find it from a package, repository or product name."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}compare_versions — Compare versions
Answer “what changed between two versions, and what do I need to change?”: breaking changes with migration steps, deprecations and every release after `from` up to `to`.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"changelog"
],
"properties": {
"to": {
"type": "string",
"maxLength": 40,
"description": "The version to upgrade to. Omit for the latest."
},
"from": {
"type": "string",
"maxLength": 40,
"description": "The version the user is on, e.g. 1.4.0. Omit to start from the first release."
},
"format": {
"enum": [
"markdown",
"json"
],
"type": "string",
"description": "markdown (default) returns an upgrade guide; json returns structured data only."
},
"changelog": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Changelog slug, e.g. \"acme\". Use search_changelogs to find it from a package, repository or product name."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}get_roadmap — Get roadmap
Get the public roadmap: items under review, planned, in progress and shipped, with vote counts.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"changelog"
],
"properties": {
"status": {
"enum": [
"under_review",
"planned",
"in_progress",
"shipped"
],
"type": "string",
"description": "Only items in this column."
},
"changelog": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Changelog slug, e.g. \"acme\". Use search_changelogs to find it from a package, repository or product name."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}convert_changelog — Convert a changelog
Turn any project's CHANGELOG.md text, or a GitHub release, releases page, repository or changelog file URL, into a machine-readable changelog: versions, dates, breaking changes with migration steps, and deprecations. Works for projects that aren't on LogPulse. Returns an llms.txt-style summary plus structured JSON.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"description": "GitHub URL: a release (github.com/owner/repo/releases/tag/v1.2.0), the releases page, a repository, or a CHANGELOG.md file. Use this or markdown."
},
"name": {
"type": "string",
"maxLength": 100,
"description": "Project name to use in the summary."
},
"markdown": {
"type": "string",
"maxLength": 900000,
"description": "The changelog text itself, e.g. the contents of CHANGELOG.md. Use this or url."
},
"include_notes": {
"type": "boolean",
"description": "Include each release's full notes in the JSON. Default false to keep the answer short."
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true
}publish_release — Publish release
Publish a release note to your LogPulse changelog right after shipping — with version, breaking changes, migration steps and deprecations. Needs a LogPulse API key with the “Publish releases” permission, sent as the Authorization header.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"title"
],
"properties": {
"body": {
"type": "string",
"default": "",
"maxLength": 100000,
"description": "Release notes in Markdown."
},
"slug": {
"type": "string",
"maxLength": 80,
"description": "URL slug. Defaults to the title."
},
"title": {
"type": "string",
"maxLength": 160,
"minLength": 1,
"description": "Short, user-facing headline, e.g. “Webhooks retry automatically”."
},
"labels": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"maxItems": 10,
"description": "Up to 10 short labels, e.g. API, Dashboard."
},
"status": {
"enum": [
"published",
"draft"
],
"type": "string",
"default": "published",
"description": "published (default) goes live now, or at published_at. draft saves it for a human to review in LogPulse."
},
"summary": {
"type": "string",
"maxLength": 300,
"description": "One sentence for lists and link previews."
},
"version": {
"type": "string",
"pattern": "^[vV]?[0-9A-Za-z][0-9A-Za-z.+_-]{0,39}$",
"description": "Version this release ships in, e.g. 2.0.0. Unique per changelog."
},
"category": {
"enum": [
"new",
"improved",
"fixed"
],
"type": "string",
"default": "new",
"description": "new, improved or fixed. Default new."
},
"author_name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Shown as the author. Defaults to the API key's name."
},
"deprecations": {
"type": "array",
"items": {
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "What is deprecated."
},
"note": {
"type": "string",
"maxLength": 1000
},
"replacement": {
"type": "string",
"maxLength": 200
},
"removal_version": {
"type": "string",
"maxLength": 40
}
}
},
"maxItems": 50,
"description": "What is deprecated, its replacement and planned removal version."
},
"published_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Schedule a future time, or backdate an import."
},
"breaking_changes": {
"type": "array",
"items": {
"type": "object",
"required": [
"summary"
],
"properties": {
"affects": {
"type": "string",
"maxLength": 120,
"description": "What is affected, e.g. REST API, @acme/sdk."
},
"summary": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "One line: what broke."
},
"migration": {
"type": "string",
"maxLength": 4000,
"description": "Markdown steps to migrate."
}
}
},
"maxItems": 50,
"description": "What breaks for existing users, each with migration steps."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}post_roadmap_update — Post roadmap update
Add an item to your LogPulse roadmap, or update one by id — move it to in progress or shipped, change its ETA, or link the release that shipped it. Needs a LogPulse API key with the “Update roadmap” permission, sent as the Authorization header.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Update this item instead of creating a new one."
},
"eta": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "Free text, e.g. Q3 or July."
},
"label": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "Short tag, e.g. API or Mobile."
},
"title": {
"type": "string",
"maxLength": 140,
"minLength": 1,
"description": "Item title. Required when creating."
},
"status": {
"enum": [
"under_review",
"planned",
"in_progress",
"shipped"
],
"type": "string",
"description": "Roadmap column. New items default to planned."
},
"is_public": {
"type": "boolean",
"description": "Show on the public roadmap. Defaults to true for new items."
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"description": "What and why, in a sentence or two."
},
"linked_release": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
],
"description": "Release id, version or slug that shipped this item."
}
},
"additionalProperties": false
}{
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1545 ms
- 95th percentile latency
- 1545 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1545 ms · metadata changed · 9 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http logpulse-mcp https://release-ripple-roadmap.lovable.app/mcpCodex
codex mcp add logpulse-mcp --url https://release-ripple-roadmap.lovable.app/mcpCursor
{
"mcpServers": {
"logpulse-mcp": {
"url": "https://release-ripple-roadmap.lovable.app/mcp"
}
}
}Cline
{
"mcpServers": {
"logpulse-mcp": {
"type": "streamableHttp",
"url": "https://release-ripple-roadmap.lovable.app/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"logpulse-mcp": {
"type": "http",
"url": "https://release-ripple-roadmap.lovable.app/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http logpulse-mcp https://release-ripple-roadmap.lovable.app/mcpClaude Desktop
{
"mcpServers": {
"logpulse-mcp": {
"url": "https://release-ripple-roadmap.lovable.app/mcp"
}
}
}Windsurf
{
"mcpServers": {
"logpulse-mcp": {
"serverUrl": "https://release-ripple-roadmap.lovable.app/mcp"
}
}
}Let your agent find its tools
Find servers like LogPulse MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other developer tools servers
Do you run LogPulse MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.