Skip to content

Endpoint, manifest, and authentication

URLs

ResourceURL
MCP (JSON-RPC POST)https://fifa.qtech.hr/mcp
Server card / manifest (SEP-1649)https://fifa.qtech.hr/.well-known/mcp.json (also …/mcp/server-card.json)
This documentationhttps://docs.fifa.qtech.hr
Health (no secret)https://fifa.qtech.hr/api/health{ "ok", "service" }
Agent skills index (JSON)https://fifa.qtech.hr/.well-known/agent-skills/index.json
API catalog (LinkSet)https://fifa.qtech.hr/.well-known/api-catalog

The manifest includes serverInfo, protocolVersion (2025-11-05), transport: { "type": "http", "endpoint" }, capabilities, a human-readable description, and documentation — now pointing at this site (see worker release notes).

Authentication

Send:

http
Authorization: Bearer <supabase access token or fam_live_ key>
  • Anonymous: many tools work with no header; premium-only tools return an error with upgrade information.
  • Signed-in / premium: the Worker resolves your profile and enforces quotas.

OAuth / OIDC: discovery is published under /.well-known so third-party clients can find Supabase-backed tokens without a separate FIFA-specific IdP.

Example — list tools (anonymous)

Request

http
POST /mcp HTTP/1.1
Host: fifa.qtech.hr
Content-Type: application/json

{"jsonrpc":"2.0","id":1,"method":"tools/list"}

Response (abridged)

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      { "name": "site_info", "description": "…", "inputSchema": { "type": "object", "properties": {} } }
    ]
  }
}

Example — call a tool

Request

json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_scout_player",
    "arguments": { "slug": "lamine-yamal-2007" }
  }
}

Response shape (conceptual) — the Worker wraps human-readable text in content: [{ "type": "text", "text": "…" }]; many Scout tools add machine-readable structuredContent (player row, events, article list).

Next step: Tools catalog →