Search 128 million official company registrations across every US state, DC, Puerto Rico and Canada.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
What Netstate is, its pricing plans, API endpoints, FAQ and usage restrictions. Call this to learn what the site offers before using the data tools.
This tool takes no arguments.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
What Netstate is, its pricing plans, API endpoints, FAQ and usage restrictions. Call this to learn what the site offers before using the data tools.
No arguments.
{
"type": "object",
"properties": {}
}The taxonomy for building queries: countries with regions (and cities when a country+region is given), industries, statuses, and total company count. Call this first to find valid slugs for the other tools.
| Argument | Type | Description |
|---|---|---|
| region | string | Also list the cities of this region (requires country) |
| country | string | Limit to one country slug |
{
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "Also list the cities of this region (requires country)"
},
"country": {
"type": "string",
"description": "Limit to one country slug"
}
}
}Self-register as an agent and receive a working Netstate API key in the response — no human step. The key authenticates the REST API at /v1: send it as the x-api-key header. Search and taxonomy are free; premium endpoints (e.g. court records) spend 1 credit per company and need a paid plan (from $15/mo, see /pricing) — new keys start with no credits. Idempotent per email: registering the same email again returns a fresh key.
| Argument | Type | Description |
|---|---|---|
| email* | string | Contact email for the agent's account |
| agent_name | string | A name identifying your agent (optional, for your own reference) |
{
"type": "object",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "Contact email for the agent's account"
},
"agent_name": {
"type": "string",
"description": "A name identifying your agent (optional, for your own reference)"
}
}
}Full-text search across 128 million registered companies in official US and Canadian state registers — by legal name, officer or director name, phone number, email or website. Contact-shaped queries (phone/email/website) resolve through the official records carrying that exact value; the response's matched_by field says which channel matched. Filters mirror the website's facet rail; the response carries up to 25 matching profiles plus facet counts. Facet counts describe every name match (not just the filtered set), so they show which filter values would widen or narrow the search. Records are for human review — not for automated decisions covered by the FCRA.
| Argument | Type | Description |
|---|---|---|
| has | array | Only companies with this data on file (multi-select) |
| sort | string | Result order |
| type | string | Entity type |
| year | string | Formation decade |
| naics | string | Two-digit NAICS sector |
| query* | string | Company name or name fragment, an officer/director name, or an exact phone number, email or website |
| state | string | Registration jurisdiction slug: "us-" or "ca-" plus the two-letter state/province code, e.g. "us-ca", "us-de", "ca-on" |
| status |
| string |
| Registry status |
{
"type": "object",
"required": [
"query"
],
"properties": {
"has": {
"type": "array",
"items": {
"enum": [
"officers",
"ein",
"naics",
"phone",
"email",
"website",
"revenue"
],
"type": "string"
},
"description": "Only companies with this data on file (multi-select)"
},
"sort": {
"enum": [
"relevance",
"newest",
"oldest",
"name",
"revenue"
],
"type": "string",
"description": "Result order"
},
"type": {
"enum": [
"llc",
"corporation",
"nonprofit",
"lp",
"llp",
"professional_corporation",
"professional_llc",
"other"
],
"type": "string",
"description": "Entity type"
},
"year": {
"enum": [
"2020s",
"2010s",
"2000s",
"1990s",
"1980s",
"pre-1980"
],
"type": "string",
"description": "Formation decade"
},
"naics": {
"enum": [
"11",
"21",
"22",
"23",
"31-33",
"42",
"44-45",
"48-49",
"51",
"52",
"53",
"54",
"55",
"56",
"61",
"62",
"71",
"72",
"81",
"92"
],
"type": "string",
"description": "Two-digit NAICS sector"
},
"query": {
"type": "string",
"description": "Company name or name fragment, an officer/director name, or an exact phone number, email or website"
},
"state": {
"type": "string",
"description": "Registration jurisdiction slug: \"us-\" or \"ca-\" plus the two-letter state/province code, e.g. \"us-ca\", \"us-de\", \"ca-on\""
},
"status": {
"enum": [
"active",
"inactive",
"dissolved",
"suspended",
"revoked",
"withdrawn",
"canceled",
"merged",
"expired",
"pending",
"unknown",
"other"
],
"type": "string",
"description": "Registry status"
}
}
}