Appearance
Endpoint, manifest, and authentication
URLs
| Resource | URL |
|---|---|
| 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 documentation | https://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 →