This website speaks MCP, A2A and REST.
The short answer: six free read-only tools, reachable over three protocols: as a Model Context Protocol server at /mcp, as an Agent2Agent agent at /a2a and as a plain REST API at /api/v1. AI assistants such as Claude or ChatGPT can query the current KMU.DIGITAL funding status, run the cookie banner check and the BaFG check right inside a conversation, run a live GEO scan of any website, search this site, and fetch the contact details. No sign-up, no cookies, no tracking.
Why this page exists: a consultancy that advises companies on AI visibility should run its own website as the reference. This server is the working example of what agent readiness means in practice.
Three routes, one toolbox
The same six tools, reachable three ways.
All three interfaces sit on exactly the same logic, including the same validation and the same limits. Which route an agent takes depends only on what it already speaks.
| Protocol | Endpoint | Who it is for | Description |
|---|---|---|---|
| MCP | /mcp | AI assistants with an MCP client: Claude Code, claude.ai, any Streamable HTTP client. | /.well-known/mcp/server-card.json |
| A2A | /a2a | Agents that talk to other agents using the Agent2Agent protocol. | /.well-known/agent-card.json |
| REST | /api/v1 | Everything else: scripts, automations and agents without MCP or A2A support. | /openapi.json |
How to connect your assistant
One command is enough.
Claude Code (terminal)
claude mcp add --transport http \
bracharz-tools \
https://www.bracharz.com/mcp
The six tools are then available in every Claude Code session.
claude.ai and other MCP clients
Endpoint (Streamable HTTP):
https://www.bracharz.com/mcp
Authentication: none
On claude.ai, add it under Settings, Connectors as a custom connector. Any client that speaks Streamable HTTP works.
A2A (Agent2Agent)
curl https://www.bracharz.com/a2a \
-H 'Content-Type: application/json' -d '{
"jsonrpc": "2.0", "id": 1,
"method": "message/send",
"params": {"message": {"kind": "message",
"role": "user", "messageId": "1",
"parts": [{"kind": "text", "text":
"Is the KMU.DIGITAL funding open?"}]}}}'
Free text is routed to the matching skill; for precise control set metadata.skill. The agent card lists all six skills.
REST (no protocol client at all)
BASE=https://www.bracharz.com/api/v1
curl $BASE/kmu_digital_foerderstatus
curl "$BASE/website_suche?query=GDPR&sprache=en"
GET for simple lookups, POST with a JSON body for the questionnaire checks. The full description lives in the OpenAPI document.
The tools
6 tools, all read-only.
| Tool | What it returns | Based on |
|---|---|---|
| kmu_digital_foerderstatus | Current funding rates and budget signal of the Austrian KMU.DIGITAL funding programme, including an as-of date. | Daily-checked data behind the funding check |
| cookie_banner_check | Whether a website needs a cookie banner, with a banner-free alternative for each technique. | Same logic as the cookie banner check (section 165(3) TKG 2021) |
| bafg_check | Applicability check for the Austrian Accessibility Act with obligations, deadlines and statute citations. | Same logic as the BaFG check (BGBl. I No. 76/2023) |
| geo_scan | Live scan of any website for AI readability: score 0 to 100 from 9 checks plus an agent-readiness bonus. | Same logic as the GEO scan |
| website_suche | Full-text search across all public pages of this website, German and English. | The same search index that powers the site's command palette |
| kontakt_info | Contact details, practice areas and the booking link of Bracharz Consulting. | Imprint data |
For engineers and agents
The discovery chain.
AI agents do not need to read this page to find the server. The website publishes its machine interfaces through every common channel:
| Mechanism | Address |
|---|---|
| MCP endpoint | https://www.bracharz.com/mcp |
| Server card | /.well-known/mcp/server-card.json |
| A2A endpoint | https://www.bracharz.com/a2a |
| Agent card | /.well-known/agent-card.json |
| REST base | https://www.bracharz.com/api/v1 |
| OpenAPI 3.1 | /openapi.json |
| Agent skills | /.well-known/agent-skills/index.json |
| API catalog (RFC 9727) | /.well-known/api-catalog |
| llms.txt | /llms.txt |
| WebMCP (in-browser) | navigator.modelContext, registered on every page |
| DNS (agent discovery draft) | TXT _index._agents.bracharz.com |
Under the hood: JSON-RPC 2.0 for MCP and A2A, plain HTTP+JSON for REST, all stateless and with open CORS. Read requests only, nothing is stored.
What the A2A agent deliberately does not do: streaming, task history and push notifications. The tools answer synchronously within milliseconds, so a task lifecycle would be pure façade. The agent card therefore reports those capabilities honestly as false, and calls to those methods return the dedicated A2A error codes rather than “method not found”.
Should your website do this too?
It depends. For most SMEs the first step is neither an MCP server nor an A2A agent but solid foundations: content AI assistants can cite, structured data, an llms.txt. Whether and when a machine interface of your own pays off is a question of business model, not fashion.
That order of operations is exactly what the GEO consulting covers: measure first, prioritise, then build. What this website demonstrates can be transferred to yours.
Book a first call, free of charge