{
  "name": "Gaazeon's Blog Public Discovery",
  "description": "Public read-only static discovery resources for Gaazeon's bilingual technical blog.",
  "version": "1.0.0",
  "serverUrl": "https://blog.gaazeon.com/",
  "documentationUrl": "https://blog.gaazeon.com/agent-integration.md",
  "protocol": {
    "transport": "streamable-http",
    "liveHandshake": true,
    "description": "The endpoint supports MCP Streamable HTTP over HTTPS POST for initialize, notifications/initialized, resources/list, resources/read, tools/list, and tools/call. Server-initiated SSE streams are intentionally unsupported."
  },
  "authentication": {
    "required": false,
    "description": "No authentication is required. The static blog exposes public read-only resources only."
  },
  "errorHandling": {
    "notFound": "Unsupported /api/* paths return application/json with a not_found error and canonical discovery links.",
    "retry": "Retry canonical Markdown or JSON resources once, then fall back to llms-full.txt, index.md, RSS feeds, and sitemap files.",
    "unsupported": "Authentication, mutation, checkout, private data, prompts, streaming, and write tools are intentionally unsupported."
  },
  "tools": [
    {
      "name": "get_agent_instructions",
      "title": "Get Agent Instructions",
      "description": "Read agent usage guidance, retrieval order, citation guidance, unsupported workflows, and error recovery notes.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      },
      "outputSchema": {
        "type": "string",
        "contentMediaType": "text/markdown"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://widget/resource-index.html",
          "visibility": [
            "model",
            "app"
          ]
        },
        "openai/outputTemplate": "ui://widget/resource-index.html",
        "openai/toolInvocation/invoking": "Reading public resources",
        "openai/toolInvocation/invoked": "Resources ready"
      },
      "url": "https://blog.gaazeon.com/agents.md"
    },
    {
      "name": "get_agent_integration_guide",
      "title": "Get Agent Integration Guide",
      "description": "Read the canonical integration guide for OpenAPI, MCP, Markdown negotiation, JSON errors, and unsupported workflows.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      },
      "outputSchema": {
        "type": "string",
        "contentMediaType": "text/markdown"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://widget/resource-index.html",
          "visibility": [
            "model",
            "app"
          ]
        },
        "openai/outputTemplate": "ui://widget/resource-index.html",
        "openai/toolInvocation/invoking": "Reading public resources",
        "openai/toolInvocation/invoked": "Resources ready"
      },
      "url": "https://blog.gaazeon.com/agent-integration.md"
    },
    {
      "name": "get_developer_resource_docs",
      "title": "Get Developer Resource Docs",
      "description": "Read the public static resource index for agents and developer tools, including RSS, sitemap, Markdown, OpenAPI, MCP, and read-only JSON entry points.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      },
      "outputSchema": {
        "type": "string",
        "contentMediaType": "text/markdown"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://widget/resource-index.html",
          "visibility": [
            "model",
            "app"
          ]
        },
        "openai/outputTemplate": "ui://widget/resource-index.html",
        "openai/toolInvocation/invoking": "Reading public resources",
        "openai/toolInvocation/invoked": "Resources ready"
      },
      "url": "https://blog.gaazeon.com/docs.md"
    },
    {
      "name": "get_webhook_alternatives",
      "title": "Get Webhook Alternatives",
      "description": "Read why webhooks are unsupported for the static blog and which RSS, sitemap, and JSON resources agents should use for incremental updates.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      },
      "outputSchema": {
        "type": "string",
        "contentMediaType": "text/markdown"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://widget/resource-index.html",
          "visibility": [
            "model",
            "app"
          ]
        },
        "openai/outputTemplate": "ui://widget/resource-index.html",
        "openai/toolInvocation/invoking": "Reading public resources",
        "openai/toolInvocation/invoked": "Resources ready"
      },
      "url": "https://blog.gaazeon.com/webhooks.md"
    },
    {
      "name": "get_markdown_index",
      "title": "Get Markdown Index",
      "description": "Read the Markdown site index for public links, access model, and content topics.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      },
      "outputSchema": {
        "type": "string",
        "contentMediaType": "text/markdown"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://widget/resource-index.html",
          "visibility": [
            "model",
            "app"
          ]
        },
        "openai/outputTemplate": "ui://widget/resource-index.html",
        "openai/toolInvocation/invoking": "Reading public resources",
        "openai/toolInvocation/invoked": "Resources ready"
      },
      "url": "https://blog.gaazeon.com/index.md"
    },
    {
      "name": "get_openapi_description",
      "title": "Get OpenAPI Description",
      "description": "Read the OpenAPI description for public static discovery resources.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      },
      "outputSchema": {
        "type": "object",
        "contentMediaType": "application/vnd.oai.openapi+json"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://widget/resource-index.html",
          "visibility": [
            "model",
            "app"
          ]
        },
        "openai/outputTemplate": "ui://widget/resource-index.html",
        "openai/toolInvocation/invoking": "Reading public resources",
        "openai/toolInvocation/invoked": "Resources ready"
      },
      "url": "https://blog.gaazeon.com/openapi.json"
    },
    {
      "name": "get_pricing_access_model",
      "title": "Get Pricing Access Model",
      "description": "Read the free access and pricing model for the public static blog, including the absence of paid tiers, OAuth, accounts, and private APIs.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "properties": {}
      },
      "outputSchema": {
        "type": "string",
        "contentMediaType": "text/markdown"
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "_meta": {
        "ui": {
          "resourceUri": "ui://widget/resource-index.html",
          "visibility": [
            "model",
            "app"
          ]
        },
        "openai/outputTemplate": "ui://widget/resource-index.html",
        "openai/toolInvocation/invoking": "Reading public resources",
        "openai/toolInvocation/invoked": "Resources ready"
      },
      "url": "https://blog.gaazeon.com/pricing.md"
    }
  ],
  "resources": [
    {
      "uri": "https://blog.gaazeon.com/llms.txt",
      "name": "LLM overview",
      "description": "Compact overview of the blog, canonical retrieval order, access model, and agent constraints.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://blog.gaazeon.com/llms-full.txt",
      "name": "Full LLM context",
      "description": "Full machine-readable site context with identity, access model, retrieval strategy, examples, and public resource links.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://blog.gaazeon.com/agent-integration.md",
      "name": "Agent integration guide",
      "description": "Canonical integration guide for OpenAPI, MCP, Markdown negotiation, JSON errors, and unsupported workflows.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://blog.gaazeon.com/agents.md",
      "name": "Agent instructions",
      "description": "Operational instructions for AI agents, crawlers, retrieval systems, and developer tools.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://blog.gaazeon.com/docs.md",
      "name": "Agent and developer resources",
      "description": "Public static resource index for AI agents, crawlers, search systems, and developer tools consuming the blog.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://blog.gaazeon.com/webhooks.md",
      "name": "Webhook alternatives",
      "description": "Static publishing alternatives to webhooks, including RSS, sitemap files, and read-only JSON indexes.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://blog.gaazeon.com/index.md",
      "name": "Markdown home index",
      "description": "Markdown index of main site links, agent entry points, RSS feeds, and access model.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://blog.gaazeon.com/openapi.json",
      "name": "OpenAPI description",
      "description": "OpenAPI 3.1 description for public static discovery resources and read-only JSON endpoints.",
      "mimeType": "application/vnd.oai.openapi+json"
    },
    {
      "uri": "https://blog.gaazeon.com/pricing.md",
      "name": "Pricing and access model",
      "description": "Free public access model, unsupported paid tiers, and no-auth read-only constraints.",
      "mimeType": "text/markdown"
    },
    {
      "uri": "https://blog.gaazeon.com/sitemap-index.xml",
      "name": "Sitemap index",
      "description": "XML sitemap index for canonical article and page discovery.",
      "mimeType": "application/xml"
    },
    {
      "uri": "ui://widget/resource-index.html",
      "name": "Agent resource index widget",
      "description": "Read-only MCP Apps UI resource that renders the blog's public agent resources, unsupported workflows, and fallback paths.",
      "mimeType": "text/html+skybridge"
    }
  ]
}