<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://dev-kestrel.hashnode.dev</loc>
    <lastmod>2026-11-07T11:48:03.437Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://dev-kestrel.hashnode.dev/brevo-s-mcp-server-has-193-tools-but-can-t-send-a-transactional-email-an-architecture-teardown</loc>
    <lastmod>2026-11-06T07:18:48.791Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://dev-kestrel.hashnode.dev/proper-error-handshakes-in-mcp-don-t-let-tool-exceptions-crash-your-llm-context</loc>
    <lastmod>2026-11-05T17:03:23.275Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://dev-kestrel.hashnode.dev/why-autonomous-ai-agents-need-per-key-recipient-allowlists-and-how-to-build-pre-send-security-gates-in-typescript</loc>
    <lastmod>2026-11-03T15:29:47.521Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://dev-kestrel.hashnode.dev/building-a-minimal-model-context-protocol-mcp-server-in-30-lines-of-typescript</loc>
    <lastmod>2026-11-02T17:36:11.160Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://dev-kestrel.hashnode.dev/malicious-claude-code-extensions-in-the-wild-why-ai-agents-need-deterministic-outbound-gates</loc>
    <lastmod>2026-11-01T13:58:38.507Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://dev-kestrel.hashnode.dev/archive</loc>
    <lastmod>2026-11-07T11:48:03.437Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>