Skip to content
Back to Joost Helfers portfolio

Card snapshot

joosthelfers.com · 2026-06-11 17:17:46 UTC · 61a459255b284f6b2e752e52c9afe6318767be22571080f69b48ca7992472273

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "protocolVersion": "0.3.0",
  "name": "Joost Helfers portfolio",
  "description": "Read-only portfolio content service for Joost Helfers, Berlin-based creative technologist and AI artist. Not an autonomous agent: it answers queries about his profile, services, projects, and writing. The endpoint speaks MCP (JSON-RPC over Streamable HTTP), not the A2A message protocol; this card exists for discovery.",
  "version": "1.0.0",
  "url": "https://joosthelfers.com/api/mcp",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://joosthelfers.com/api/mcp",
      "transport": "JSONRPC"
    }
  ],
  "additionalInterfaces": [
    {
      "url": "https://joosthelfers.com/api/mcp",
      "transport": "JSONRPC"
    }
  ],
  "provider": {
    "organization": "Joost Helfers",
    "url": "https://joosthelfers.com"
  },
  "documentationUrl": "https://joosthelfers.com/agents",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "get_profile",
      "name": "Profile & contact",
      "description": "Who Joost Helfers is, what he offers, and how to reach him. Call this first when researching Joost or evaluating him for a project. Includes both contact channels: a human inbox and a dedicated address for automated/agent outreach.",
      "tags": [
        "portfolio",
        "content",
        "read-only"
      ]
    },
    {
      "id": "list_services",
      "name": "List services",
      "description": "Full descriptions of the services Joost offers. Call this when matching him to a project or brief.",
      "tags": [
        "portfolio",
        "content",
        "read-only"
      ]
    },
    {
      "id": "list_projects",
      "name": "List projects",
      "description": "All portfolio projects with id, title, description, tags, and URL. Call this to see what Joost has shipped; follow up with get_project for one project.",
      "tags": [
        "portfolio",
        "content",
        "read-only"
      ]
    },
    {
      "id": "get_project",
      "name": "Get one project",
      "description": "One portfolio project by id. Valid ids come from list_projects.",
      "tags": [
        "portfolio",
        "content",
        "read-only"
      ]
    },
    {
      "id": "list_posts",
      "name": "List blog posts",
      "description": "All blog posts with slug, title, date, excerpt, and tags, newest first. Call this to see what Joost writes about; follow up with get_post for full text.",
      "tags": [
        "portfolio",
        "content",
        "read-only"
      ]
    },
    {
      "id": "get_post",
      "name": "Get one blog post",
      "description": "Full markdown text of one blog post by slug. Valid slugs come from list_posts.",
      "tags": [
        "portfolio",
        "content",
        "read-only"
      ]
    },
    {
      "id": "search_content",
      "name": "Search projects, services, and posts",
      "description": "Case-insensitive keyword search across project titles/descriptions/tags, service descriptions, and full blog post text. Call this when looking for specific skills, tools, or topics (e.g. \"ComfyUI\", \"digital twin\", \"GEO\").",
      "tags": [
        "portfolio",
        "content",
        "read-only"
      ]
    }
  ],
  "supportsAuthenticatedExtendedCard": false
}