{
  "specVersion": "0.91",
  "entries": [
    {
      "identifier": "urn:air:artemnovichkov.com:server:blog",
      "displayName": "Artem Novichkov Blog MCP Server",
      "type": "application/mcp-server-card+json",
      "url": "https://artemnovichkov.com/.well-known/mcp/server-card.json",
      "description": "MCP server over the blog archive. Lists posts and returns any post as Markdown. Read-only, no authentication.",
      "capabilities": [
        "list_posts",
        "get_post"
      ],
      "representativeQueries": [
        "how do I preview multiple SwiftUI states with #Preview(arguments:)",
        "how do I track token usage in Apple Foundation Models",
        "how do I name tasks in Swift Concurrency for debugging",
        "build an iOS app with Xcode's headless MCP server"
      ],
      "updatedAt": "2026-08-26"
    },
    {
      "identifier": "urn:air:artemnovichkov.com:tool:blog-api",
      "displayName": "Artem Novichkov Blog API",
      "type": "application/openapi+json",
      "url": "https://artemnovichkov.com/.well-known/openapi.json",
      "description": "HTTP API for the blog. Lists posts as JSON and returns any post as Markdown via Accept negotiation.",
      "capabilities": [
        "ListPosts",
        "GetPostMarkdown"
      ],
      "representativeQueries": [
        "list every post on artemnovichkov.com",
        "fetch a post from artemnovichkov.com as markdown"
      ],
      "updatedAt": "2026-08-26"
    },
    {
      "identifier": "urn:air:artemnovichkov.com:skill:read-blog",
      "displayName": "read-blog",
      "type": "application/json",
      "url": "https://artemnovichkov.com/.well-known/agent-skills/index.json",
      "description": "Agent Skills index describing how to list and read posts from the blog.",
      "capabilities": [
        "read-blog"
      ],
      "representativeQueries": [
        "what does Artem Novichkov write about",
        "find iOS and Swift articles by Artem Novichkov"
      ],
      "updatedAt": "2026-08-26"
    }
  ]
}