{
  "$schema": "https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json",
  "version": "1.0",
  "protocolVersion": "2025-06-18",
  "serverInfo": {
    "name": "sovnik-web",
    "title": "Sovnik public web",
    "version": "2.5.0"
  },
  "description": "Read-only discovery and agent fixtures for Sovnik (vocabulary app). This static site does not run a Streamable HTTP MCP listener; use the resource URIs below over HTTPS.",
  "documentationUrl": "https://sovnik.com/docs/api/",
  "transport": {
    "type": "streamable-http",
    "endpoint": "/mcp"
  },
  "capabilities": {
    "resources": {}
  },
  "instructions": "Prefer the listed https:// resource URIs for machine-readable data. A full MCP transport at /mcp is not available on this deployment.",
  "resources": [
    {
      "name": "agent_skills_index",
      "title": "Agent Skills discovery index",
      "uri": "https://sovnik.com/.well-known/agent-skills/index.json",
      "description": "RFC v0.2.0 index of published Agent Skills (name, type, url, sha256 digest).",
      "mimeType": "application/json"
    },
    {
      "name": "mcp_server_card",
      "title": "MCP Server Card",
      "uri": "https://sovnik.com/.well-known/mcp/server-card.json",
      "description": "This document (SEP-1649 discovery).",
      "mimeType": "application/json"
    },
    {
      "name": "api_catalog",
      "title": "RFC 9727 API catalog",
      "uri": "https://sovnik.com/.well-known/api-catalog",
      "description": "Linkset (application/linkset+json) of key site URLs.",
      "mimeType": "application/linkset+json"
    },
    {
      "name": "openapi_discovery",
      "title": "OpenAPI discovery document",
      "uri": "https://sovnik.com/docs/openapi.json",
      "description": "Sparse OpenAPI 3 document listing public discovery paths.",
      "mimeType": "application/json"
    },
    {
      "name": "agent_quiz_en_pt",
      "title": "Agent quiz fixture (en→pt)",
      "uri": "https://sovnik.com/agent-quiz/v1/full-quiz-en-pt.json",
      "description": "Combined quiz export: phrasebook, standard MC, noun sentence-gap.",
      "mimeType": "application/json"
    },
    {
      "name": "agent_quiz_pt_en",
      "title": "Agent quiz fixture (pt→en)",
      "uri": "https://sovnik.com/agent-quiz/v1/full-quiz-pt-en.json",
      "description": "Combined quiz export: phrasebook, standard MC, noun sentence-gap.",
      "mimeType": "application/json"
    },
    {
      "name": "sitemap_xml",
      "title": "XML sitemap",
      "uri": "https://sovnik.com/sitemap.xml",
      "mimeType": "application/xml"
    },
    {
      "name": "robots_txt",
      "title": "robots.txt",
      "uri": "https://sovnik.com/robots.txt",
      "mimeType": "text/plain"
    },
    {
      "name": "openid_configuration",
      "title": "OpenID Connect Discovery",
      "uri": "https://sovnik.com/.well-known/openid-configuration",
      "description": "OIDC discovery metadata; Sovnik does not operate a public OP—see sovnik_discovery_note and stub authorization URLs.",
      "mimeType": "application/json"
    },
    {
      "name": "oauth_authorization_server",
      "title": "OAuth 2.0 Authorization Server Metadata (RFC 8414)",
      "uri": "https://sovnik.com/.well-known/oauth-authorization-server",
      "description": "OAuth AS metadata shell; no token issuance on this origin (see oauth-not-available.html).",
      "mimeType": "application/json"
    }
  ]
}
