Agent Discovery
Every URL on this page is a live, machine-readable endpoint. Open any of them in a terminal, an MCP client, or an A2A-aware agent. There is no auth and no rate limit beyond GitHub's own anonymous quota for the proxied repository endpoint.
Verified by isitagentready.com. Re-scanned after every deploy; all 12 scored checks pass on every release.
Real-time protocols
-
Model Context Protocol · Streamable HTTP, JSON-RPC 2.0
POST https://www.gabrimatic.info/api/mcp -
Stateless MCP server. 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. Implements
message/send,tasks/get, andtasks/cancel. Returns a synchronouscompletedTask whose artifact lists every authoritative knowledge source. Agent Card at/.well-known/agent-card.json. -
WebMCP · in-page tool registration
navigator.modelContext on https://www.gabrimatic.info/ -
When the homepage 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 |
/api/repos accepts ?per_page= (1 - 100, default 100) and ?sort= (updated, created, pushed, full_name; default updated). All endpoints set Access-Control-Allow-Origin: *.
OAuth 2.1 authorization server
A real OAuth 2.1 authorization server is exposed for agents that need bearer tokens (for example, MCP clients that require authentication before tool calls). All read endpoints on this site also allow anonymous access, so OAuth is optional. Dynamic Client Registration is enabled: any agent can self-register.
| 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 |
| Authorization endpoint | GET /api/oauth/authorize | RFC 6749 + PKCE S256 (OAuth 2.1) |
| 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. Vary: Accept is set on every negotiated route.
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
-
Agent Skills index · v0.2.0
/.well-known/agent-skills/index.json -
Lists each
SKILL.mdwith a SHA-256 digest so agents can cache and verify. -
API Catalog · RFC 9727
/.well-known/api-catalog - Linkset advertising every API, discovery card, and Markdown alternate exposed by the site.
-
Sitemap
/sitemap.xml -
Standard XML sitemap. Also advertised via RFC 8288
Linkheaders on/. -
RFC 8288 Link headers
HEAD / -
The home route returns
Linkheaders advertising the sitemap, the Agent Skills index, the A2A agent card, the MCP server card, OAuth AS metadata, the OAuth protected resource, the API catalog (RFC 9727), the HTTP message signatures directory, and the Markdown alternate (9 values total, allrel=describedbyexcept sitemap and alternate). -
Content Signals
/robots.txt -
Content-Signal: search=yes, ai-input=yes, ai-train=no: opted in to retrieval and answering a user's question right now, opted out of training corpora. Training-only crawlers are explicitly blocked by user-agent.