Appearance
Endpoint, manifest, and authentication
URLs
| Resource | URL |
|---|---|
| MCP (JSON-RPC POST) | https://fifa.qtech.hr/mcp |
| MCP discovery (GET) | https://fifa.qtech.hr/mcp — { name, transport, endpoint, protocolVersion, hint } |
| 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 |
| Canonical MCP skill | https://fifa.qtech.hr/.well-known/agent-skills/fifa-mcp-server.md |
| API catalog (LinkSet) | https://fifa.qtech.hr/.well-known/api-catalog |
The manifest includes serverInfo, protocolVersion (2025-11-05), transport: { "type": "http", "endpoint" }, capabilities, description, and documentation pointing at this site.
Authentication
http
Authorization: Bearer <supabase access token or fam_live_ key>Optional query fallback: ?access_token= (same value as Bearer).
| Surface | Without Bearer | With Bearer |
|---|---|---|
| Free reads (lessons, Scout list/get, …) | Allowed | Allowed |
search_scout | 3 / IP / month | Tier quotas |
ask_study_assistant | AUTH_REQUIRED_FOR_AI | Member / paid quotas |
| Paid market + Cases + mocks | Denied | Paid tier required |
OAuth / OIDC: discovery under /.well-known (Supabase GoTrue-backed).
Example — initialize
bash
curl -s https://fifa.qtech.hr/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-05","capabilities":{},"clientInfo":{"name":"docs","version":"1"}}}'Example — list tools (anonymous)
http
POST /mcp HTTP/1.1
Host: fifa.qtech.hr
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"method":"tools/list"}Returns 37 tools with inputSchema each.
Example — call a tool
json
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_scout_player",
"arguments": { "slug": "lamine-yamal-2007" }
}
}Response shape: content: [{ "type": "text", "text": "…" }] plus optional structuredContent.
Next step: Tools catalog →