Agent Discovery
This page is the map for the machine-readable side of gabrimatic.info. Every important link here is live: JSON, MCP, A2A, OAuth metadata, Markdown alternates, and the policy files agents need before they start guessing.
Quickstart for LLM agents: /llms.txt is the shortest text path through the same surface.
Verified by isitagentready.com. I re-scan after deploys so the score stays tied to the public site, not a local assumption.
Real-time protocols
-
Model Context Protocol · Streamable HTTP, JSON-RPC 2.0
POST https://www.gabrimatic.info/api/mcp -
Stateless MCP server for the portfolio. It implements
initialize,ping,tools/list,tools/call,resources/list,resources/read, andprompts/list. Tools:get_profile,get_journey,get_repos,get_page_markdown. Discovery card at/.well-known/mcp/server-card.json. -
Google Agent-to-Agent (A2A) · JSON-RPC 2.0
POST https://www.gabrimatic.info/api/a2a -
Stateless A2A endpoint. It implements
message/send,tasks/get, andtasks/cancel. Responses complete synchronously and point back to the sources they rely on. Agent Card at/.well-known/agent-card.json. -
WebMCP · in-page tool registration
navigator.modelContext on https://www.gabrimatic.info/ -
When the site loads in an MCP-aware browser,
/webmcp.jsregistersnavigate,get_page_markdown, andlist_reposvianavigator.modelContext.registerTool. Spec: webmachinelearning.github.io/webmcp.
JSON API
| Resource | URL | Cache |
|---|---|---|
| Profile | /api/profile |
1 hour |
| Professional journey | /api/journey |
1 hour |
| GitHub repositories (live) | /api/repos |
edge 5 min, SWR 5 min |
| Merged open-source contributions (live) | /api/contributions |
edge 15 min, SWR 15 min |
/api/repos accepts ?per_page= (1 - 100, default 100) and ?sort= (updated, created, pushed, full_name; default updated). /api/contributions groups merged external public PRs into one project entry with a same-origin logo URL and a link to Soroush's merged PRs in that repository. All endpoints set Access-Control-Allow-Origin: *.
OAuth 2.1 authorization server
OAuth is published for agents that expect bearer-token discipline before tool calls. The read surfaces still allow anonymous access, so this is optional for normal retrieval. Dynamic Client Registration supports loopback agent callbacks and same-site callbacks; authorization requires exact redirect_uri matching against the registration.
| Endpoint | URL | Spec |
|---|---|---|
| Authorization server metadata | /.well-known/oauth-authorization-server | RFC 8414 |
| OpenID Connect discovery | /.well-known/openid-configuration | OIDC Core |
| Protected resource metadata | /.well-known/oauth-protected-resource | RFC 9728 |
| JWKS (EdDSA public key) | /.well-known/jwks.json | RFC 7517 |
| Web Bot Auth directory | /.well-known/http-message-signatures-directory | Web Bot Auth + RFC 9421 |
| Dynamic client registration | POST /api/oauth/register | RFC 7591, loopback or same-site redirect URIs |
| Authorization endpoint | GET /api/oauth/authorize | RFC 6749 + PKCE S256, exact registered redirect match |
| Token endpoint | POST /api/oauth/token | RFC 6749 + OAuth 2.1 |
Access tokens are EdDSA-signed JWTs (typ: at+jwt), iss = https://www.gabrimatic.info, aud = https://www.gabrimatic.info/api/mcp, 1 hour TTL. Supported scopes: mcp:read, mcp:tools.
Markdown for Agents
Every page route returns Markdown when the request carries Accept: text/markdown. Direct *.md URLs are equivalent. This keeps the visual Flutter app and the retrievable text connected to the same source of truth.
curl -s -H 'Accept: text/markdown' https://www.gabrimatic.info/journey
| Route | Markdown alternate |
|---|---|
/ | /index.md |
/journey | /journey.md |
/interests | /interests.md |
/opensource | /opensource.md |
/definition | /definition.md |
Discovery
-
llms.txt · LLM agent quickstart
/llms.txt - Single Markdown file in the de-facto llms.txt format. Lists the JSON endpoints, Markdown alternates, MCP/A2A discovery cards, and OAuth surfaces. It is the shortest path from a domain name to useful context.
-
Agent Skills index · v0.2.0
/.well-known/agent-skills/index.json -
Lists each
SKILL.mdwith a SHA-256 digest so agents can cache it and verify what they read. -
API Catalog · RFC 9727
/.well-known/api-catalog - Linkset advertising the APIs, discovery cards, and Markdown alternates exposed by the site.
-
Sitemap
/sitemap.xml -
Standard XML sitemap, also advertised through RFC 8288
Linkheaders on/. -
RFC 8288 Link headers
HEAD / -
The root route returns
Linkheaders for the sitemap,/llms.txt, Agent Skills index, A2A card, MCP server card, OAuth AS metadata, OAuth protected resource, API catalog, HTTP message signatures directory, this agents page, the Markdown alternate, and service links for/api/mcpand/api/a2a. -
Content Signals
/robots.txt -
Content-Signal: search=yes, ai-input=yes, ai-train=no: retrieval and user-requested answering are allowed; training use is not. Training-only crawlers are blocked by user-agent.