# gabrimatic.info / agent directory

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.

100 / 100
Level 5 · Agent-Native

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, and prompts/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, and tasks/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.js registers navigate, get_page_markdown, and list_repos via navigator.modelContext.registerTool. Spec: webmachinelearning.github.io/webmcp.

JSON API

ResourceURLCache
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.

EndpointURLSpec
Authorization server metadata/.well-known/oauth-authorization-serverRFC 8414
OpenID Connect discovery/.well-known/openid-configurationOIDC Core
Protected resource metadata/.well-known/oauth-protected-resourceRFC 9728
JWKS (EdDSA public key)/.well-known/jwks.jsonRFC 7517
Web Bot Auth directory/.well-known/http-message-signatures-directoryWeb Bot Auth + RFC 9421
Dynamic client registrationPOST /api/oauth/registerRFC 7591, loopback or same-site redirect URIs
Authorization endpointGET /api/oauth/authorizeRFC 6749 + PKCE S256, exact registered redirect match
Token endpointPOST /api/oauth/tokenRFC 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
RouteMarkdown 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.md with 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 Link headers on /.
RFC 8288 Link headers HEAD /
The root route returns Link headers 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/mcp and /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.