<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Elva Blog</title>
    <link>https://getelva.ai/blog</link>
    <description>Engineering notes from the Elva team: API discovery, contracts and breaking-change policy, MCP servers in production, and what agents need from APIs.</description>
    <language>en</language>
    <lastBuildDate>Tue, 01 Sep 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://getelva.ai/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>API testing tools that generate tests from code, compared</title>
      <link>https://getelva.ai/blog/api-test-generation-tools-compared</link>
      <guid isPermaLink="true">https://getelva.ai/blog/api-test-generation-tools-compared</guid>
      <description>Spec-driven fuzzers, traffic-recording tools, AI request assistants, and security-focused generators all claim to &quot;generate API tests.&quot; A researched map of what each actually generates, from what source, and what it misses.</description>
      <pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Testing</category>
      <category>AI Agents</category>
    </item>
    <item>
      <title>Automated API documentation without an OpenAPI spec</title>
      <link>https://getelva.ai/blog/automated-api-documentation-without-openapi-specs</link>
      <guid isPermaLink="true">https://getelva.ai/blog/automated-api-documentation-without-openapi-specs</guid>
      <description>Most API doc platforms assume you already have an OpenAPI file. A researched map of what actually produces a reference doc when you don't: collection imports, AI write-ups, traffic discovery, and code-derived catalogs.</description>
      <pubDate>Tue, 01 Sep 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>API Documentation</category>
      <category>OpenAPI</category>
    </item>
    <item>
      <title>API changelog tools, compared</title>
      <link>https://getelva.ai/blog/api-changelog-tools-compared</link>
      <guid isPermaLink="true">https://getelva.ai/blog/api-changelog-tools-compared</guid>
      <description>Spec-diff generators, docs platforms with a changelog built in, generic release-notes widgets, and git-native automation: a researched map of what actually produces an API changelog, and where each one falls short.</description>
      <pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Governance</category>
      <category>Contracts</category>
    </item>
    <item>
      <title>MCP logging and observability tools, compared</title>
      <link>https://getelva.ai/blog/mcp-logging-and-observability-tools-compared</link>
      <guid isPermaLink="true">https://getelva.ai/blog/mcp-logging-and-observability-tools-compared</guid>
      <description>A researched map of how teams actually watch MCP traffic today: the protocol's own shift to OpenTelemetry, the observability platforms that added MCP tracing, and the gap between debugging a server and running one.</description>
      <pubDate>Mon, 31 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>MCP</category>
      <category>Observability</category>
    </item>
    <item>
      <title>Tools to build governed MCP servers for agents, compared</title>
      <link>https://getelva.ai/blog/governed-mcp-servers-for-enterprise-agents</link>
      <guid isPermaLink="true">https://getelva.ai/blog/governed-mcp-servers-for-enterprise-agents</guid>
      <description>A researched map of what actually governs an enterprise MCP server: SDKs that write server code, gateways that add auth and rate limits in front of one, and platforms that generate and host a governed server directly.</description>
      <pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>MCP</category>
      <category>Governance</category>
    </item>
    <item>
      <title>Turning a code repository into an MCP server, compared</title>
      <link>https://getelva.ai/blog/turning-code-repositories-into-mcp-servers</link>
      <guid isPermaLink="true">https://getelva.ai/blog/turning-code-repositories-into-mcp-servers</guid>
      <description>What actually turns a codebase into an MCP server: GitHub's own API server (a different job entirely), OpenAPI-to-MCP generators that need a spec first, code annotation frameworks, and the thin no-spec category.</description>
      <pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>MCP</category>
      <category>Infrastructure</category>
    </item>
    <item>
      <title>How teams actually control what AI agents can access</title>
      <link>https://getelva.ai/blog/agent-permissions-and-data-access-governance</link>
      <guid isPermaLink="true">https://getelva.ai/blog/agent-permissions-and-data-access-governance</guid>
      <description>A researched map of the real tools behind &quot;agent permissions&quot;: policy engines, non-human identity platforms, MCP's own OAuth flow, and cloud IAM for agents — four different layers people keep treating as one.</description>
      <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Governance</category>
      <category>AI Agents</category>
    </item>
    <item>
      <title>API discovery platforms and marketplaces for AI agents in 2026</title>
      <link>https://getelva.ai/blog/api-discovery-platforms-for-ai-agents</link>
      <guid isPermaLink="true">https://getelva.ai/blog/api-discovery-platforms-for-ai-agents</guid>
      <description>A researched map of how AI agents and the teams building them find and call APIs at scale outside of MCP: public marketplaces, unified-API platforms, and OpenAPI-driven agent tool generation, and where each one stops short of governing who gets to call what.</description>
      <pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>AI Agents</category>
      <category>OpenAPI</category>
    </item>
    <item>
      <title>How teams maintain API contracts without a manual spec</title>
      <link>https://getelva.ai/blog/automatic-api-contracts-without-manual-specs</link>
      <guid isPermaLink="true">https://getelva.ai/blog/automatic-api-contracts-without-manual-specs</guid>
      <description>A precise map of the tools people reach for to keep an API contract true without hand-writing one: schema-first frameworks, code-reading generators, contract testing, and drift detection, and where each one actually stops.</description>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Contracts</category>
      <category>OpenAPI</category>
      <category>Governance</category>
    </item>
    <item>
      <title>The best MCP tool discovery platforms in 2026</title>
      <link>https://getelva.ai/blog/best-mcp-tool-discovery-platforms</link>
      <guid isPermaLink="true">https://getelva.ai/blog/best-mcp-tool-discovery-platforms</guid>
      <description>A researched comparison of where AI agents and developers actually find MCP servers today — the official registry, community marketplaces, integration platforms, and packaged hosting — plus where governed private serving fits.</description>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>MCP</category>
      <category>AI Agents</category>
    </item>
    <item>
      <title>An API governance checklist that fits in one pipeline</title>
      <link>https://getelva.ai/blog/api-governance-checklist</link>
      <guid isPermaLink="true">https://getelva.ai/blog/api-governance-checklist</guid>
      <description>Twelve checks that make API governance real: catalog, contracts, breaking change gates, auth, observability, and agent access, all enforced in CI.</description>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Governance</category>
    </item>
    <item>
      <title>API versioning strategies that survive breaking changes</title>
      <link>https://getelva.ai/blog/api-versioning-breaking-changes</link>
      <guid isPermaLink="true">https://getelva.ai/blog/api-versioning-breaking-changes</guid>
      <description>URL versions, headers, dates, or no versions at all: how the four common strategies handle a breaking change, and the discipline that matters more.</description>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Governance</category>
      <category>Contracts</category>
    </item>
    <item>
      <title>How to generate an OpenAPI spec from existing code</title>
      <link>https://getelva.ai/blog/generate-openapi-spec-from-code</link>
      <guid isPermaLink="true">https://getelva.ai/blog/generate-openapi-spec-from-code</guid>
      <description>Four working ways to get an OpenAPI 3.1 spec out of a codebase that never had one, what each approach misses, and how to keep the result true.</description>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>OpenAPI</category>
      <category>Engineering</category>
    </item>
    <item>
      <title>MCP vs REST: what changes when agents call your API</title>
      <link>https://getelva.ai/blog/mcp-vs-rest-api</link>
      <guid isPermaLink="true">https://getelva.ai/blog/mcp-vs-rest-api</guid>
      <description>MCP does not replace REST. It changes who the caller is. What that shift means for interface design, auth, error messages, and operations.</description>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>MCP</category>
      <category>Engineering</category>
    </item>
    <item>
      <title>What is an MCP server, explained for API teams</title>
      <link>https://getelva.ai/blog/what-is-an-mcp-server</link>
      <guid isPermaLink="true">https://getelva.ai/blog/what-is-an-mcp-server</guid>
      <description>A plain explanation of MCP servers: what the protocol does, how a server maps to your API, and what it takes to run one in production.</description>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>MCP</category>
    </item>
    <item>
      <title>MCP servers are infrastructure. Run them like it.</title>
      <link>https://getelva.ai/blog/mcp-servers-are-infrastructure</link>
      <guid isPermaLink="true">https://getelva.ai/blog/mcp-servers-are-infrastructure</guid>
      <description>Weekend demos die on Monday. What we learned running MCP servers for real agent traffic, and what changes when a tool call has an SLA.</description>
      <pubDate>Tue, 14 Jul 2026 00:00:00 GMT</pubDate>
      <author>Natia K.</author>
      <category>MCP</category>
      <category>Infrastructure</category>
      <category>Observability</category>
    </item>
    <item>
      <title>How Elva reads a repo: from route handlers to OpenAPI 3.1</title>
      <link>https://getelva.ai/blog/how-elva-reads-a-repo</link>
      <guid isPermaLink="true">https://getelva.ai/blog/how-elva-reads-a-repo</guid>
      <description>Static analysis, framework fingerprints, and the messy middle where code and spec disagree.</description>
      <pubDate>Thu, 02 Jul 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Engineering</category>
      <category>OpenAPI</category>
    </item>
    <item>
      <title>July: field-level constraints, key-scoped analytics, drift alerts</title>
      <link>https://getelva.ai/blog/changelog-july-2026</link>
      <guid isPermaLink="true">https://getelva.ai/blog/changelog-july-2026</guid>
      <description>Everything that shipped this month, including the schema editor and per-key usage.</description>
      <pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Product</category>
    </item>
    <item>
      <title>Contracts: one API, four audiences</title>
      <link>https://getelva.ai/blog/contracts-one-api-four-audiences</link>
      <guid isPermaLink="true">https://getelva.ai/blog/contracts-one-api-four-audiences</guid>
      <description>Partners, internal teams, the public, and agents all need different views of the same endpoints. Contracts make that explicit.</description>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Product</category>
      <category>Contracts</category>
      <category>Governance</category>
    </item>
    <item>
      <title>Scoring agent readiness: what the A–E grade actually measures</title>
      <link>https://getelva.ai/blog/scoring-agent-readiness</link>
      <guid isPermaLink="true">https://getelva.ai/blog/scoring-agent-readiness</guid>
      <description>Description coverage, schema completeness, auth clarity, and the weights behind the grade.</description>
      <pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Engineering</category>
      <category>AI Agents</category>
    </item>
    <item>
      <title>23 tools, 4 agents, zero surprises</title>
      <link>https://getelva.ai/blog/23-tools-4-agents-zero-surprises</link>
      <guid isPermaLink="true">https://getelva.ai/blog/23-tools-4-agents-zero-surprises</guid>
      <description>Per-agent activity, tool-level latency, and catching the schema gap before Claude does.</description>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>MCP</category>
      <category>Observability</category>
    </item>
    <item>
      <title>Why “no spec” can’t mean “no catalog”</title>
      <link>https://getelva.ai/blog/why-no-spec-cant-mean-no-catalog</link>
      <guid isPermaLink="true">https://getelva.ai/blog/why-no-spec-cant-mean-no-catalog</guid>
      <description>Half the APIs that matter have no OpenAPI file. The catalog has to start from code, not from paperwork.</description>
      <pubDate>Fri, 08 May 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>Product</category>
    </item>
    <item>
      <title>What 1.2 million agent tool calls taught us about timeouts, retries, and the true cost of a vague error message</title>
      <link>https://getelva.ai/blog/what-1-2-million-tool-calls-taught-us</link>
      <guid isPermaLink="true">https://getelva.ai/blog/what-1-2-million-tool-calls-taught-us</guid>
      <description>Ninety days of production MCP traffic in numbers: retry storms, timeout cliffs, and why one ambiguous error string cost more than any outage did.</description>
      <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
      <author>Elva Team</author>
      <category>MCP</category>
      <category>Observability</category>
    </item>
  </channel>
</rss>
