# MIL — Machine Intelligence Layer (remote · www.milquery.com)

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

- Trust score: 76/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-23

## Components

- remote · `www.milquery.com`: 76/100 (this document), [markdown](https://verifymcp.io/servers/lordfreez-ship-it-mil/api-mcp.md), [page](https://verifymcp.io/servers/lordfreez-ship-it-mil/api-mcp)

## Channel facts

- Endpoint: `https://www.milquery.com/api/mcp?src=registry`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.4.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-23.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1602 tokens (~178/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (22% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 9 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the MIL — Machine Intelligence Layer MCP server?

MIL — Machine Intelligence Layer is a hosted endpoint at https://www.milquery.com/api/mcp?src=registry, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http lordfreez-ship-it-mil 'https://www.milquery.com/api/mcp?src=registry'
```

### Cursor

```json
{
  "mcpServers": {
    "lordfreez-ship-it-mil": {
      "url": "https://www.milquery.com/api/mcp?src=registry"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "lordfreez-ship-it-mil": {
      "type": "http",
      "url": "https://www.milquery.com/api/mcp?src=registry"
    }
  }
}
```

### Codex

```toml
[mcp_servers.lordfreez-ship-it-mil]
url = "https://www.milquery.com/api/mcp?src=registry"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "lordfreez-ship-it-mil": {
      "type": "remote",
      "url": "https://www.milquery.com/api/mcp?src=registry",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add lordfreez-ship-it-mil --url 'https://www.milquery.com/api/mcp?src=registry' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  lordfreez-ship-it-mil:
    url: "https://www.milquery.com/api/mcp?src=registry"
```

### Netclaw

```json
{
  "McpServers": {
    "lordfreez-ship-it-mil": {
      "Transport": "http",
      "Url": "https://www.milquery.com/api/mcp?src=registry"
    }
  }
}
```

### Vellum

```bash
assistant mcp add lordfreez-ship-it-mil -t streamable-http -u 'https://www.milquery.com/api/mcp?src=registry'
```

### Other

```json
{
  "mcpServers": {
    "lordfreez-ship-it-mil": {
      "type": "http",
      "url": "https://www.milquery.com/api/mcp?src=registry"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-22 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-20 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-18 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-16 (score 73, 0)

- [security] Tool “search” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 160 → 178
- [cosmetic] “search” reworded the description of “query”
- [cosmetic] “search_companies” reworded the description of “industry_code”

### 2026-10-15 (score 73, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-14 (score 72)

First indexed and scored.

## MCP tools (9)

### `get_company` (~205 tokens)

Retrieve 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.

Input parameters:

- `organisation_number` (string, required): Swedish organisation number (10 or 12 digits, e.g. '5560000000' or '165560000000')
- `tier` (string): Product tier. basic (free, fair-use limited): identity. verified (0.02 USDC/company): current state with per-value verification and provenance. intelligence (0.08 USDC/company): verified plus history…

### `get_company_history` (~117 tokens)

Retrieve 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.

Input parameters:

- `attribute_key` (string): Optional: filter to events for a specific attribute (e.g. 'employee_count', 'legal_form')
- `limit` (integer): Maximum number of events to return (default 50, max 200)
- `organisation_number` (string, required): Swedish organisation number (10 or 12 digits)

### `find_distress_signals` (~137 tokens)

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.

Input parameters:

- `organisation_number` (string, required): Swedish organisation number (10 or 12 digits)
- `severity` (string): Optional: filter by severity level
- `signal_type` (string): Optional: filter to a specific signal type

### `search_company_events` (~129 tokens)

Search 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.

Input parameters:

- `attribute_key` (string): Attribute to filter by (e.g. 'employee_count', 'legal_form', 'industry_code')
- `event_type` (string): Event type filter (currently only 'attribute_changed' is supported)
- `limit` (integer): Maximum number of events to return (default 50, max 200)

### `search_companies` (~247 tokens)

Search 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.

Input parameters:

- `has_signals` (boolean): If true, return only companies with active distress signals. If false, return only companies without. Omit to return all.
- `industry_code` (string): Swedish SNI numeric prefix (2–5 digits), matching any registered activity; e.g. '62' for IT
- `limit` (integer): Maximum number of companies to return (default 20, max 100)
- `locality` (string): Registered locality, combined with ANY matching SNI
- `name` (string): Partial company name to search (case-insensitive substring match on legal name)
- `organisation_number` (string): Canonical 10-digit or source 12-digit company identity

### `find_related_companies` (~141 tokens)

Find 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.

Input parameters:

- `limit` (integer): Maximum results (default 10, max 50)
- `organisation_number` (string, required): Swedish organisation number (10 or 12 digits)
- `relation_type` (string): Relation to search for. industry_cluster and address_cluster are supported; board_member and ownership return an explicit unavailable status because MIL does not yet ingest that data.

### `batch_get_companies` (~187 tokens)

Resolve 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.

Input parameters:

- `organisation_numbers` (array, required): Swedish organisation numbers (10 or 12 digits), max 50
- `tier` (string): Product tier. basic (free, fair-use limited): identity. verified (0.02 USDC/company): current state with per-value verification and provenance. intelligence (0.08 USDC/company): verified plus history…

### `search` (~231 tokens)

Search Swedish companies

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).

Input parameters:

- `query` (string, required): Company name, organisationsnummer such as 556012-5790, or simple discovery such as restaurants in Trelleborg

Output parameters:

- `results` (array)

### `fetch` (~87 tokens)

Fetch a Swedish company

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.

Input parameters:

- `id` (string, required): An id from search: the organisationsnummer

Output parameters:

- `id` (string)
- `metadata` (object)
- `text` (string)
- `title` (string)
- `url` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/lordfreez-ship-it-mil/api-mcp#diagnostics

## Score history

- 2026-10-23: 76
- 2026-10-22: 76
- 2026-10-21: 75
- 2026-10-20: 75
- 2026-10-19: 74
- 2026-10-18: 74
- 2026-10-17: 73
- 2026-10-16: 73
- 2026-10-15: 73
- 2026-10-14: 72

## Common questions

### What is the MIL — Machine Intelligence Layer MCP server?

MIL — Machine Intelligence Layer is an MCP server listed in the public MCP registry as io.github.lordfreez-ship-it/mil. Swedish company data (Bolagsverket, SCB) for AI agents, verified, with history and annual reports. This page covers its hosted endpoint (https://www.milquery.com/api/mcp?src=registry).

### Is the MIL — Machine Intelligence Layer MCP server safe to use?

MIL — Machine Intelligence Layer scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the MIL — Machine Intelligence Layer MCP server expose?

MIL — Machine Intelligence Layer exposes 9 tools: get_company, get_company_history, find_distress_signals, search_company_events, search_companies, and 4 more. Their descriptions and schemas cost roughly 1,481 tokens of context every time the server is loaded.

### Does the MIL — Machine Intelligence Layer MCP server require authentication?

No. We connected to MIL — Machine Intelligence Layer without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the MIL — Machine Intelligence Layer MCP server still maintained?

MIL — Machine Intelligence Layer is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://www.milquery.com/api/mcp?src=registry
- Repository: https://github.com/lordfreez-ship-it/mil-swedish-company-data
- Website: https://www.milquery.com/
- Changelog RSS feed: https://verifymcp.io/servers/lordfreez-ship-it-mil/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/lordfreez-ship-it-mil/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/lordfreez-ship-it-mil/api-mcp
