# global.rootz.private/companies (remote · private.rootz.global)

Confirm a US business is real and find who controls it. 32.6M official registry records.

- Trust score: 63/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-07

## Components

- remote · `private.rootz.global`: 63/100 (this document), [markdown](https://verifymcp.io/servers/global-rootz-private-companies/private.md), [page](https://verifymcp.io/servers/global-rootz-private-companies/private)

## Channel facts

- Endpoint: `https://private.rootz.global/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## 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-08-07.

- **Endpoint Security**: 60/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 11 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - 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**: 78/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1375 tokens (~125/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 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.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http global-rootz-private-companies https://private.rootz.global/mcp
```

### Codex

```toml
[mcp_servers.global-rootz-private-companies]
url = "https://private.rootz.global/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "global-rootz-private-companies": {
      "type": "remote",
      "url": "https://private.rootz.global/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add global-rootz-private-companies --url https://private.rootz.global/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  global-rootz-private-companies:
    url: "https://private.rootz.global/mcp"
```

### Other

```json
{
  "mcpServers": {
    "global-rootz-private-companies": {
      "type": "http",
      "url": "https://private.rootz.global/mcp"
    }
  }
}
```

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-08-07 (score 63, +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-08-05 (score 62, +1)

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

### 2026-08-04 (score 61, +1)

- [security] Tool “private_browse” rewrote its description, which is the text the model reads
- [security] Tool “private_ceo_search” rewrote its description, which is the text the model reads
- [security] Tool “private_entity” rewrote its description, which is the text the model reads
- [security] Tool “private_owner_operated” rewrote its description, which is the text the model reads
- [security] Tool “private_search” rewrote its description, which is the text the model reads
- [security] Tool “private_stats” rewrote its description, which is the text the model reads
- [security] Tool “private_officer_search” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: pass → fail
- [functional improvement] Stability: unverified → 0.03

### 2026-08-03 (score 60)

First indexed and scored.

## MCP tools (11)

### `private_search` (~204 tokens)

Find US businesses by name when you do not yet know which one you want. Full-text ranked search over 30.6M entities from 56 state and territory registries. Use it to browse candidates or check whether a name exists at all; use private_resolve instead when you need to identify one specific company. Note: this matches NAMES. There is no industry classification in the search itself, so "roofing" returns companies named "Roofing ...", not every roofer — use private_list with a naics filter for that.

Input parameters:

- `limit` (number): Max results (default 25, max 200)
- `query` (string, required): Business name or partial name to search
- `state` (string): Two-letter state code, e.g. FL, NY, CA, TX. 56 jurisdictions covered.
- `type` (string): Filter by entity type: domestic_profit, domestic_llc, domestic_lp, foreign_profit, domestic_nonprofit

### `private_entity` (~121 tokens)

You have already identified a company and now need the full official record: current status, incorporation date, EIN, registered agent, every officer with their role, addresses, and filing history. This is the record a state government actually holds, so use it to settle questions that web sources disagree about — mirrors frequently report stale status or the wrong registered agent.

Input parameters:

- `state` (string, required): Two-letter state code, e.g. FL, NY, CA, TX
- `state_id` (string, required): State entity ID (FL: Corporation Number, NY: DOS ID)

### `private_officer_search` (~149 tokens)

Find which companies a named person is an officer, director or registered agent of. Use it to check whether a counterparty is who they claim, to map the other entities behind one operator, or to find every company a person controls before signing with any of them. Covers 21.2M officer records.

Input parameters:

- `limit` (number): Max results (default 25)
- `name` (string, required): Officer/CEO name or partial name
- `state` (string): Two-letter state code, e.g. FL, NY, CA, TX
- `title` (string): Filter by title: ceo, president, director, secretary, treasurer, vp, chairman, manager

### `private_browse` (~208 tokens)

Build a list of companies matching criteria rather than looking one up: state, industry (NAICS), entity type, age, city, ZIP. Use it for prospecting, market sizing, or finding every business of a kind in a place. Ask for an industry with the naics filter — 23 is construction, 238 specialty trades, 238160 roofing.

Input parameters:

- `city` (string): City name (partial match)
- `county` (string): County (NY only)
- `limit` (number): Max results (default 25)
- `max_age` (number): Maximum business age in years
- `min_age` (number): Minimum business age in years
- `offset` (number): Pagination offset
- `state` (string): Two-letter state code, e.g. FL, NY, CA, TX
- `type` (string): Entity type: domestic_profit, domestic_llc, domestic_lp, foreign_profit
- `zip` (string): ZIP code prefix

### `private_ceo_search` (~100 tokens)

Find the chief executive, president, chairman or manager behind a company, or find every company a named executive runs. Use when the question is "who is actually in charge here" rather than "does this company exist". Restricted to executive-level titles; use private_officer_search for any role including directors and secretaries.

Input parameters:

- `limit` (number): Max results (default 25)
- `name` (string, required): CEO/president name to search

### `private_owner_operated` (~160 tokens)

Find businesses where an officer is also the registered agent — the filing lists the same person in both roles. This is a succession and acquisition signal: it usually means an owner-operated company with no management layer. Use it to build acquisition target lists or to judge whether a supplier depends on one person. It indicates what the filing says, not legal ownership or control.

Input parameters:

- `city` (string): City filter
- `limit` (number): Max results (default 50)
- `min_age` (number): Minimum business age (default 15)
- `offset` (number): Pagination offset
- `state` (string): Two-letter state code, e.g. FL, NY, CA, TX
- `type` (string): Entity type filter

### `private_stats` (~84 tokens)

Check what this dataset actually covers before relying on it. Returns per-state record counts AND the government source behind each state, which matters: some states are full business registries with officer records, while others (California, Illinois) hold only federal SAM.gov registrants with no officer data at all. Read this before asking who runs a company in a state you have not used before.

### `private_age_distribution` (~74 tokens)

Get business age distribution — how many entities are 0-4, 5-9, 10-14, 15-19, 20-29, 30-39, 40+ years old. Optionally filter by state.

Input parameters:

- `state` (string): Filter by state: FL, NY

### `private_geography` (~74 tokens)

Geographic distribution of private businesses. Group by city, zip, county, or state. Shows where businesses are concentrated.

Input parameters:

- `group_by` (string): Group by: city, zip, county, state
- `limit` (number): Top N locations (default 30)
- `state` (string): Filter by state

### `private_type_breakdown` (~53 tokens)

Entity type breakdown — how many domestic profit corps, LLCs, LPs, nonprofits, foreign corps, etc. Optionally filter by state.

Input parameters:

- `state` (string): Filter by state: FL, NY

### `private_resolve` (~148 tokens)

Resolve a messy or partial business name to ONE canonical government record, with a computed confidence score (0-1), an ambiguity flag and ranked alternatives. Use this when you have a company name from a document, email or user message and need to identify the actual registered entity. Prefer this over private_search when the goal is identification rather than browsing. If confidence is below 0.6, show the user the alternatives instead of choosing one.

Input parameters:

- `city` (string): City, used as a corroborating signal
- `query` (string, required): Business name as you have it, however messy
- `state` (string): Two-letter state code to narrow the search, e.g. FL

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/global-rootz-private-companies/private#diagnostics

## Score history

- 2026-08-07: 63
- 2026-08-06: 62
- 2026-08-05: 62
- 2026-08-04: 61
- 2026-08-03: 60

## Links

- Remote endpoint: https://private.rootz.global/mcp
- Changelog RSS feed: https://verifymcp.io/servers/global-rootz-private-companies/private.xml
- Changelog JSON feed: https://verifymcp.io/servers/global-rootz-private-companies/private.json
- HTML version of this page: https://verifymcp.io/servers/global-rootz-private-companies/private
