{"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}