protogrid

Search / io.github.lordfreez-ship-it/mil

MIL — Machine Intelligence Layer

R0· no sign-in

Swedish company data (Bolagsverket, SCB) for AI agents, verified, with history and annual reports

v0.4.2 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality81new
Trust97of 100
Uptime, 30 days100%
Latency p50374 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "mil": {
      "type": "http",
      "url": "https://www.milquery.com/api/mcp?src=registry",
      "headers": {
        "Authorization": "Bearer ${MIL_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http mil https://www.milquery.com/api/mcp?src=registry --header "Authorization: Bearer ${MIL_TOKEN}"
[mcp_servers.mil]
url = "https://www.milquery.com/api/mcp?src=registry"
bearer_token_env_var = "MIL_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mil": {
      "type": "remote",
      "url": "https://www.milquery.com/api/mcp?src=registry",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:MIL_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "mil": {
      "type": "http",
      "url": "https://www.milquery.com/api/mcp?src=registry",
      "headers": {
        "Authorization": "Bearer ${MIL_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mil&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3Lm1pbHF1ZXJ5LmNvbS9hcGkvbWNwP3NyYz1yZWdpc3RyeSIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke01JTF9UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "mil": {
      "type": "http",
      "url": "https://www.milquery.com/api/mcp?src=registry",
      "headers": {
        "Authorization": "Bearer ${MIL_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "mil": {
      "httpUrl": "https://www.milquery.com/api/mcp?src=registry",
      "headers": {
        "Authorization": "Bearer ${MIL_TOKEN}"
      }
    }
  }
}
extensions:
  "mil":
    enabled: true
    name: "mil"
    type: streamable_http
    uri: "https://www.milquery.com/api/mcp?src=registry"
    headers:
      "Authorization": "Bearer ${MIL_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${MIL_TOKEN}. The registry never accepts secret values.

Quality 81 / 100new

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations9 of 9 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: find_distress_signals (destructiveHint, idempotentHint); search_companies (destructiveHint, idempotentHint); find_related_companies (destructiveHint, idempotentHint); …
  • pass
    tools.token_costabout 2,354 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 6 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

9 tools, about 2,354 tokens to load them all · tool set f9bf31033942 · tools last changed 2026-10-15 · checked 2026-10-20 12:45 UTC

Tool changes

  • searchchangeddescription, input schemameaning changed
    before

    Search Swedish companies by name or organisationsnummer (10 or 12 digits, dashes allowed). Returns up to 10 results, each with an id to pass to fetch and a citable URL. Free (Basic identity only).

    after · 33% of words in common

    Search Swedish companies by name or organisationsnummer (10 or 12 digits, dashes allowed). Also accepts simple discovery such as 'restaurants in Trelleborg', 'construction companies in Malmö', 'IT companies in Lund', or 'companies in Trelleborg' (also Swedish 'restauranger i Malmö'). Industries resolve through official English/Swedish SNI descriptions and business aliases, e.g. 'computer repair'/'datorreparation' and 'dining'/'restaurangverksamhet'. Known counties such as Skåne and explicit municipality names use registered administrative geography. Unrecognized or ambiguous wording falls back to name search. Locality is the registered locality, not nearby workplaces. Signal-filtered discovery is refused in free search; use paid find_distress_signals for a known company. Returns up to 10 results, each with an id to pass to fetch and a citable URL. Free (Basic identity only).

  • search_companieschangedinput schema
  • fetchadded

    Fetch the register identity of one Swedish company by the id that search returned (its organisationsnummer): name, legal form, industry (SNI), registration date, municipality, status, sources and freshness. Free (Basic). Verified and Intelligence (VAT/F-tax, history, annual reports, signals) are paid via get_company.

  • searchadded

    Search Swedish companies by name or organisationsnummer (10 or 12 digits, dashes allowed). Returns up to 10 results, each with an id to pass to fetch and a citable URL. Free (Basic identity only).

  • find_distress_signalschangeddescription, input schemameaning changed
    before

    Find active distress and anomaly signals for a company. Signals are deterministically derived from observable facts — no AI scores. Signal types include: employee_count_decline (≥10% workforce reduction), stale_data (no observations in ≥90 days). Each signal includes severity, evidence, and detected_at.

    after · 31% of words in common

    Find active warning signals for a company. Signals are deterministic rules over register facts and filed annual reports — no AI scores. Examples: vat_registration_lost, f_tax_lost, employee_band_decline, liquidation_in_progress, bankruptcy_proceeding, revenue_decline_yoy, negative_equity. Each signal includes its rule, severity (low, medium, high), supporting facts and detected_at.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-6d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://www.milquery.com/api/mcp?src=registry streamable-httpnoneyes100%374 ms2025-06-182026-10-20

Tools (9)

batch_get_companiesread-onlyResolve up to 50 companies in one call. Every requested identifier appears in the result with an explicit status (resolved, not_found or invalid_organisation_number), so absence is never signalled by omission.
fetchread-onlyFetch the register identity of one Swedish company by the id that search returned (its organisationsnummer): name, legal form, industry (SNI), registration date, municipality, status, sources and freshness. Free (Basic). Verified and Intelligence (VAT/F-tax, history, annual reports, signals) are paid via get_company.
find_distress_signalsread-onlyFind active warning signals for a company. Signals are deterministic rules over register facts and filed annual reports — no AI scores. Examples: vat_registration_lost, f_tax_lost, employee_band_decline, liquidation_in_progress, bankruptcy_proceeding, revenue_decline_yoy, negative_equity. Each signal includes its rule, severity (low, medium, high), supporting facts and detected_at.
find_related_companiesread-onlyFind companies related to the given company by evidence MIL holds: industry_cluster (same SNI classification) and address_cluster (same registered postal code). Relation types MIL has no source data for, such as board_member and ownership, are reported as unavailable with a reason rather than as an empty result.
get_companyread-onlyRetrieve machine-readable intelligence for a Swedish company by organisation number. Returns current attribute values, resolved knowledge, signals, events, provenance, and data freshness. All values include confidence and source evidence. Unknown or missing data is returned explicitly — never invented.
get_company_historyread-onlyRetrieve the change history for a Swedish company — attribute_changed events showing when values were first observed and what changed. Optionally filter by attribute key. Returns temporal bounds (effective_from) and evidence for each event.
searchread-onlySearch Swedish companies by name or organisationsnummer (10 or 12 digits, dashes allowed). Also accepts simple discovery such as 'restaurants in Trelleborg', 'construction companies in Malmö', 'IT companies in Lund', or 'companies in Trelleborg' (also Swedish 'restauranger i Malmö'). Industries resolve through official English/Swedish SNI descriptions and business aliases, e.g. 'computer repair'/'datorreparation' and 'dining'/'restaurangverksamhet'. Known counties such as Skåne and explicit municipality names use registered administrative geography. Unrecognized or ambiguous wording falls back to name search. Locality is the registered locality, not nearby workplaces. Signal-filtered discovery is refused in free search; use paid find_distress_signals for a known company. Returns up to 10 results, each with an id to pass to fetch and a citable URL. Free (Basic identity only).
search_companiesread-onlySearch and discover Swedish companies without knowing their organisation number. Filter by company name (partial match), industry code, or presence of active distress signals. Returns compact summary cards — each card includes the organisation_number needed to call get_company for full intelligence. All parameters are optional; omit all to browse all companies in the dataset. Discovery flow: (1) call search_companies to find a company, (2) use the returned organisation_number to call get_company for full intelligence.
search_company_eventsread-onlySearch for company attribute change events across companies. Use this to find companies where a specific attribute recently changed, or to monitor for changes in a particular dimension (e.g. employee count drops). Returns events with company identifiers, previous/new values, and temporal bounds.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.lordfreez-ship-it/mil",
  "title": "MIL — Machine Intelligence Layer",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://www.milquery.com/api/mcp?src=registry",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "description": "Optional: 'Bearer <MIL API key>' for a Stripe card account. Without it, Basic is free and paid tools are bought per call with x402 (USDC on Base)."
        }
      ]
    }
  ],
  "version": "0.4.2",
  "repository": {
    "url": "https://github.com/lordfreez-ship-it/mil-swedish-company-data",
    "source": "github"
  },
  "websiteUrl": "https://www.milquery.com",
  "description": "Swedish company data (Bolagsverket, SCB) for AI agents, verified, with history and annual reports"
}