The Powerduck Blog

API engineering, from the spec out

Product updates, engineering notes, and guides for designing, debugging, testing, mocking, and serving MCP tools from one OpenAPI spec.

Browse the guides
ai 4 min read

The Agent Fixed the TypeScript Error by Adding `as any`

When a type error blocks the build, the agent's fastest fix is usually to erase the type instead of understanding it. The build goes green. The real bug moves somewhere quieter.

Read article
AI Agents 3 min read

Your AI Agent's Exit Code Is Lying to You

An agent that exits 0 is not an agent that did the thing. It just means whatever it ran didn't blow up. Here's the cheap verification gate I stopped skipping.

Read article
release-notes 1 min read

Powerduck 1.4.9

This release fixes macOS startup and notarization issues, updates the bundled MCP server to version 0.7.17, and unifies empty-state design across the app.

Read article
mcp 2 min read

Your MCP Hub Exposes Every Tool to Every Agent. That's the Bug.

A shared MCP hub that lists all 40 tools to every connected agent is a convenience until the billing agent starts calling create_user. The fix isn't stricter prompts — it's a smaller tool list per agent, derived from the spec.

Read article
mcp 4 min read

Scope MCP Keys to the Human, Not to the Team

When you hand MCP gateway access to support and PMs, a team-wide key becomes the incident waiting to happen. Scope the key to the human, the role, and the three ops they actually use.

Read article
mcp 4 min read

When the Spec Changes, the MCP Tool List Should Change With It

We hand-maintained a tools.json that matched our OpenAPI doc for about three weeks. Then someone renamed a parameter and the agent started sending the old name to an endpoint that no longer accepted it. The fix was not better discipline. It was letting the spec be the source of truth.

Read article