Topic

ai

4 min read

Turn an Existing REST API into an MCP Server Without Writing a Single Wrapper

You already have a working REST API. Hand-writing and maintaining a second, parallel set of AI tool wrappers is pure transcription that drifts. Generate MCP tools from your OpenAPI contract, start read-only, and keep authorization where it belongs - in your API.

Read article
4 min read

LLM Structured Outputs and JSON Schema: Tool Calling That Never Drifts

Free-form tool arguments are where agent workflows break: the model invents fields, sends numbers as strings, and omits required values. Structured outputs backed by strict JSON Schema make tool calls deterministic, and most of that schema already exists in your OpenAPI components.

Read article
4 min read

One MCP Gateway for All Your Internal APIs: The Aggregation Pattern

Pointing an agent at forty internal MCP servers breaks tool limits and buries it in duplicated names. The pattern that works at scale is one authenticated gateway that aggregates specs, namespaces the tools, and keeps auth, logging, and rate limits in one place.

Read article
4 min read

MCP Security in Practice: Prompt Injection, Least Privilege, and Audit Logs

MCP turns external content into actions: a tool description or API response is text the model reads and trusts, which makes indirect prompt injection a real attack path. Here is a practical threat model and the controls that actually work, from scoped tokens to human-in-the-loop and audit logs.

Read article
3 min read

MCP Tools vs Resources vs Prompts: What to Expose to an AI Agent

Most teams expose everything as MCP tools and end up with a catalog the model cannot navigate. The protocol defines three primitives for a reason: tools act, resources are readable context, and prompts package reusable workflows. Here is how to decide, with examples from an API platform.

Read article
4 min read

Versioning MCP Tools Without Breaking the Agents That Call Them

Agents discover MCP tools at runtime and learn names and parameters from descriptions, so a renamed tool is a silent production break. Here is how to evolve a tool catalog: additive changes, deprecation windows, versioned names as a last resort, and CI diffs from the source spec.

Read article