fizlog-mcp
OfficialClick on "Deploy 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., "@fizlog-mcppublish a changelog entry for the CSV export I just shipped"
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.
fizlog-mcp
MCP server for Fizlog — the changelog widget for indie SaaS. Let Claude, Cursor or any MCP client announce what you just shipped:
"Publish a changelog entry for the CSV export I just finished."
Tools
Tool | What it does |
| Publishes (or schedules / saves as draft) an entry — shows up in your in-app widget, public changelog page and RSS. Optional subscriber email. |
| Reads your latest published entries, so the assistant can avoid duplicates or summarize releases. |
Related MCP server: Git Commit MCP Server
Setup
In Fizlog, open your project and copy the API key (and the public key from the embed snippet).
Add the server to your MCP client:
Claude Code
claude mcp add fizlog -e FIZLOG_API_KEY=fz_xxx -e FIZLOG_PUBLIC_KEY=your_public_key -- npx -y fizlog-mcpClaude Desktop (claude_desktop_config.json) / Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"fizlog": {
"command": "npx",
"args": ["-y", "fizlog-mcp"],
"env": { "FIZLOG_API_KEY": "fz_xxx", "FIZLOG_PUBLIC_KEY": "your_public_key" }
}
}
}Env var | Required | Default |
| for | — |
| no (default for | — |
| no (self-hosted Fizlog) |
|
Related
publish-to-fizlog — GitHub Action that posts a Fizlog entry for every GitHub release.
Fizlog migration guides — move your changelog from Beamer, Headway, AnnounceKit, Canny and others.
Listed in the official MCP Registry as
io.github.firmalemony/fizlog-mcp.
Development
npm install
npm run build
FIZLOG_BASE_URL=http://localhost:8888/fizlog FIZLOG_API_KEY=... FIZLOG_PUBLIC_KEY=demo npm run smokeThe smoke test creates one draft entry in the target project — run it against a local/test instance.
MIT © Lemony Apps
Available Tools
2 toolsget_public_changelogRead public changelogARead-only
Read the latest published entries of a Fizlog project by its public key (the key in the embed snippet / public page URL). Useful to avoid duplicate announcements or to summarize recent releases.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| public_key | No | Project public key. Defaults to FIZLOG_PUBLIC_KEY. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and network-openness are covered. The description adds that only published entries are returned and that the key identifies a public project, but says nothing about rate limits, auth, or pagination. Adequate but thin against an already-covered safety profile.
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, front-loaded with the action and resource, then the practical use cases. No filler or restated title.
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 read-only, two-parameter tool with no output schema, the description covers purpose, usage, and the key's provenance well. The one gap is any guidance on the limit parameter, which is left unaddressed.
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 50%: public_key is documented in the schema, but limit has no schema description and the description never explains it. The description does add real value for public_key by locating it ('the key in the embed snippet / public page URL'), but leaves limit's default/max behavior entirely to the raw schema defaults.
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?
States a specific verb+resource+scope ('read the latest published entries of a Fizlog project') and the addressing key. The sibling publish_entry is a write tool, so the read/write distinction is unambiguous without opening either schema.
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?
Gives two concrete use cases ('avoid duplicate announcements', 'summarize recent releases'), which tells the agent when this tool is the right call. It does not state exclusions or name an alternative for other scenarios (e.g., full history), so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_entryPublish changelog entryA
Publish a new entry to the project's Fizlog changelog (in-app widget, public page and RSS). Use it after shipping a feature or fix. Write for end users, not developers: a short benefit-focused title and 1–3 sentences of Markdown (bold, italic, code, links, '- ' lists). Set draft=true to save without publishing, or published_at to schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Details in Fizlog's Markdown subset. | |
| type | No | new = feature, improved = enhancement, fixed = bug fix. | new |
| draft | No | Save as an unpublished draft instead of publishing. | |
| title | Yes | Short, user-facing headline, e.g. 'Dark mode is here'. | |
| published_at | No | ISO 8601 date-time. A future value schedules the entry. | |
| notify_subscribers | No | Also email the project's subscribers (only for immediate, non-draft entries). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, destructive=false, openWorld=true, idempotent=false), so the bar is lower, and the description still adds meaningful behavior: entries propagate to three surfaces, draft=true defers publishing, and published_at schedules. It omits the subscriber-notification side effect by name, though that parameter is documented in the schema.
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?
Three tightly written sentences: purpose first, then trigger condition, then the authoring and scheduling mechanics. No filler, and the highest-value information leads.
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 mutation tool with no output schema and full annotation coverage, the description covers where the entry appears, the draft/schedule paths, and content expectations. It does not mention the notify_subscribers side effect, a minor gap given the schema covers it.
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 100%, so the schema already defines every parameter, including draft, published_at, and notify_subscribers. The description reinforces draft and scheduling behavior and adds authoring guidance (title style, Markdown subset), but mostly restates what the schema provides, making the baseline 3 appropriate.
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?
States a specific verb and resource ('Publish a new entry to the project's Fizlog changelog') and immediately names the surfaces affected (widget, public page, RSS). This clearly distinguishes a write tool from the read-only sibling get_public_changelog.
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?
Gives a clear trigger ('Use it after shipping a feature or fix'), which tells the agent when this tool applies. It does not explicitly name the sibling get_public_changelog or state when not to use this tool, so it stops short of full routing guidance.
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.
2 tool updates
v0.1.0- First observed
get_public_changelog - First observed
publish_entry
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: read public changelog entries vs. publish a new entry. An agent can easily tell which to use for a given request, with no overlap.
Both names use snake_case with a leading verb (get_, publish_), which is consistent. However, get_public_changelog inserts an adjective and refers to 'changelog' while publish_entry refers to 'entry', a minor noun mismatch.
Two tools for a changelog service is borderline thin. While the core read/publish workflow is covered, basic management operations like updating or deleting entries would require more tools.
The surface lacks update, delete, and list-own-drafts operations, which are standard for a changelog domain. An agent asked to edit a published entry or manage drafts would hit a dead end.
Maintenance
Related MCP Connectors
Publish and update your startup on BetaFinds from an AI agent — listings, changelog, releases.
- ShipstarOAuthai.shipstar
Generate changelogs, release emails, help-center articles, banners, and social posts from commits.
Connect your AI assistant to Produktly. Read changelogs, feedback responses, and roadmap items.
Manage WordPress blogs and WooCommerce shops from Claude, ChatGPT, Cursor and other MCP apps.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides a local, queryable mirror of changelogs from Anthropic and related AI dev tools, enabling agents to discover cross-product workflows and sync updates via MCP.10 npmMIT
- AlicenseAqualityDmaintenanceEnables AI assistants to create conventional Git commits, update changelogs, and optionally push changes to remote repositories.22MIT
- AlicenseAqualityDmaintenanceEnables safe changelog management for AI assistants with append-only entries, automatic versioning, and backups to prevent accidental deletion or formatting inconsistencies.89 npmMIT
- AlicenseAqualityCmaintenanceEnables AI to manage RSS subscriptions, fetch and summarize news, and organize results into tools like Notion.912 npm3MIT