{
  "$schema": "https://bsab.github.io/sweden-mcp-servers/schema/catalog.schema.json",
  "version": 1,
  "generated_at": "2026-09-14T14:32:14+00:00",
  "source": "https://github.com/bsab/sweden-mcp-servers",
  "license": "MIT",
  "quality_rubric": {
    "version": 1,
    "name": "Ready score",
    "criteria": [
      {
        "id": "installation",
        "label": "Installation or access",
        "weight": 30
      },
      {
        "id": "configuration",
        "label": "Configuration and prerequisites",
        "weight": 20
      },
      {
        "id": "tools",
        "label": "Capabilities and examples",
        "weight": 20
      },
      {
        "id": "compatibility",
        "label": "Transport and compatible clients",
        "weight": 15
      },
      {
        "id": "license",
        "label": "Explicit license",
        "weight": 10
      },
      {
        "id": "limitations",
        "label": "Known limitations",
        "weight": 5
      }
    ],
    "statuses": {
      "absent": {
        "label": "Not documented",
        "factor": 0
      },
      "partial": {
        "label": "Partial",
        "factor": 0.5
      },
      "complete": {
        "label": "Complete",
        "factor": 1
      }
    }
  },
  "count": 26,
  "categories": [
    {
      "id": "data-statistics",
      "label": "Data and Statistics",
      "emoji": "📊",
      "description": "SCB, Swedish statistics, open data",
      "count": 5
    },
    {
      "id": "geospatial",
      "label": "Geospatial and Territory",
      "emoji": "🗺️",
      "description": "Geography, addresses, cadastre, urban planning",
      "count": 2
    },
    {
      "id": "legal-tech",
      "label": "Legal Tech and Law",
      "emoji": "⚖️",
      "description": "Legislation, case law, privacy",
      "count": 2
    },
    {
      "id": "government-public-finance",
      "label": "Government and Public Finance",
      "emoji": "🏛️",
      "description": "Government, parliament, tax, procurement",
      "count": 4
    },
    {
      "id": "public-services",
      "label": "Public Services",
      "emoji": "🧭",
      "description": "Administrative procedures and public services",
      "count": 4
    },
    {
      "id": "employment",
      "label": "Employment and Labor",
      "emoji": "💼",
      "description": "Jobs, occupations, recruitment, labor data",
      "count": 1
    },
    {
      "id": "transport",
      "label": "Transport and Mobility",
      "emoji": "🚆",
      "description": "Rail, public transport, routes, disruptions",
      "count": 2
    },
    {
      "id": "invoicing",
      "label": "Electronic Invoicing",
      "emoji": "🧾",
      "description": "Electronic invoices and business billing",
      "count": 2
    },
    {
      "id": "cybersecurity-compliance",
      "label": "Cybersecurity and Compliance",
      "emoji": "🛡️",
      "description": "Cybersecurity rules and regulatory compliance",
      "count": 0
    },
    {
      "id": "design-other",
      "label": "Design and Other Services",
      "emoji": "🎨",
      "description": "Design systems, weather, other services",
      "count": 4
    }
  ],
  "servers": [
    {
      "name": "Apiverket MCP",
      "repository_url": "https://github.com/vinvuk/apiverket-mcp",
      "site_url": "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md",
      "author": "vinvuk",
      "language": "TypeScript",
      "license": "MIT",
      "stars": 2,
      "category": "public-services",
      "description": "Discovers and queries a curated Swedish-data endpoint catalog through Apiverket and inspects account quotas. Local stdio; production data needs a live API key, not the default sandbox key.",
      "tags": [
        "sweden",
        "apiverket",
        "public-data",
        "api-gateway",
        "discovery"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "govdata_discover",
        "govdata_query",
        "govdata_account"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L26-L77",
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/package.json"
            ],
            "notes": "Named-client configurations give the concrete npx package command and both environment variables, providing an installation-and-launch route. Source build instructions and the package start script supply an alternative. Neither route was executed."
          },
          "configuration": {
            "status": "complete",
            "evidence": [
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L26-L86",
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L150-L153",
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/src/api-client.ts#L11-L25"
            ],
            "notes": "Node.js 18+, the API URL and sandbox versus live-key requirements are explicit. Keep GOVDATA_API_URL set as shown: the source falls back to localhost:3010, contrary to the README's claimed hosted default. The supplied client configurations avoid that mismatch; no live key was obtained."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L7-L24",
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L100-L130",
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/src/index.ts#L435-L556"
            ],
            "notes": "Discovery, data retrieval and quota inspection have separate descriptions and concrete calls, including Stockholm weather and developer-job searches. Source confirms three tools and exact catalog-path matching, not unrestricted access to every Swedish provider or arbitrary API route."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L26-L77",
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L142-L148"
            ],
            "notes": "The architecture explicitly says the MCP server runs locally over stdio; Claude Desktop, Claude Code, Cursor and VS Code configuration examples are provided. Apiverket's HTTPS API base URL is not a public MCP endpoint."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/LICENSE"
            ],
            "notes": "The root LICENSE provides the complete MIT grant, notice condition and disclaimer for Cuon Aktiebolag's server code. API access and upstream data terms are separate."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L79-L98",
              "https://github.com/vinvuk/apiverket-mcp/blob/945a0103add6d5017d367f29a1560827dc8369d7/README.md#L142-L148"
            ],
            "notes": "Sandbox responses are not production data. Separate company-search and lookup quotas require reset-aware recovery, and board, officer, owner and UBO subresources are unsupported. Large responses are truncated with pagination guidance. Live quotas and prices were not verified."
          }
        }
      },
      "url": "https://github.com/vinvuk/apiverket-mcp",
      "readiness_score": 100
    },
    {
      "name": "BolagsAPI MCP Server",
      "repository_url": "https://github.com/HugoAndFriends/BolagsAPI-mcp-server",
      "site_url": "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md",
      "author": "HugoAndFriends",
      "language": "TypeScript",
      "license": "MIT",
      "stars": 0,
      "category": "design-other",
      "description": "Looks up Swedish companies, financial statements and company history through BolagsAPI. Requires a provider API key; not an official Bolagsverket server.",
      "tags": [
        "sweden",
        "bolagsapi",
        "companies",
        "financial-statements",
        "api-key"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "lookup_company",
        "search_companies"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L12-L87"
            ],
            "notes": "Global npm installation or npx execution is shown, with a complete Claude Desktop launch configuration carrying the required API key and alternatives for Cursor and Continue."
          },
          "configuration": {
            "status": "complete",
            "evidence": [
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L1-L10",
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L24-L27",
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L116-L148"
            ],
            "notes": "Node.js 18+ and a key obtained from the BolagsAPI dashboard are explicit prerequisites; required BOLAGSAPI_KEY and optional base URL/HTTP bindings are documented. The provider is BolagsAPI, not Bolagsverket; account prices and provider quotas are not established here."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L90-L114",
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L151-L163"
            ],
            "notes": "Company lookup, search, financial and compliance tools have descriptions, and concrete Claude prompts include Spotify's organization number, AI companies in Stockholm and sanctions checks."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L29-L87",
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L123-L148"
            ],
            "notes": "The Continue configuration explicitly sets transport type stdio, alongside named Claude Desktop and Cursor examples; remote HTTP startup and authentication are also described."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/LICENSE"
            ],
            "notes": "Complete MIT terms attributed to Hugo and Friends are available in the pinned LICENSE. They apply to the integration code, not to government affiliation or unrestricted commercial data access."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L123-L148",
              "https://github.com/HugoAndFriends/BolagsAPI-mcp-server/blob/f7e21bd14e3c3917045db6de8374641d839e9ec0/README.md#L182-L187"
            ],
            "notes": "The HTTP security section explicitly caps traffic at 100 requests per minute per IP, so a client cannot assume unlimited request throughput. Remote requests require bearer authentication and the default bind address is localhost."
          }
        }
      },
      "url": "https://github.com/HugoAndFriends/BolagsAPI-mcp-server",
      "readiness_score": 100
    },
    {
      "name": "ICA MCP (unofficial)",
      "repository_url": "https://github.com/kanylbullen/ica-mcp",
      "site_url": "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md",
      "author": "kanylbullen",
      "language": "Python",
      "license": "MIT",
      "stars": 2,
      "category": "design-other",
      "description": "Uses ICA’s unofficial private API for shopping lists, recipes, offers and products. Requires login, can modify lists, and carries service-terms and availability risks.",
      "tags": [
        "sweden",
        "ica",
        "shopping",
        "recipes",
        "private-api",
        "login-required",
        "writes"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "list_shopping_lists",
        "view_shopping_list",
        "add_items",
        "remove_item",
        "get_recipe",
        "get_offers",
        "get_product"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L56-L150"
            ],
            "notes": "The README supplies uv installation and shell/PATH steps, a pip/venv fallback, one-time login, Claude Code registration and a manual serve configuration. It includes recovery instructions for missing PATH entries and expired sessions."
          },
          "configuration": {
            "status": "complete",
            "evidence": [
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L47-L54",
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L99-L150"
            ],
            "notes": "Python 3.10+, Swedish network egress and an ICA account supporting personnummer/password login are explicit. Cache locations, token refresh, optional ICA_USER/ICA_PASS and ICA_STATE_FILE are explained; this is not anonymous or BankID-only access."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L5-L45",
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L171-L184"
            ],
            "notes": "The README lists shopping, recipe, offer and product tools and supplies concrete natural-language list-editing prompts. It explicitly warns that tools can modify real account data, including deleting lists."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L56-L65",
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L115-L145"
            ],
            "notes": "The serve subcommand is explicitly described as stdio, and Claude Code registration plus its equivalent manual command are provided. Generic JSON is additionally supplied for other MCP clients."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L218-L220",
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/LICENSE"
            ],
            "notes": "The README links a complete MIT LICENSE attributed to kanylbullen. That code license does not grant permission to use ICA's private API or override ICA account/service terms."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L11-L19",
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L47-L54",
              "https://github.com/kanylbullen/ica-mcp/blob/1d9b9940890eabce348e30539c5d6a2ec7ecd80f/README.md#L171-L198"
            ],
            "notes": "The README explains non-Swedish IP rejection, lack of BankID-only login support, unsupported recipe search and Windows token-cache permission limits. It also prominently warns of unofficial private-API instability, possible terms conflicts and real-account writes."
          }
        }
      },
      "url": "https://github.com/kanylbullen/ica-mcp",
      "readiness_score": 100
    },
    {
      "name": "Storstockholms Lokaltrafik (SL) MCP Server",
      "repository_url": "https://github.com/henrrrik/sl-mcp-server",
      "site_url": "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/README.md",
      "author": "henrrrik",
      "language": "Go",
      "license": "MIT",
      "stars": 1,
      "category": "transport",
      "description": "Read-only Stockholm transit tools for journey planning, departures, disruptions and stop discovery using SL's open APIs. No API key; legacy SSE transport, not Streamable HTTP.",
      "tags": [
        "sweden",
        "stockholm",
        "sl",
        "public-transport",
        "journey-planning",
        "departures"
      ],
      "transport": "sse",
      "last_verified": "2026-09-14",
      "tools": [
        "trips",
        "departures",
        "deviations",
        "resolve",
        "nearest_stops",
        "stop_finder",
        "sites",
        "lines",
        "stop_points",
        "transport_authorities",
        "system_info"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/README.md#L252-L277"
            ],
            "notes": "The hosted SSE route has a concrete Claude Desktop configuration; self-hosting also has build and startup commands. Hosted access avoids a local server installation. These are documentation instructions, not a verified client connection."
          },
          "configuration": {
            "status": "complete",
            "evidence": [
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/README.md#L252-L277",
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/go.mod",
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/CLAUDE.md#L35-L38"
            ],
            "notes": "The hosted route explicitly needs no API key and supplies the client URL. For self-hosting, the Go module declares Go 1.26.1 and dependencies; the README sets PORT and deployment notes document its 5000 default. No credentials were requested or used."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/README.md#L8-L250",
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/CHANGELOG.md#L5-L34",
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/server.go"
            ],
            "notes": "Eleven tools are described and registered, including genuine journey planning. Parameter tables and response examples are supplemented by concrete changelog calls such as lines(transport_mode=\"METRO\") and deviations(transport_mode=\"METRO\"). CLAUDE.md's older nine-tool count is not used."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/README.md#L252-L270",
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/main.go"
            ],
            "notes": "SSE is explicitly named and a Claude Desktop URL configuration is shown; main.go creates an SSE server. The documented hosted /sse URL is intentionally not an mcp_endpoint because this catalog's checker supports unauthenticated Streamable HTTP, not legacy SSE."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/LICENSE"
            ],
            "notes": "The pinned root LICENSE contains the full MIT terms for Henrik Sjokvist's server code, including notice retention and the warranty disclaimer. It does not establish separate transit-data terms."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/README.md#L26-L50",
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/README.md#L129-L159",
              "https://github.com/henrrrik/sl-mcp-server/blob/6f70dea44b078c2d02363f4c14f2291c2c743be9/README.md#L191-L215"
            ],
            "notes": "Documentation bounds trips to three, requires string handling for long IDs, identifies Swedish-only disruption messages and excludes facility alerts unless requested. nearest_stops lacks transport-mode filtering. These constrain use despite the broad transit feature set."
          }
        }
      },
      "url": "https://github.com/henrrrik/sl-mcp-server",
      "readiness_score": 100
    },
    {
      "name": "Riksdag & Regering MCP",
      "repository_url": "https://github.com/isakskogstad/Riksdag-Regering-MCP",
      "site_url": "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/README.md",
      "author": "isakskogstad",
      "language": "TypeScript",
      "license": "MIT",
      "stars": 31,
      "category": "government-public-finance",
      "description": "Searches Swedish parliamentary documents, members, debates and votes, plus Government Offices material exposed through g0v.se.",
      "tags": [
        "sweden",
        "riksdagen",
        "regeringen",
        "parliament",
        "open-data"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "search_ledamoter",
        "search_dokument",
        "search_dokument_fulltext",
        "search_anforanden",
        "search_voteringar",
        "search_regering",
        "get_g0v_document_types",
        "get_g0v_category_codes",
        "get_g0v_latest_update",
        "get_g0v_document_content",
        "analyze_g0v_by_department",
        "get_dokument",
        "get_ledamot",
        "get_motioner",
        "get_propositioner",
        "get_betankanden",
        "get_fragor",
        "get_interpellationer",
        "get_utskott",
        "get_regering_document",
        "summarize_regering_document",
        "get_dokument_innehall",
        "fetch_paginated_documents",
        "fetch_paginated_anforanden",
        "batch_fetch_documents",
        "get_calendar_events",
        "get_voting_group",
        "list_reports",
        "fetch_report",
        "enhanced_government_search",
        "get_sync_status",
        "get_data_dictionary"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/README.md#L34-L81",
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/INSTALL_GUIDE.md#L3-L31"
            ],
            "notes": "The root quick start supplies an npm-based Claude Desktop launch, and the installation guide supplies clone, dependency installation, build and direct stdio startup commands."
          },
          "configuration": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/INSTALL_GUIDE.md#L3-L5",
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/README.md#L1-L49"
            ],
            "notes": "Node.js 20+ and npm/pnpm are specified. The server README says no external database is used and enumerates optional PORT, API_KEY and RIKSDAG_USER_AGENT settings; access is to the public Riksdag API and third-party g0v.se, not an official Government Offices API."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/README.md#L15-L31",
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/USAGE_GUIDE.md#L13-L58",
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/USAGE_GUIDE.md#L293-L311"
            ],
            "notes": "The root README describes parliamentary and government capabilities; the usage guide gives explicit MCP requests such as search_ledamoter with parti S and search_dokument with titel klimat, plus multi-tool research workflows."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/README.md#L14-L25",
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/INSTALL_GUIDE.md#L21-L31"
            ],
            "notes": "The server README explicitly calls its Claude Desktop configuration STDIO mode, and the installation guide names the stdio entry point. Optional custom HTTP documentation is not taken as proof of interoperable remote transport."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/LICENSE",
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/README.md#L120-L122"
            ],
            "notes": "Full MIT terms applying to the MCP package are accessible in mcp/LICENSE. This is the applicable file despite the root README linking a root-level LICENSE."
          },
          "limitations": {
            "status": "absent",
            "evidence": [
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/README.md",
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/INSTALL_GUIDE.md",
              "https://github.com/isakskogstad/Riksdag-Regering-MCP/blob/32ceae410346fdb5ca215cdd94b2261038fce906/mcp/USAGE_GUIDE.md"
            ],
            "notes": "The consulted README, installation and usage guides describe live sources and search tips but do not explain a concrete coverage gap, rate ceiling or unsupported operation and its consequences. The g0v.se intermediary remains an access caveat, not an invented documented limitation."
          }
        }
      },
      "url": "https://github.com/isakskogstad/Riksdag-Regering-MCP",
      "readiness_score": 95
    },
    {
      "name": "Trafikverket MCP",
      "repository_url": "https://github.com/hniska/trafikverket-mcp",
      "site_url": "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md",
      "author": "hniska",
      "language": "TypeScript",
      "license": null,
      "stars": 0,
      "category": "transport",
      "description": "Queries Trafikverket road weather, traffic cameras, incidents, traffic flow and road conditions using a locally configured API key.",
      "tags": [
        "sweden",
        "trafikverket",
        "traffic",
        "road-weather",
        "cameras"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "get_weather_station",
        "list_weather_stations",
        "get_weather_stations_near_location",
        "get_cameras",
        "get_cameras_near_location",
        "get_weather_observations",
        "get_traffic_situations",
        "get_traffic_flow",
        "get_road_conditions",
        "get_camera_image"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L134-L191"
            ],
            "notes": "The README provides clone, npm install and build commands, followed by an absolute-path node launch in Claude configuration and an explicit client restart step."
          },
          "configuration": {
            "status": "complete",
            "evidence": [
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L136-L190"
            ],
            "notes": "Node.js 18+ and a Trafikverket API key are explicit prerequisites. The registration link and TRAFIKVERKET_API_KEY placement are shown for both compiled and development launches; possessing a key was not a condition for awarding this documentation score."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L15-L116",
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L193-L210"
            ],
            "notes": "Ten tools have parameter and result descriptions, and the usage section supplies concrete prompts for Kiruna weather, E4 cameras and traffic incidents."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L155-L190",
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L226-L257"
            ],
            "notes": "Claude Desktop/Claude Code configurations are provided, and the architecture explicitly states JSON-RPC over STDIO. This is stronger evidence than inferring transport from node arguments."
          },
          "license": {
            "status": "partial",
            "evidence": [
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L273-L275",
              "https://github.com/hniska/trafikverket-mcp/tree/cade177741af8b5a4b2e924f00549d57a72c0484"
            ],
            "notes": "The README declares MIT, but the pinned project tree contains no applicable LICENSE text. The catalog license remains null; the declaration earns partial documentation credit only."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L28-L65",
              "https://github.com/hniska/trafikverket-mcp/blob/cade177741af8b5a4b2e924f00549d57a72c0484/README.md#L259-L265"
            ],
            "notes": "The tool tables document result caps, including at most 100 historical observations and bounded camera/station queries, so a single request is not an unlimited data export. The error section also explains missing records, invalid keys and the 10-second timeout."
          }
        }
      },
      "url": "https://github.com/hniska/trafikverket-mcp",
      "readiness_score": 95.0
    },
    {
      "name": "Sweden Legal MCP (Lifos and Rättspraxis)",
      "repository_url": "https://github.com/AvoccadoTech/legal-mcp-sweden",
      "site_url": "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md",
      "author": "AvoccadoTech",
      "language": "Python",
      "license": "Apache-2.0",
      "stars": 0,
      "category": "legal-tech",
      "description": "Two local MCP servers monitor Migrationsverket legal-position updates and maintain a searchable watchlist over published Swedish case law.",
      "tags": [
        "sweden",
        "legal",
        "migrationsverket",
        "lifos",
        "domstolsverket",
        "case-law"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "lifos_check_updates",
        "lifos_recent",
        "lifos_scan_kb",
        "lifos_stale_positions",
        "lifos_track",
        "lifos_untrack",
        "lifos_list_tracked",
        "lifos_get_document",
        "lifos_list_feeds",
        "rattspraxis_sync",
        "rattspraxis_search",
        "rattspraxis_get",
        "rattspraxis_add_watch",
        "rattspraxis_check_watchlist",
        "rattspraxis_list_watches",
        "rattspraxis_remove_watch",
        "rattspraxis_coverage",
        "rattspraxis_courts"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L21-L31",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L94-L118",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L172-L190"
            ],
            "notes": "Clone and editable installation are shown, followed by separate python -m launch configurations for Lifos and Rattspraxis. The initial full Rattspraxis synchronization and later daily deltas are explicit; this is two servers, not one combined process."
          },
          "configuration": {
            "status": "complete",
            "evidence": [
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L5-L14",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L21-L31",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L94-L118",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L172-L184"
            ],
            "notes": "Python 3.11+ and local installation are specified, with an explicit no-account/no-key statement. LIFOS_STATE_DIR, optional LIFOS_KB_PATH and a RATTSPRAXIS_DB directory are configured, and the operator is told to keep state on the firm's own storage."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L42-L61",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L121-L142",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L186-L202"
            ],
            "notes": "Both nine-tool families are described, with a concrete Lifos scan/check/stale-position sequence and full-versus-delta court synchronization calls. Tracking, scanning, watch management and synchronization write local state; the integration is not universally read-only."
          },
          "compatibility": {
            "status": "partial",
            "evidence": [
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L94-L112",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L172-L184"
            ],
            "notes": "MCP over stdio is explicitly documented and generic MCP-client JSON is supplied for each process. No named client is given with a connection example, so the complete compatibility condition is not met."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L235-L239",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/LICENSE"
            ],
            "notes": "The README explicitly applies Apache-2.0 and the pinned root LICENSE provides its full redistribution, patent-grant and disclaimer terms for the repository containing both servers."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L76-L91",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L145-L170",
              "https://github.com/AvoccadoTech/legal-mcp-sweden/blob/424f01a096157ab9e4f67c378c83c6bb80a96487/README.md#L186-L216"
            ],
            "notes": "The README explains the five-item Lifos window, lack of backfill and daily polling workaround. It also explains incomplete court metadata and coverage, initial mirror synchronization, newest-first delta assumptions and why neither server substitutes for legal judgment."
          }
        }
      },
      "url": "https://github.com/AvoccadoTech/legal-mcp-sweden",
      "readiness_score": 92.5
    },
    {
      "name": "Arbetsförmedlingen MCP Server",
      "repository_url": "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server",
      "site_url": "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md",
      "author": "DanielErikssonCoder",
      "language": "TypeScript",
      "license": "MIT",
      "stars": 1,
      "category": "employment",
      "description": "Connects to Arbetsförmedlingen and JobTech APIs for current and historical jobs, job events, occupation taxonomy and education matching.",
      "tags": [
        "sweden",
        "arbetsformedlingen",
        "jobtech",
        "jobs",
        "labour-market"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "af_search_jobs",
        "af_get_job",
        "af_autocomplete",
        "af_stream_jobs",
        "af_search_historical_jobs",
        "af_enrich_job_text",
        "af_synonym_dictionary",
        "af_search_job_links",
        "af_education_to_occupations",
        "af_occupation_to_educations",
        "af_search_taxonomy",
        "af_get_taxonomy_concept",
        "af_list_taxonomy_types"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md#L11-L27",
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md#L95-L109"
            ],
            "notes": "The quick start gives an npx-based Claude Desktop configuration and restart step, with direct/global installation alternatives and an HTTP startup command."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md#L1-L7",
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md#L113-L119",
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/package.json#L43-L45"
            ],
            "notes": "No API key is explicitly required, and TRANSPORT/PORT defaults are documented. The README omits runtime prerequisites; Node >=18 appears only in package metadata, which does not earn complete documentation credit."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md#L30-L91"
            ],
            "notes": "All 13 capabilities are described by JobTech API family, with concrete Claude prompts for Stockholm Python jobs, hourly events and occupation-taxonomy lookup."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md#L11-L27",
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md#L113-L119"
            ],
            "notes": "The named Claude Desktop setup is paired with an environment table explicitly identifying stdio as the default and HTTP/Streamable HTTP as the alternative."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/LICENSE"
            ],
            "notes": "The downloaded root LICENSE contains complete MIT terms and the project copyright notice for Daniel Eriksson, rather than merely the README license name."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/README.md#L44-L47",
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/package.json#L1-L4",
              "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server/blob/b94dd02bcd884c16b26c1adb7feee39775ca98dd/src/index.ts#L24-L30"
            ],
            "notes": "Historical search is explicitly limited to archived listings going back to 2006, establishing the earliest documented coverage rather than all historical vacancies. Separately, package version 1.0.2 and source serverInfo 2.0.0 differ; published-package parity is not established by these docs."
          }
        }
      },
      "url": "https://github.com/DanielErikssonCoder/arbetsformedlingen-mcp-server",
      "readiness_score": 90.0
    },
    {
      "name": "Fortnox MCP",
      "repository_url": "https://github.com/erp-mafia/fortnox-mcp",
      "site_url": "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md",
      "author": "erp-mafia",
      "language": "TypeScript",
      "license": "MIT",
      "stars": 39,
      "category": "invoicing",
      "description": "Reads Fortnox accounting data and can create or bookkeep invoices. Requires an authorized Fortnox account; includes write-enabled tools.",
      "tags": [
        "sweden",
        "fortnox",
        "accounting",
        "invoices",
        "writes",
        "oauth"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "fortnox_list_invoices",
        "fortnox_create_invoice",
        "fortnox_bookkeep_invoice"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L14-L83"
            ],
            "notes": "The remote quick start provides exact Claude.ai settings and URL/browser-authorization steps. Local users also receive an npx Claude Desktop configuration; source installation is not the only documented route."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L47-L79",
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L181-L216",
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L313-L322"
            ],
            "notes": "Local client ID/secret/refresh-token variables, optional HTTP settings and token persistence are explained, but a supported local runtime/version and a concrete initial local OAuth token-acquisition sequence are missing. Remote authorization still requires a Fortnox account; commercial/API-plan costs are not established."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L87-L158",
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L232-L276"
            ],
            "notes": "Capabilities are listed across customers, invoices, vouchers and analytics. Concrete JSON tool examples include unpaid-invoice listing and invoice/voucher creation; these are write-capable accounting tools, not a read-only reporting connection."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L18-L43",
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L185-L194"
            ],
            "notes": "Claude.ai and Claude Desktop have connection examples, and the environment table explicitly names stdio as the local default and HTTP as an alternative. This assessment does not certify the advertised hosted endpoint."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/LICENSE"
            ],
            "notes": "The repository LICENSE contains complete MIT terms attributed to Jakob Wennberg. This covers the server code, not a Fortnox account, paid API entitlement or accounting-data access."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L278-L280",
              "https://github.com/erp-mafia/fortnox-mcp/blob/501ee1368f12ca4dd2e24a24bda8a47378b5c40a/README.md#L313-L322"
            ],
            "notes": "The README states Fortnox's 25-requests-per-five-seconds ceiling and automatic throttling, and explains why single-use refresh tokens must be persisted across restarts. Both limitations have explicit mitigation."
          }
        }
      },
      "url": "https://github.com/erp-mafia/fortnox-mcp",
      "readiness_score": 90.0
    },
    {
      "name": "Swedish Law MCP (archived)",
      "repository_url": "https://github.com/Ansvar-Systems/Swedish-law-mcp",
      "site_url": "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/README.md",
      "author": "Ansvar-Systems",
      "language": "TypeScript",
      "license": "Apache-2.0",
      "stars": 0,
      "category": "legal-tech",
      "description": "Archived Swedish statute, citation and EU-reference server. Requires a rebuilt local database; case-law coverage depends on the dataset. Hosted access has moved to an account-based gateway.",
      "tags": [
        "sweden",
        "law",
        "statutes",
        "citations",
        "eu-law",
        "archived"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "search_legislation",
        "get_provision",
        "search_case_law",
        "get_preparatory_works",
        "validate_citation",
        "check_currency",
        "get_eu_basis",
        "about"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/README.md#L6-L43",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/README.md#L322-L351"
            ],
            "notes": "The README supplies clone, dependency-install, build and startup commands, plus statute ingestion and SQLite rebuild commands. Its current introduction says the pre-built corpus is not distributed, so rebuilding is required for local use. It also supplies concrete named-client connection steps for the replacement OAuth gateway; neither route was executed."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/CONTRIBUTING.md#L5-L42",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/README.md#L29-L43",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/TOOLS.md#tier-boundary"
            ],
            "notes": "Node.js 18+, npm 9+ and Git are documented, as are corpus rebuilding and the gateway account/tier requirement. Local database-path configuration and a clear no-key statement for local operation are missing from the setup guide; legacy pre-built/free-build wording conflicts with the current corpus-distribution notice."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/README.md#L94-L106",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/TOOLS.md",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/docs/EU_INTEGRATION_GUIDE.md#L77-L96"
            ],
            "notes": "Tool descriptions and parameter summaries accompany concrete research prompts and an EU-basis request for SFS 2018:218. Case-law and preparatory-work coverage are explicitly dataset-dependent, and EU compliance means reference checking rather than a substantive legal opinion. The representative names were checked against the shared registry."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/README.md#L6-L29",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/smithery.yaml",
              "https://ansvar.eu/docs/quickstart"
            ],
            "notes": "The current README explicitly configures HTTP for Claude Code and provides named desktop-client connections to the replacement gateway; the linked quickstart explains OAuth. The repository also declares stdio in its launch configuration. The catalog records the source server's stdio transport and deliberately omits the account-gated gateway endpoint."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/README.md#L404-L412",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/LICENSE"
            ],
            "notes": "The README identifies Apache-2.0 and the pinned LICENSE contains the full terms with an Ansvar Systems copyright notice. This covers server code, not entitlement to hosted tiers or unrestricted redistribution of every upstream dataset."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/TOOLS.md#tier-boundary",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/README.md#L278-L294",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/DISCLAIMER.md#L66-L109",
              "https://github.com/Ansvar-Systems/Swedish-law-mcp/blob/281dea10e09572db722672ae25280faf5cce19ee/PRIVACY.md#L9-L19"
            ],
            "notes": "Documentation explains limited case-law/preparatory-work coverage, missing EU full text and possible stale data, and directs users to verify primary sources and anonymize sensitive queries. GitHub currently marks this repository archived: do not treat its daily-update claims as a maintenance guarantee. The hosted gateway is a separate account- and tier-dependent service."
          }
        }
      },
      "url": "https://github.com/Ansvar-Systems/Swedish-law-mcp",
      "readiness_score": 90.0
    },
    {
      "name": "MCP Sweden",
      "repository_url": "https://github.com/Namraks-Labs/mcp-sweden",
      "site_url": "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/README.md",
      "author": "Namraks-Labs",
      "language": "Python",
      "license": "MIT",
      "stars": 1,
      "category": "data-statistics",
      "description": "Combines Swedish data tools for SCB statistics, parliament, municipal indicators, education, radio and Stockholm public transport.",
      "tags": [
        "sweden",
        "scb",
        "statistics",
        "riksdagen",
        "kolada",
        "public-data"
      ],
      "transport": "streamable-http",
      "last_verified": "2026-09-14",
      "tools": [
        "list_features"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/README.md#L28-L85"
            ],
            "notes": "README gives a full clone/editable-install/start sequence and a Claude Code command for the hosted HTTP endpoint. These are documented connection routes, not evidence that the hosted service is reachable."
          },
          "configuration": {
            "status": "complete",
            "evidence": [
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/README.md#L1-L26",
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/README.md#L52-L77",
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/README.md#L116-L125"
            ],
            "notes": "Python 3.10+ is stated, editable installation supplies dependencies, and the README explicitly says upstream APIs need no keys. Its environment table covers timeouts, retries, BM25 discovery and optional HTTP authentication."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/README.md#L11-L26",
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/src/mcp_sweden/server.py#L74-L110"
            ],
            "notes": "Ten service domains and their capabilities are described, but there is no concrete data-query prompt or MCP tool-call example. The source mounts namespaces and transforms discovery with BM25; the headline tool total is not a flat tools/list inventory."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/README.md#L28-L77"
            ],
            "notes": "The README explicitly labels local stdio and HTTP and provides both Claude Desktop JSON and a Claude Code HTTP connection command. No transport is inferred merely from the process command."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/LICENSE"
            ],
            "notes": "The pinned root LICENSE contains the full MIT permission, notice-retention and warranty-disclaimer terms for Namraks Labs code. This does not license every upstream dataset."
          },
          "limitations": {
            "status": "absent",
            "evidence": [
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/README.md",
              "https://github.com/Namraks-Labs/mcp-sweden/blob/ed10cc3dce260830349c3aab3c3ae0891774e890/src/mcp_sweden/data/scb/client.py#L1-L37"
            ],
            "notes": "The README does not explain a concrete coverage, rate or unsupported-operation limitation with its effect. Earlier source review flags the retiring SCB PxWebApi v1 integration; the pinned client still targets v1, but that code-only caution earns no documentation credit."
          }
        }
      },
      "mcp_endpoint": "https://sweden.mcp.namraks.com/mcp",
      "url": "https://github.com/Namraks-Labs/mcp-sweden",
      "readiness_score": 85.0
    },
    {
      "name": "SCB MCP",
      "repository_url": "https://github.com/isakskogstad/SCB-MCP",
      "site_url": "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/README.md",
      "author": "isakskogstad",
      "language": "TypeScript",
      "license": null,
      "stars": 7,
      "category": "data-statistics",
      "description": "Searches SCB PxWebAPI v2 tables, resolves Swedish region codes and retrieves statistical selections. A dedicated TypeScript alternative to the existing Python SCB integrations.",
      "tags": [
        "sweden",
        "scb",
        "statistics",
        "population",
        "regions",
        "open-data"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "scb_search_tables",
        "scb_get_table_info",
        "scb_get_table_data",
        "scb_find_region_code",
        "scb_get_table_variables",
        "scb_preview_data"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/README.md"
            ],
            "notes": "The Swedish and English installation sections give clone, npm install and build commands, followed by a concrete node dist/index.js client launch. This documents a local source route without relying on a registry badge or an assumed hosted service."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/README.md",
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/package.json"
            ],
            "notes": "Client paths and build commands are explained, and package.json declares Node >=18 with dependencies. The user documentation does not explicitly state whether credentials or environment variables are required; the absence of authentication in the reviewed client is source evidence, not complete configuration guidance."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/README.md",
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/src/index.ts"
            ],
            "notes": "The usage guide illustrates table searches, region lookup and a concrete TAB637 selection comparing municipalities and years. These are conceptual function-style examples, not a supplied Python SDK; actual MCP names are the scb_-prefixed registrations recorded in this entry."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/README.md",
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/MCP_COMPLIANCE.md"
            ],
            "notes": "Stdio is explicitly documented, with Claude Code registration and a Claude Desktop command/args configuration. Upstream compatibility claims and the additional HTTP source are not treated as independently tested client support."
          },
          "license": {
            "status": "partial",
            "evidence": [
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/package.json",
              "https://github.com/isakskogstad/SCB-MCP/tree/4f071256ed39ff3b20c820c79ed9fc75aa2888cb"
            ],
            "notes": "The package declares MIT, but the pinned repository contains no LICENSE or other applicable full code-license terms. The declaration earns partial documentation credit while the catalog license remains null."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/SCB-MCP/blob/4f071256ed39ff3b20c820c79ed9fc75aa2888cb/README.md"
            ],
            "notes": "The README describes a 30-requests-per-10-seconds limit and advises previewing large selections, limiting time periods with TOP(5), and inspecting table-specific variable codes and units. These are concrete query constraints and workarounds, not an availability guarantee."
          }
        }
      },
      "url": "https://github.com/isakskogstad/SCB-MCP",
      "readiness_score": 85.0
    },
    {
      "name": "Skolverket MCP",
      "repository_url": "https://github.com/isakskogstad/Skolverket-MCP",
      "site_url": "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/README.md",
      "author": "isakskogstad",
      "language": "TypeScript",
      "license": "MIT",
      "stars": 10,
      "category": "public-services",
      "description": "Queries Swedish schools, curricula, subjects and education through Skolverket APIs. Runs locally from source; the former hosted service and npm package are unavailable.",
      "tags": [
        "sweden",
        "skolverket",
        "schools",
        "education",
        "curricula",
        "source-install"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "search_subjects",
        "search_courses",
        "search_school_units",
        "get_school_unit_details"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/README.md#L13-L102"
            ],
            "notes": "The current README gives clone, npm install, build and absolute-path node client launch steps, including Claude Desktop Developer/Edit Config and restart. It documents source installation, not the retired remote service or unpublished npm package."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/README.md#L13-L102",
              "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/src/config.ts#L45-L54"
            ],
            "notes": "The setup identifies npm/node commands, but lacks a runtime-version/prerequisite section and explicit credential/environment guidance. Optional SKOLVERKET_API_KEY exists in source; source-only knowledge that normal operation omits it does not earn full documentation credit."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/README.md#L113-L154"
            ],
            "notes": "Three API families and tool/resource/prompt capabilities are explained. Concrete MCP prompts ask for active Stockholm upper-secondary schools and comparison of Svenska 1 grading requirements, among other education workflows."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/README.md#L13-L102"
            ],
            "notes": "The README repeatedly names stdio and gives Claude Desktop, Claude Code, Codex and other client examples. It specifically distinguishes local Developer configuration from remote Connectors."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/LICENSE",
              "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/README.md#L3-L9"
            ],
            "notes": "The pinned root LICENSE contains complete MIT permission and disclaimer text for the Skolverket Syllabus MCP contributors. The README's free-use wording is not the sole basis for this score."
          },
          "limitations": {
            "status": "absent",
            "evidence": [
              "https://github.com/isakskogstad/Skolverket-MCP/blob/5631a7fc7bc6cd0b0e2084981d6ac3886a5cb40e/README.md#L113-L166"
            ],
            "notes": "The README describes broad API coverage and examples but provides no concrete unsupported operation, rate restriction or coverage gap with its impact/workaround. Corrected local-install instructions alone do not meet the limitations criterion."
          }
        }
      },
      "url": "https://github.com/isakskogstad/Skolverket-MCP",
      "readiness_score": 85.0
    },
    {
      "name": "SMHI Weather Forecast MCP Server",
      "repository_url": "https://github.com/ribomation/smhi-weather-forecast-mcp-server",
      "site_url": "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md",
      "author": "ribomation",
      "language": "TypeScript",
      "license": null,
      "stars": 0,
      "category": "design-other",
      "description": "Experimental local SMHI tools for point forecasts, station observations and station/parameter discovery. The README warns of API retirement; current data availability is unverified.",
      "tags": [
        "sweden",
        "smhi",
        "weather",
        "forecasts",
        "observations",
        "experimental"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "get-weather-forecast",
        "get-weather-observations",
        "list-weather-stations",
        "list-weather-parameters"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L21-L68",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L156-L178",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/package.json"
            ],
            "notes": "Clone, npm install, build and npm start are documented, with Claude Desktop launch configuration. The package start script resolves the built file under dist; its filename deliberately spells 'forcast', matching the client example. Installation and startup were not attempted."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L21-L72",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/package.json",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/src/services/smhi-api.ts"
            ],
            "notes": "Node.js 18+, npm, dependency installation and client paths are explained. There is no explicit credentials/no-key statement in the usage documentation. The implementation makes unauthenticated SMHI requests, but source inference alone does not complete that documentation requirement."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L74-L141",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L191-L214",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/src/server.ts"
            ],
            "notes": "Four tools have parameter descriptions and examples, plus prompts for Stockholm forecasts and Abisko temperature readings. Source registers observation retrieval and station/parameter discovery as well as forecasts; station and parameter totals advertised in the README were not independently measured."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L46-L72"
            ],
            "notes": "The README explicitly names stdio and supplies Claude Desktop JSON with macOS and Windows configuration-file locations. SSE is only a future idea in the draft plan, not an implemented or documented public endpoint."
          },
          "license": {
            "status": "partial",
            "evidence": [
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L216-L218",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/tree/5f23510e8ba939a919210103905964e2a2e73905"
            ],
            "notes": "The README declares MIT, but the pinned repository contains no applicable license text. Dependency licenses do not cover this server, so metadata license remains null and only partial declaration credit is awarded."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L5-L12",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/README.md#L187-L189",
              "https://github.com/ribomation/smhi-weather-forecast-mcp-server/blob/5f23510e8ba939a919210103905964e2a2e73905/src/services/smhi-api.ts"
            ],
            "notes": "Beyond an educational-experiment disclaimer, the README warns that its APIs may be deprecated during spring 2026 and directs users to SMHI updates. Source still defaults to pmp3g forecast v2 and observation v1.0; continued support is unverified, not implied by this documentation score."
          }
        }
      },
      "url": "https://github.com/ribomation/smhi-weather-forecast-mcp-server",
      "readiness_score": 85.0
    },
    {
      "name": "Bokio MCP",
      "repository_url": "https://github.com/straycatse/bokio-mcp",
      "site_url": "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md",
      "author": "straycatse",
      "language": "TypeScript",
      "license": "MIT",
      "stars": 0,
      "category": "invoicing",
      "description": "Connects to one Bokio company for invoices, bookkeeping and SIE exports. Requires credentials; read-only by default, with writes available through explicit opt-in.",
      "tags": [
        "sweden",
        "bokio",
        "accounting",
        "invoices",
        "sie",
        "optional-writes"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "bokio_list_invoices",
        "bokio_get_invoice",
        "bokio_download_invoice"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L17-L65"
            ],
            "notes": "The real-data route explains where to create a private integration token and supplies complete npx MCP launch JSON with company ID. OAuth has a separate login sequence. The account-free BOKIO_MOCK demonstration is explicitly a fixture route, not live Bokio access."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L32-L65",
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L100-L124"
            ],
            "notes": "Credentials, company ID, OAuth callback, optional writes and HTTP/token-storage settings are documented. The README does not specify the supported Node runtime/version; no-accounts wording in the introduction must not be read as anonymous access to real company data. Commercial costs remain unverified."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L1-L15",
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L67-L86"
            ],
            "notes": "The README describes accounting capabilities and gives concrete prompts for unpaid invoices and SIE export. It explains that mutating tools are absent from discovery until BOKIO_ALLOW_WRITES is enabled, rather than implying all 85 are always exposed."
          },
          "compatibility": {
            "status": "partial",
            "evidence": [
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L37-L50",
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L79-L98"
            ],
            "notes": "The command table explicitly distinguishes stdio from Streamable HTTP, and generic client JSON is provided. No named MCP client is paired with a connection example, so transport documentation alone does not earn complete compatibility."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/LICENSE"
            ],
            "notes": "The pinned root LICENSE supplies full MIT terms for Simon Solberg's server code. Bokio service access and bank-payment approval are separate provider requirements."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L25-L28",
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L67-L77",
              "https://github.com/straycatse/bokio-mcp/blob/cd48f56f606c069b9b5ef4c89814e2673af7d8f4/README.md#L147-L153"
            ],
            "notes": "The README explains one company per instance and running another instance for a second company, plus bank-payment scopes that fail without Bokio approval. Read-only default, opt-in writes and the fake-data nature of BOKIO_MOCK are explicit."
          }
        }
      },
      "url": "https://github.com/straycatse/bokio-mcp",
      "readiness_score": 82.5
    },
    {
      "name": "Kolada MCP",
      "repository_url": "https://github.com/isakskogstad/Kolada-MCP",
      "site_url": "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md",
      "author": "isakskogstad",
      "language": "TypeScript",
      "license": "MIT",
      "stars": 12,
      "category": "data-statistics",
      "description": "Retrieves and compares municipality and regional indicators through Kolada API v3. A dedicated stdio alternative to MCP Sweden’s Kolada v2 integration.",
      "tags": [
        "sweden",
        "kolada",
        "municipalities",
        "regions",
        "statistics",
        "indicators"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "search_kpis",
        "get_kpi",
        "get_kpis",
        "get_kpi_groups",
        "get_kpi_group"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md#L17-L64"
            ],
            "notes": "The README provides npx and global-install/start commands, then named client configurations and a Claude Code registration/check sequence. These constitute a complete documented local package route without depending on the separate source-clone example."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md#L17-L32",
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md#L249-L263"
            ],
            "notes": "Installation and client commands are present and Kolada data terms say access is free and needs no agreement. Runtime/version requirements and an explicit required-credentials/environment statement are missing; command syntax and open-data claims do not fill those documentation gaps."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md#L131-L177"
            ],
            "notes": "The tool tables explain KPI discovery, municipality lookups, comparisons and analysis, including result bounds. They do not include a concrete MCP request or user prompt; a municipality ID mentioned in a description alone is not a usage example."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md#L34-L119"
            ],
            "notes": "Several named client configurations are given, and the other-clients section explicitly identifies stdio transport. No legacy HTTP/SSE implementation is promoted as a currently available hosted service."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/LICENSE",
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md#L244-L263"
            ],
            "notes": "The pinned LICENSE contains full MIT terms for Isak Skogstad's implementation. Separately documented Kolada attribution and no-official-partnership conditions concern upstream data use, not the code license."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md#L133-L169",
              "https://github.com/isakskogstad/Kolada-MCP/blob/2bdcc29a019e24fe0d218f8191149701f4637ffd/README.md#L249-L263"
            ],
            "notes": "The README limits get_kpis to 25 items and comparisons to 2-10 municipalities, making batch size constraints explicit. Its data terms also warn that KPI revisions/removals need not be announced, affecting reproducibility of later queries."
          }
        }
      },
      "url": "https://github.com/isakskogstad/Kolada-MCP",
      "readiness_score": 80.0
    },
    {
      "name": "SCB Open Data MCP",
      "repository_url": "https://github.com/ashwinvis/scb-opendata-mcp",
      "site_url": "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/README.md",
      "author": "ashwinvis",
      "language": "Python",
      "license": "MIT",
      "stars": 1,
      "category": "data-statistics",
      "description": "Exposes Swedish national statistics from SCB through PxWebApi v2. A dedicated local alternative to the SCB v1 integration in MCP Sweden; no API key is configured.",
      "tags": [
        "sweden",
        "scb",
        "statistics",
        "pxweb",
        "open-data"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "list_tables"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/README.md#L17-L100"
            ],
            "notes": "The README documents pip/source installation, CLI startup and an HTTP client configuration for Mistral Vibe. Other HTTP examples disagree on scheme/path, and local stdio must be selected explicitly because the CLI default is HTTP; a bare CLI command is not advertised here as stdio."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/README.md#L17-L65"
            ],
            "notes": "Python 3.11+ and pip or uv are explicit prerequisites, but no configuration table or explicit statement about required credentials/environment variables is provided. Public-data access is not inferred into a fully documented no-key setup."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/README.md#L103-L123",
              "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/README.md#L141-L151"
            ],
            "notes": "Tables, filters, codelists and saved-query tools are described by signatures, but no concrete statistical MCP query with real arguments or user prompt appears. The linked upstream REST specification is not itself an MCP usage example."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/README.md#L60-L100"
            ],
            "notes": "The README explicitly mentions stdio and HTTP and supplies named Claude Code, Mistral Vibe and OpenCode configurations. Mistral Vibe shows HTTP with /mcp; the inconsistent URL variants in the other examples remain a documentation caveat, not a tested connection."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/README.md#L137-L139",
              "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/LICENSE"
            ],
            "notes": "The README links the full MIT license at the pinned commit, whose copyright names Ashwin V. Mohanan. This is the server code license, distinct from SCB data-use conditions."
          },
          "limitations": {
            "status": "partial",
            "evidence": [
              "https://github.com/ashwinvis/scb-opendata-mcp/blob/a13e0b5d915322cc0fffc6d77be9ac3f2ef77847/README.md#L153-L157"
            ],
            "notes": "The disclaimer calls the tool unofficial and AI-generated and recommends rigorous verification before serious use, but does not explain a concrete API rate cap, unsupported operation or data-coverage failure with its effect/workaround."
          }
        }
      },
      "url": "https://github.com/ashwinvis/scb-opendata-mcp",
      "readiness_score": 77.5
    },
    {
      "name": "Swemo MCP — Riksbank",
      "repository_url": "https://github.com/aerugo/swemo-mcp",
      "site_url": "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md",
      "author": "aerugo",
      "language": "Python",
      "license": "Apache-2.0",
      "stars": 2,
      "category": "government-public-finance",
      "description": "Queries Riksbank monetary-policy forecasts and series for inflation, GDP, unemployment and the policy rate. Local stdio integration with dated setup documentation.",
      "tags": [
        "sweden",
        "riksbank",
        "monetary-policy",
        "forecasts",
        "economics"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "list_policy_rounds",
        "list_series_ids",
        "get_cpi_data",
        "get_gdp_data",
        "get_unemployment_data",
        "get_policy_rate_data"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "partial",
            "evidence": [
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L146-L206",
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L228-L241"
            ],
            "notes": "The README proposes uv sync without a clone/location sequence; its local Claude configuration actually runs kolada-mcp from a Kolada path, its uvx command is hardcoded to the author's machine, and its Docker client/build tags differ. These leave setup corrections for the reader."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L146-L162",
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L168-L190"
            ],
            "notes": "Python >=3.12, uv >=0.2.0 and dependency synchronization are stated. Required environment/credential requirements or an explicit no-key statement are absent; an empty env object and an open-API description do not fully document prerequisites."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L31-L46",
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L125-L142"
            ],
            "notes": "The monetary-policy tool catalogue describes GDP, unemployment and CPI, while the introduction gives concrete inflation-history and next-year GDP questions and the catalogue explains policy_round selection. Library-only examples are not the sole usage evidence; SWEA/SWESTR coverage is not inferred."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L99-L118",
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L164-L206"
            ],
            "notes": "The README explicitly labels stdio and provides a named Claude Desktop uvx connection snippet. The local Kolada copy/paste error remains an installation caveat. HTTP/SSE labels in the diagram alone are not treated as established operational support."
          },
          "license": {
            "status": "complete",
            "evidence": [
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L276-L293",
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/LICENSE"
            ],
            "notes": "The README applies Apache-2.0 and the pinned root LICENSE contains the full terms. Riksbank data-use terms and the project's unofficial status remain separate from the code license."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L73-L95",
              "https://github.com/aerugo/swemo-mcp/blob/602b2c383af97d86f519e0e4894641f895a291ce/README.md#L138-L142"
            ],
            "notes": "The vintage explanation distinguishes a pinned policy round's observation cutoff from revised realized history and tells readers to request latest for final observations plus the newest forecasts. This documents a concrete interpretation/coverage pitfall and how to avoid it."
          }
        }
      },
      "url": "https://github.com/aerugo/swemo-mcp",
      "readiness_score": 75.0
    },
    {
      "name": "Traktamente MCP",
      "repository_url": "https://github.com/johnie/traktamente-mcp",
      "site_url": "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/README.md",
      "author": "johnie",
      "language": "TypeScript",
      "license": null,
      "stars": 1,
      "category": "government-public-finance",
      "description": "Retrieves Swedish foreign-travel daily allowance rates from Skatteverket’s EntryScape data. Supports country searches; local execution requires Bun.",
      "tags": [
        "sweden",
        "skatteverket",
        "tax",
        "travel-allowances",
        "bun"
      ],
      "transport": "streamable-http",
      "last_verified": "2026-09-14",
      "tools": [
        "traktamente_get_rates",
        "traktamente_list_countries",
        "traktamente_search"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/README.md#L51-L74",
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/README.md#L146-L164",
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/CLAUDE.md#L9-L17"
            ],
            "notes": "The README gives a complete hosted Streamable HTTP connection command for Claude Code and a source clone/Bun-install/start sequence. Local npx snippets should not be taken to mean Node alone is sufficient: the developer guide explicitly requires Bun."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/README.md#L146-L164",
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/CLAUDE.md#L9-L17",
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/CLAUDE.md#L83-L88"
            ],
            "notes": "Bun >=1.0.0, dependency installation and transport selection are documented, but required credentials/environment variables or an explicit no-credentials statement are not fully specified. Developer guidance explicitly says Bun, not Node.js."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/README.md#L123-L144",
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/CLAUDE.md#L119-L148"
            ],
            "notes": "Tool purposes and parameter schemas are detailed, but no concrete MCP query or prompt is shown. README names are outdated relative to the prefixed traktamente_get_rates/list_countries/search names in CLAUDE.md; the assessment does not present the old names as the current inventory."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/README.md#L51-L74",
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/CLAUDE.md#L83-L108",
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/CLAUDE.md#L156-L187"
            ],
            "notes": "Streamable HTTP is explicitly named alongside a Claude Code HTTP registration command. Developer documentation also labels stdio and provides a Bun-based Claude Desktop configuration for local use."
          },
          "license": {
            "status": "partial",
            "evidence": [
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/README.md#L200-L202",
              "https://github.com/johnie/traktamente-mcp/tree/63a283b52fd47e6d43290f31a5307b0b53f5ca96"
            ],
            "notes": "README declares MIT, but there is no applicable LICENSE file in the pinned tree. This is partial license documentation, not verified MIT terms; the catalog license remains null."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/CLAUDE.md#L123-L148",
              "https://github.com/johnie/traktamente-mcp/blob/63a283b52fd47e6d43290f31a5307b0b53f5ca96/README.md#L176-L181"
            ],
            "notes": "CLAUDE.md documents 1-500 result limits and automatic truncation at 25,000 characters, with pagination metadata including hasMore and nextOffset. The README also identifies international-travel coverage and Swedish country/field names."
          }
        }
      },
      "mcp_endpoint": "https://traktamente.app/mcp",
      "url": "https://github.com/johnie/traktamente-mcp",
      "readiness_score": 75.0
    },
    {
      "name": "Begagnad MCP",
      "repository_url": "https://github.com/bjesus/begagnad-mcp",
      "site_url": "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/README.md",
      "author": "bjesus",
      "language": "TypeScript",
      "license": null,
      "stars": 8,
      "category": "design-other",
      "description": "Searches Blocket (via blocket-api.se) and Tradera listings. Tradera requires app credentials. Tools retrieve items but do not purchase, bid or track changes.",
      "tags": [
        "sweden",
        "second-hand",
        "marketplace",
        "blocket",
        "tradera",
        "cloudflare"
      ],
      "transport": "sse",
      "last_verified": "2026-09-14",
      "tools": [
        "search_blocket",
        "get_blocket_item",
        "search_tradera",
        "get_tradera_item",
        "search_both"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/README.md#L9-L58"
            ],
            "notes": "The public-instance route supplies a complete Claude Desktop mcp-remote configuration and restart instruction. Separate npm install, Cloudflare login, deployment and local-start commands are also shown. This is a documentation assessment, not a connection test; the hosted URL is intentionally not added to the automated endpoint checker."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/README.md#L33-L67"
            ],
            "notes": "Cloudflare login and the TRADERA_APP_ID/TRADERA_APP_KEY secret names are documented, but runtime prerequisites, credential acquisition and the credentials available to the public instance are not explained. Cloudflare/API account eligibility, pricing and quotas were not verified."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/README.md#L69-L101"
            ],
            "notes": "Five search/detail tools have parameter summaries and concrete Claude prompts about routers, vehicles and furniture. Source confirms both marketplace paths and the combined search. There are no dedicated price/location filter parameters, purchases, bids, saved searches or change-tracking tools."
          },
          "compatibility": {
            "status": "partial",
            "evidence": [
              "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/README.md#L11-L31",
              "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/README.md#L52-L58"
            ],
            "notes": "A named Claude Desktop configuration uses mcp-remote, but the README does not explicitly identify the transport beyond an endpoint ending in /sse. Source code verifies legacy SSE for catalog metadata; source-only transport evidence does not earn complete documentation credit."
          },
          "license": {
            "status": "partial",
            "evidence": [
              "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/README.md#L108-L110",
              "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/package.json"
            ],
            "notes": "The README and package manifest say MIT, but no full license text is present in the pinned repository. Applicable terms were not established, so license remains null rather than treating the declaration as a license grant."
          },
          "limitations": {
            "status": "absent",
            "evidence": [
              "https://github.com/bjesus/begagnad-mcp/blob/cc45e8cb23b5f36e5d4b1ccb831cd561717270b5/README.md"
            ],
            "notes": "The README contains no explicit coverage/reliability caveat, read-only boundary, rate limit or operational workaround. Credential setup alone is not a documented usage limitation. Reconnection throttling and combined-search failure behavior are visible in source but do not raise this documentation score."
          }
        }
      },
      "url": "https://github.com/bjesus/begagnad-mcp",
      "readiness_score": 72.5
    },
    {
      "name": "Kolada MCP (aerugo)",
      "repository_url": "https://github.com/aerugo/kolada-mcp",
      "site_url": "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/README.md",
      "author": "aerugo",
      "language": "Python",
      "license": null,
      "stars": 16,
      "category": "data-statistics",
      "description": "Queries Kolada API v2 municipal indicators with comparison, filtering and Swedish BERT semantic search. A Python alternative that loads KPI data and model embeddings during startup.",
      "tags": [
        "sweden",
        "kolada",
        "municipalities",
        "statistics",
        "indicators",
        "semantic-search"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "search_kpis",
        "get_kpi_metadata",
        "fetch_kolada_data",
        "analyze_kpi_across_municipalities",
        "compare_kpis",
        "list_municipalities"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "complete",
            "evidence": [
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/README.md"
            ],
            "notes": "For a source checkout, the README supplies pip install -e . and both kolada-mcp and python -m kolada_mcp startup commands. It also shows optional venv preparation and a Docker alternative; this score concerns the documented local source route, not successful installation."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/README.md",
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/pyproject.toml",
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/src/kolada_mcp/config.py"
            ],
            "notes": "Python 3.11+, transport, port and logging are documented. The instructions omit model-download/cache requirements, the additional source settings and an explicit credential statement; 'no external dependencies' refers to infrastructure such as Redis, not the substantial Python/model dependencies in the manifest."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/README.md"
            ],
            "notes": "A nine-tool table explains semantic KPI search, data retrieval, municipality filtering and comparisons. The README does not provide a concrete MCP tool request or user prompt; installation commands and broad natural-language-query claims are not usage examples."
          },
          "compatibility": {
            "status": "complete",
            "evidence": [
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/README.md"
            ],
            "notes": "The README explicitly identifies stdio as the default and supplies a Claude Desktop mcpServers configuration. Its separate HTTP command is not used to assert a verified Streamable HTTP deployment or interoperability."
          },
          "license": {
            "status": "partial",
            "evidence": [
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/README.md",
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/pyproject.toml",
              "https://github.com/aerugo/kolada-mcp/tree/3b7d6aef5feb59be52e17dacc2626dba45e40b04"
            ],
            "notes": "README and package metadata declare Apache-2.0, but no full applicable license text is present in the pinned tree. The code-license field therefore remains null rather than treating the declaration as verified terms."
          },
          "limitations": {
            "status": "partial",
            "evidence": [
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/pyproject.toml",
              "https://github.com/aerugo/kolada-mcp/blob/3b7d6aef5feb59be52e17dacc2626dba45e40b04/README.md"
            ],
            "notes": "The package has a Beta development-status classifier, but the user documentation does not explain concrete coverage, cold-start resource, model-cache or upstream-failure limitations and workarounds. Only the generic maturity indication receives credit."
          }
        }
      },
      "url": "https://github.com/aerugo/kolada-mcp",
      "readiness_score": 72.5
    },
    {
      "name": "Swedish Weather MCP",
      "repository_url": "https://github.com/robobobby/mcp-swedish-weather",
      "site_url": "https://github.com/robobobby/mcp-swedish-weather/blob/eeb6405964dc682c360151cc8a51a2a2251618bb/README.md",
      "author": "robobobby",
      "language": "JavaScript",
      "license": null,
      "stars": 0,
      "category": "public-services",
      "description": "A small local MCP server returning SMHI forecast-derived current conditions and forecasts for Swedish cities or coordinates.",
      "tags": [
        "sweden",
        "smhi",
        "weather",
        "forecasts"
      ],
      "transport": "stdio",
      "last_verified": "2026-09-14",
      "tools": [
        "current_weather",
        "weather_forecast"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "partial",
            "evidence": [
              "https://github.com/robobobby/mcp-swedish-weather/blob/eeb6405964dc682c360151cc8a51a2a2251618bb/README.md#L17-L28"
            ],
            "notes": "The README gives a node process configuration pointing at src/index.js, but omits repository/dependency installation and a complete startup walkthrough. Bundled dependencies do not replace written setup instructions."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/robobobby/mcp-swedish-weather/blob/eeb6405964dc682c360151cc8a51a2a2251618bb/README.md#L17-L32"
            ],
            "notes": "The data-source section explicitly says no authentication is required and the launch example identifies node. Runtime version and dependency prerequisites are otherwise unexplained."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/robobobby/mcp-swedish-weather/blob/eeb6405964dc682c360151cc8a51a2a2251618bb/README.md#L5-L15"
            ],
            "notes": "current_weather and weather_forecast have short descriptions and supported location forms are listed, but the README has no concrete weather prompt or populated MCP tool-call example."
          },
          "compatibility": {
            "status": "partial",
            "evidence": [
              "https://github.com/robobobby/mcp-swedish-weather/blob/eeb6405964dc682c360151cc8a51a2a2251618bb/README.md#L17-L28"
            ],
            "notes": "A generic mcpServers process configuration is supplied, but neither a named client nor the MCP transport is explicit. In particular, stdio is not inferred from the node command."
          },
          "license": {
            "status": "partial",
            "evidence": [
              "https://github.com/robobobby/mcp-swedish-weather/blob/eeb6405964dc682c360151cc8a51a2a2251618bb/README.md#L38-L40",
              "https://github.com/robobobby/mcp-swedish-weather/tree/eeb6405964dc682c360151cc8a51a2a2251618bb"
            ],
            "notes": "The README says MIT, but the pinned tree has no project LICENSE; licenses inside committed node_modules apply to dependencies rather than this server. The source metadata license therefore remains null."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/robobobby/mcp-swedish-weather/blob/eeb6405964dc682c360151cc8a51a2a2251618bb/README.md#L5-L8",
              "https://github.com/robobobby/mcp-swedish-weather/blob/eeb6405964dc682c360151cc8a51a2a2251618bb/src/index.js#L106-L123"
            ],
            "notes": "The README bounds weather_forecast to 72 hours, making longer-range forecasts outside its documented coverage. A separate source caution is that current_weather reads forecast timeSeries rather than station observations; that distinction is not explained by the README."
          }
        }
      },
      "url": "https://github.com/robobobby/mcp-swedish-weather",
      "readiness_score": 52.5
    },
    {
      "name": "Annual Report MCP Server",
      "repository_url": "https://github.com/Pomilo-AI/annual_report_mcp_server",
      "site_url": "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md",
      "author": "Pomilo-AI",
      "language": "Python",
      "license": null,
      "stars": 2,
      "category": "government-public-finance",
      "description": "Demo for company lookup and questions over digitally filed annual reports via Bolagsverket, Tavily and OpenAI; requires approved API access and writes local indexes.",
      "tags": [
        "sweden",
        "annual-reports",
        "companies",
        "bolagsverket",
        "api-key"
      ],
      "last_verified": "2026-09-14",
      "tools": [
        "query_annual_report",
        "fetch_org_data",
        "get_org_no"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "partial",
            "evidence": [
              "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md#L20-L63"
            ],
            "notes": "Dependency installation and a Claude Desktop launch example are provided, but cloning uses a placeholder, the first install command names a hyphenated file rather than the repository's underscored filename, and the fallback assumes an existing virtual environment and uv installation."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md#L7-L11",
              "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md#L33-L73"
            ],
            "notes": "The README lists dependencies and OPENAI_API_KEY, BV_CLIENT_ID, BV_CLIENT_SECRET and TAVILY_API_KEY. Bolagsverket access requires an application. A supported Python version and environment/uv setup are not documented; the Tavily free-use statement and API prices were not independently verified."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md#L3-L18"
            ],
            "notes": "Organization lookup, annual-report analysis and company-name search are described, but the README gives no concrete MCP request or user prompt. Source inspection establishes the three exported names; code docstrings alone do not satisfy the documentation-example requirement."
          },
          "compatibility": {
            "status": "partial",
            "evidence": [
              "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md#L41-L63"
            ],
            "notes": "Claude Desktop has a named JSON launch example using the MCP CLI, but the transport is not explicitly stated. The listing does not infer a transport guarantee from the command syntax."
          },
          "license": {
            "status": "partial",
            "evidence": [
              "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md#L75-L77"
            ],
            "notes": "The README declares MIT, but the pinned repository contains no LICENSE file or applicable full license terms. The catalog license therefore remains null."
          },
          "limitations": {
            "status": "partial",
            "evidence": [
              "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md#L3-L11",
              "https://github.com/Pomilo-AI/annual_report_mcp_server/blob/6b903a268d0bf2936334129f3e471a86ffad4512/README.md#L49-L63"
            ],
            "notes": "The author calls this a non-production demo with inadequate downloaded-data handling and mentions possible dependency/PATH problems. No concrete data-retention limit, coverage boundary or operational impact is explained; the setup fallback does not establish a fully documented workaround."
          }
        }
      },
      "url": "https://github.com/Pomilo-AI/annual_report_mcp_server",
      "readiness_score": 50.0
    },
    {
      "name": "Lantmäteriet MCP",
      "repository_url": "https://github.com/furrytailapps/mcp-lantmateriet",
      "site_url": "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/CLAUDE.md",
      "author": "furrytailapps",
      "language": "JavaScript",
      "license": null,
      "stars": 0,
      "category": "geospatial",
      "description": "Provides Lantmäteriet property searches, terrain elevation, map URLs and STAC discovery for Swedish imagery and elevation datasets.",
      "tags": [
        "sweden",
        "lantmateriet",
        "geodata",
        "property",
        "elevation",
        "stac"
      ],
      "transport": "streamable-http",
      "last_verified": "2026-09-14",
      "tools": [
        "lm_property_search",
        "lm_elevation",
        "lm_map_url",
        "lm_stac_search"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "partial",
            "evidence": [
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/CLAUDE.md#L7-L9",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/tests/README.md#L5-L13",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/tests/README.md#L66-L74"
            ],
            "notes": "Developer docs name a production URL and the test guide gives npm run dev, but no complete installation/client-connection walkthrough. CLAUDE.md and tests/README.md disagree on the hosted hostname; neither is silently substituted."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/CLAUDE.md#L18-L26",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/RESEARCH.md#L23-L47"
            ],
            "notes": "The documents identify consumer key/secret variables and explain Geotorget registration, API subscriptions and OAuth token refresh. Runtime and dependency prerequisites for local operation are not documented. Public STAC discovery is not a promise of anonymous downloads."
          },
          "tools": {
            "status": "complete",
            "evidence": [
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/CLAUDE.md#L11-L16",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/tests/README.md#L35-L64",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/tests/README.md#L76-L107"
            ],
            "notes": "CLAUDE.md describes the four geodata tools; the test guide supplies concrete MCP workflows, including finding the property S?ffle Liden 16 before elevation and weather checks. These written examples are assessed, not the guide's claimed test outcomes."
          },
          "compatibility": {
            "status": "absent",
            "evidence": [
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/CLAUDE.md",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/tests/README.md",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/RESEARCH.md"
            ],
            "notes": "The consulted project, research and test docs contain endpoint URLs and API protocols but do not explicitly identify the MCP transport or provide a named MCP-client connection configuration. Upstream WMS/WMTS is not an MCP transport."
          },
          "license": {
            "status": "absent",
            "evidence": [
              "https://github.com/furrytailapps/mcp-lantmateriet/tree/22907c5b82978683c57d96d3569c9af2006d49d5",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/CLAUDE.md",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/RESEARCH.md#L9-L21",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/RESEARCH.md#L71-L79"
            ],
            "notes": "The pinned tree and project documentation contain no applicable server-code license declaration or terms. Research references to free HVD data or CC-BY maps are data-access statements, not a code license."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/tests/README.md#L111-L130",
              "https://github.com/furrytailapps/mcp-lantmateriet/blob/22907c5b82978683c57d96d3569c9af2006d49d5/RESEARCH.md#L25-L36"
            ],
            "notes": "The test guide explicitly says property/elevation access requires credentials and that simplified test coordinate conversions have limited accuracy. Geotorget registration is documented as the access route; free HVD data does not remove those access prerequisites."
          }
        }
      },
      "mcp_endpoint": "https://mcp-lantmateriet.vercel.app/mcp",
      "url": "https://github.com/furrytailapps/mcp-lantmateriet",
      "readiness_score": 50.0
    },
    {
      "name": "Naturvårdsverket MCP",
      "repository_url": "https://github.com/furrytailapps/mcp-nvv",
      "site_url": "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md",
      "author": "furrytailapps",
      "language": "TypeScript",
      "license": null,
      "stars": 0,
      "category": "geospatial",
      "description": "Searches Swedish nature reserves, national parks, Natura 2000 and Ramsar areas through Naturvårdsverket geodata. The documented hosted endpoint has not been runtime-tested.",
      "tags": [
        "sweden",
        "naturvardsverket",
        "nature-reserves",
        "national-parks",
        "natura-2000",
        "geodata"
      ],
      "transport": "streamable-http",
      "last_verified": "2026-09-14",
      "tools": [
        "nvv_lookup",
        "nvv_search",
        "nvv_detail",
        "nvv_extent"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "partial",
            "evidence": [
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md#L9-L9",
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md#L41-L69"
            ],
            "notes": "The README supplies npm install/npm run dev and a production URL, but no end-to-end repository acquisition and MCP-client connection instructions. Its shared test-runner command depends on an external per-user script and is not a client setup guide."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md#L41-L49",
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md#L63-L69",
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/CLAUDE.md#L18-L25"
            ],
            "notes": "No environment variables are explicitly needed for the public APIs, and npm development commands are listed. The required local runtime/version and dependency prerequisites are not explained."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md#L11-L39"
            ],
            "notes": "All four tools and a lookup/search/detail/extent sequence are described, but the sequence has no concrete place, IDs, populated MCP call or user prompt. General workflow instructions are not counted as a worked usage example."
          },
          "compatibility": {
            "status": "absent",
            "evidence": [
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md",
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/CLAUDE.md"
            ],
            "notes": "README and CLAUDE.md name a production HTTPS URL but no explicit MCP transport and no named-client configuration. Neither the endpoint suffix nor use of a test runner establishes documented client compatibility."
          },
          "license": {
            "status": "absent",
            "evidence": [
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md",
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/CLAUDE.md",
              "https://github.com/furrytailapps/mcp-nvv/tree/c67d45670db96aa1b5f5d8d716a06f34210d43d8"
            ],
            "notes": "Neither consulted document declares a code license, and the pinned tree contains no applicable LICENSE. Public Naturvardsverket data access does not establish reuse rights for this server code."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/CLAUDE.md#L11-L25",
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/README.md#L20-L39",
              "https://github.com/furrytailapps/mcp-nvv/blob/c67d45670db96aa1b5f5d8d716a06f34210d43d8/src/clients/nvv-client.ts#L129-L151"
            ],
            "notes": "CLAUDE.md explains that Ramsar lacks WFS, so bounding-box search covers only national/Natura 2000 areas; municipality/county-code search spans all three. Only Gallande status is exposed and name searches need lookup first. Separately, the source contains an upstream extent workaround, not documentation evidence for this score."
          }
        }
      },
      "mcp_endpoint": "https://mcp-nvv.vercel.app/mcp",
      "url": "https://github.com/furrytailapps/mcp-nvv",
      "readiness_score": 40.0
    },
    {
      "name": "SMHI MCP",
      "repository_url": "https://github.com/furrytailapps/mcp-smhi",
      "site_url": "https://github.com/furrytailapps/mcp-smhi/blob/74bcfe15c314eb502c3b9983eab1dbb68c13e9e8/CLAUDE.md",
      "author": "furrytailapps",
      "language": "TypeScript",
      "license": null,
      "stars": 0,
      "category": "public-services",
      "description": "Exposes SMHI forecasts, weather and hydrological observations, warnings, radar and lightning through a hosted MCP interface.",
      "tags": [
        "sweden",
        "smhi",
        "weather",
        "hydrology",
        "forecasts"
      ],
      "transport": "streamable-http",
      "last_verified": "2026-09-14",
      "tools": [
        "smhi_get_forecast",
        "smhi_get_observations",
        "smhi_get_current_conditions",
        "smhi_describe_data"
      ],
      "quality": {
        "rubric_version": 1,
        "reviewed_at": "2026-09-14",
        "status": "assessed",
        "criteria": {
          "installation": {
            "status": "partial",
            "evidence": [
              "https://github.com/furrytailapps/mcp-smhi/blob/74bcfe15c314eb502c3b9983eab1dbb68c13e9e8/CLAUDE.md#L7-L9"
            ],
            "notes": "CLAUDE.md advertises a production MCP URL, but supplies neither named-client connection steps nor a local dependency-install/start walkthrough. A URL alone leaves operational setup to the reader."
          },
          "configuration": {
            "status": "partial",
            "evidence": [
              "https://github.com/furrytailapps/mcp-smhi/blob/74bcfe15c314eb502c3b9983eab1dbb68c13e9e8/CLAUDE.md#L18-L21"
            ],
            "notes": "Developer documentation explicitly says no environment variables are needed because the APIs are public. It does not document the runtime, supported version or local dependencies."
          },
          "tools": {
            "status": "partial",
            "evidence": [
              "https://github.com/furrytailapps/mcp-smhi/blob/74bcfe15c314eb502c3b9983eab1dbb68c13e9e8/CLAUDE.md#L11-L16"
            ],
            "notes": "Four tools have distinct descriptions covering forecasts, observations, conditions and discovery. No concrete MCP prompt or populated tool-call example is included."
          },
          "compatibility": {
            "status": "absent",
            "evidence": [
              "https://github.com/furrytailapps/mcp-smhi/blob/74bcfe15c314eb502c3b9983eab1dbb68c13e9e8/CLAUDE.md"
            ],
            "notes": "The only project documentation gives an HTTPS endpoint but neither names an MCP transport nor configures a named client. The URL and handler implementation are not substitutes for explicit transport documentation."
          },
          "license": {
            "status": "absent",
            "evidence": [
              "https://github.com/furrytailapps/mcp-smhi/blob/74bcfe15c314eb502c3b9983eab1dbb68c13e9e8/CLAUDE.md",
              "https://github.com/furrytailapps/mcp-smhi/tree/74bcfe15c314eb502c3b9983eab1dbb68c13e9e8"
            ],
            "notes": "No applicable code-license declaration or license text appears in CLAUDE.md or the pinned project tree. Public visibility alone does not establish permission to reuse this server."
          },
          "limitations": {
            "status": "complete",
            "evidence": [
              "https://github.com/furrytailapps/mcp-smhi/blob/74bcfe15c314eb502c3b9983eab1dbb68c13e9e8/CLAUDE.md#L18-L21"
            ],
            "notes": "Location input is restricted to coordinates or municipality/county codes, not place names; the documented workaround is smhi_describe_data to discover those codes."
          }
        }
      },
      "mcp_endpoint": "https://mcp-smhi.vercel.app/mcp",
      "url": "https://github.com/furrytailapps/mcp-smhi",
      "readiness_score": 40.0
    }
  ]
}
