_ registry / mcp streamable-http · checked 50m ago

mil

https://www.milquery.com

Registry code: 35c2568cdffe94c6

api record

MIL provides verified, provenance-backed intelligence on Swedish companies. If you do not have an organisation number, call search_companies first (filter by name or industry_code), then call get_company with a returned organisation_number. Products: tier basic (free identity, fair-use limited), verified (0.02 USDC/company) and intelligence (0.08 USDC/company), paid with x402 v2 on Base when payment is enforced: an unpaid call returns the x402 PaymentRequired; retry with params._meta['x402/payment']. Unknown data is returned explicitly as unknown — never invented.

endpoint
https://www.milquery.com/api/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is mil live?
Yes — it answered the hub's last check (checked 50m ago). It answered 100% of checks over the last 30 days.
Is mil free to use?
Partly — some of its tools are open, others need a key or payment.
What tools does mil have?
9 tools: get_company, get_company_history, find_distress_signals, find_related_companies, search, fetch, batch_get_companies, search_companies, ….
Is mil safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
288ms

last good check

priced tools
1

of 9 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 9 tools
1 paid1 open 7 never probed 2 of 9 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • search_company_events 1.76 USDC paid 50m ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 50,
          "maximum": 200,
          "minimum": 1,
          "description": "Maximum number of events to return (default 50, max 200)"
        },
        "event_type": {
          "enum": [
            "attribute_changed"
          ],
          "type": "string",
          "default": "attribute_changed",
          "description": "Event type filter (currently only 'attribute_changed' is supported)"
        },
        "attribute_key": {
          "type": "string",
          "description": "Attribute to filter by (e.g. 'employee_count', 'legal_form', 'industry_code')"
        }
      }
    }
    arguments 25 lines
  • search_companies open 50m ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [],
      "properties": {
        "name": {
          "type": "string",
          "description": "Partial company name to search (case-insensitive substring match on legal name)"
        },
        "limit": {
          "type": "integer",
          "default": 20,
          "maximum": 100,
          "minimum": 1,
          "description": "Maximum number of companies to return (default 20, max 100)"
        },
        "locality": {
          "type": "string",
          "description": "Registered locality, combined with ANY matching SNI"
        },
        "has_signals": {
          "type": "boolean",
          "description": "If true, return only companies with active distress signals. If false, return only companies without. Omit to return all."
        },
        "industry_code": {
          "type": "string",
          "description": "Swedish SNI industry code to filter by (exact match, e.g. '62010' for software development)"
        },
        "organisation_number": {
          "type": "string",
          "description": "Canonical 10-digit or source 12-digit company identity"
        }
      }
    }
    arguments 33 lines
  • get_company unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "organisation_number"
      ],
      "properties": {
        "tier": {
          "enum": [
            "basic",
            "verified",
            "intelligence"
          ],
          "type": "string",
          "description": "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, material events, annual-report financials, trends and deterministic signals. Paid tiers use x402 v2 on Base when payment is enforced: an unpaid call returns the PaymentRequired; retry with params._meta['x402/payment']. Omitted: basic while payment is enforced, the legacy untiered response in the free preview."
        },
        "organisation_number": {
          "type": "string",
          "pattern": "^\\d{10,12}$",
          "description": "Swedish organisation number (10 or 12 digits, e.g. '5560000000' or '165560000000')"
        }
      }
    }
    arguments 22 lines
  • get_company_history unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "organisation_number"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 50,
          "maximum": 200,
          "minimum": 1,
          "description": "Maximum number of events to return (default 50, max 200)"
        },
        "attribute_key": {
          "type": "string",
          "description": "Optional: filter to events for a specific attribute (e.g. 'employee_count', 'legal_form')"
        },
        "organisation_number": {
          "type": "string",
          "pattern": "^\\d{10,12}$",
          "description": "Swedish organisation number (10 or 12 digits)"
        }
      }
    }
    arguments 24 lines
  • find_distress_signals unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "organisation_number"
      ],
      "properties": {
        "severity": {
          "enum": [
            "low",
            "medium",
            "high"
          ],
          "type": "string",
          "description": "Optional: filter by severity level"
        },
        "signal_type": {
          "enum": [
            "asset_decline",
            "bankruptcy_proceeding",
            "company_deregistered",
            "company_inactive",
            "employee_band_decline",
            "employer_registration_lost",
            "equity_decline",
            "f_tax_lost",
            "financial_reporting_gap",
            "liability_growth",
            "liquidation_in_progress",
            "merger_in_progress",
            "multiple_material_changes_90d",
            "negative_equity",
            "operating_result_negative",
            "profit_negative",
            "recent_status_change",
            "repeated_address_changes",
            "repeated_losses",
            "repeated_operating_losses",
            "restructuring_in_progress",
            "revenue_decline_2y",
            "revenue_decline_yoy",
            "turnover_band_decline",
            "vat_registration_lost",
            "workplace_count_decline"
          ],
          "type": "string",
          "description": "Optional: filter to a specific signal type"
        },
        "organisation_number": {
          "type": "string",
          "pattern": "^\\d{10,12}$",
          "description": "Swedish organisation number (10 or 12 digits)"
        }
      }
    }
    arguments 54 lines
  • find_related_companies unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "organisation_number"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 10,
          "maximum": 50,
          "minimum": 1,
          "description": "Maximum results (default 10, max 50)"
        },
        "relation_type": {
          "enum": [
            "industry_cluster",
            "address_cluster",
            "board_member",
            "ownership"
          ],
          "type": "string",
          "description": "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."
        },
        "organisation_number": {
          "type": "string",
          "pattern": "^\\d{10,12}$",
          "description": "Swedish organisation number (10 or 12 digits)"
        }
      }
    }
    arguments 30 lines
  • search unknown never probed

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

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "query": {
          "type": "string",
          "description": "Company name, or organisationsnummer such as 556012-5790"
        }
      }
    }
    arguments 12 lines
  • fetch unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "An id from search: the organisationsnummer"
        }
      }
    }
    arguments 12 lines
  • batch_get_companies unknown 50m ago

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "organisation_numbers"
      ],
      "properties": {
        "tier": {
          "enum": [
            "basic",
            "verified",
            "intelligence"
          ],
          "type": "string",
          "description": "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, material events, annual-report financials, trends and deterministic signals. Paid tiers use x402 v2 on Base when payment is enforced: an unpaid call returns the PaymentRequired; retry with params._meta['x402/payment']. Omitted: basic while payment is enforced, the legacy untiered response in the free preview."
        },
        "organisation_numbers": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^\\d{10,12}$"
          },
          "maxItems": 50,
          "minItems": 1,
          "description": "Swedish organisation numbers (10 or 12 digits), max 50"
        }
      }
    }
    arguments 27 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 35c2568cdffe94c6.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/35c2568cdffe94c6/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/35c2568cdffe94c6/badge.svg)](https://brick.blue/agent/35c2568cdffe94c6?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.