sos-entities — state business-entity registries in one normalised shape (fleet #2867).
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add mcp-sos-entities -- npx -y @pipeworx/mcp-sos-entities{
"mcpServers": {
"mcp-sos-entities": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-sos-entities"]
}
}
}MCP Servers overview
# @pipeworx/sos-entities
US state business-entity registries (Secretary of State) in one normalised shape. It covers Florida, New York, Colorado, Oregon, Connecticut and Pennsylvania, plus Texas through the Comptroller's franchise-tax registrations. A record gives the entity number, legal name, type, status, formation date, principal address and registered agent, with officers given as names and roles where the state publishes them. A formation feed lists new entities in a state since a given date. Keyless.
Part of [Pipeworx](https://pipeworx.io) — an MCP gateway connecting AI agents to 1855+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.
## Tools
- `sos_search(name, state?, status?, limit?)`: finds entities by company name. It matches names that start with the query, and retries as a contains-match when nothing starts with it. Leave out `state` to search all seven states at once. Each state reports its own `count`, `match` and `data_as_of`. A state whose registry failed to answer appears in `state_errors`, and `complete` is then false.
- `sos_entity(state, entity_number)`: returns the full record for one entity, including `officers: [{name, role}]` where the state publishes them. Florida gives up to six officers, Connecticut its principals, Pennsylvania all listed parties, New York the chairman or CEO, and Oregon the authorized representative. Colorado and Texas publish no officers. `found: false` only means the registry answered and has no such number.
- `sos_new_entities(state, since, name_query?, entity_type?, limit?)`: lists entities formed from `since` through today, newest first, ordered by formation date and then entity number. Future-dated (delayed-effective) filings are left out. Florida reaches back 70 days; the other states reach any date. This is the feed for new-business lists and formation monitoring.
## Auth
Keyless.
## Personal data
Bruce ruled on 2026-10-08 (decision PD, "names-and-roles") that officer, director, manager and agent names are served with their roles and source. Addresses of individuals are never served and never fetched:
- Every Socrata query names its columns.
- A person's address column is either left out of the query entirely, or wrapped in a SoQL `case()` that returns null unless the holder is a business.
- A registered agent's address appears only when the agent is a business.
Florida's ingest drops officer addresses at parse time. It also keeps an agent's address only when the agent is flagged as an entity **and** is named like one: about 37% of agents Florida flags as entities are people.
Removal requests go to hello@pipeworx.io. Names are withheld through `src/removals.ts`, which applies to every state.
## Data sources
- NY: <https://data.ny.gov/d/n9v6-gdp6>. Department of State Active Corporations. Lists active entities only.
- CO: <https://data.colorado.gov/d/4ykn-tg5h>. Secretary of State Business Entities in Colorado. Covers all statuses.
- OR: <https://data.oregon.gov/d/tckn-sxa6>. Corporation Division Active Businesses. It has one row per associated name (place of business, mailing address, registered agent, authorized representative), and the pack groups the rows by `registry_number`.
- CT: <https://data.ct.gov/d/n7gp-d28j> (Business Master), <https://data.ct.gov/d/ka36-64k6> (Principals) and <https://data.ct.gov/d/qh2m-n44y> (Agents), joined on the internal `business_id`. The public entity number is `accountnumber`.
- TX: <https://data.texas.gov/d/9cir-efmm>. Comptroller Active Franchise Taxpayers. This is not the Texas SOS registry, which is a paid service. The type, status and right-to-transact codes come from the dataset's attached "Franchise Layout.docx".
- PA: <https://data.pa.gov/d/xvd7-5r2c>. Department of State Registered Businesses in PA. It has one row per party, and its address is the business's registered address. The search portal at file.dos.pa.gov answers automated clients with HTTP 999 "Security Check". This open-data dataset is the route a Worker can reach.
- FL: the Florida Division of Corporations' public SFTP server, `sftp.floridados.gov`. The user `Public` and its password are posted by the Division on <https://dos.fl.gov/sunbiz/other-services/data-downloads/>. It serves a quarterly full file `doc/Quarterly/Cor/cordata.zip` (about 1.8 GB, Deflate64, about 13.0M records) and daily files `doc/cor/YYYYMMDDc.txt`. Records are 1,440-byte fixed-width; the layout is in `scripts/sos-entities/ingest_fl.py`.
### Florida is not a live call
Sunbiz search gives automated clients a JavaScript challenge. Florida's per-entity data is published only as SFTP files, and a Worker cannot use SFTP. `scripts/sos-entities/ingest_fl.py`, run by `.github/workflows/sos-entities-fl-refresh.yml` (daily filing files, plus a weekly full build), parses those files into the gateway's dataset bucket. The pack range-reads one gzipped chunk per lookup. Daily files newer than the full build are overlaid, so a new filing is searchable the day Florida publishes it. Florida responses carry `data_as_of`, the latest daily file date. Without the gateway's dataset binding (a bare npm install), Florida calls raise an error that says so; the other six states still work.
Design note: `docs/sos-entities-design.md`.
### Gotchas
- data.ny.gov returns HTTP 414 once a URL passes about 8 KB. The business-name test is repeated once per address in the `$select`, so the pattern list is kept short and each address is fetched as one `|`-joined column.
- Florida's formation date can be a future effective date. Colorado and Texas also carry dates in late 2026. `sos_new_entities` stops at today.
- NY, OR and PA publish active entities only. `status: "inactive"` for those states returns a `state_notes` entry, not an empty result.
- Florida person names are fixed-width: last (20), first (14), middle initial (1), suffix (7). A lone letter in the suffix slot is a middle initial typed into the wrong field.
## Quick Start
Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):
```json
{
"mcpServers": {
"sos-entities": {
"url": "https://gateway.pipeworx.io/sos-entities/mcp"
}
}
}
```
### What this endpoint actually serves
`tools/list` at `https://gateway.pipeworx.io/sos-entities/mcp` returns the tools in the table
above **plus the shared Pipeworx meta-tools** — `ask_pipeworx`,
`discover_tools`, `search_within`, `remember`/`recall` and the rest of the
gateway-wide set. So the tool count you see is larger than this table: a
single-pack endpoint currently lists roughly 30 shared tools alongside the
pack's own. The connection's `initialize` response states its exact scope, and
is the authoritative answer for a given day.
This is deliberate, not multiplexing by accident. The meta-tools are what let a
scoped connection answer a question this pack does not cover — via
`ask_pipeworx`, which routes across the whole catalog — without you adding a
second MCP server. There is currently no way to mount a pack endpoint without
them; if the extra schemas cost you more context than the routing is worth,
connect to the full gateway once rather than to several pack endpoints.
Or connect to the full Pipeworx gateway to get every pack's tools listed
directly, instead of just this one's:
```json
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
```
Both URLs reach the same gateway and the same 1855+ data sources. The
only difference is which pack's tools are listed **directly**; `ask_pipeworx`
reaches all of them from either one.
## No MCP client? Call it over HTTP
```bash
curl -X POST https://gateway.pipeworx.io/v1/tools/sos_search \
-H 'Content-Type: application/json' \
-d '{"name":"Goldman Sachs & Co","state":"NY","limit":3}'
```
No account needed for the first calls. Inspect any tool: `GET https://gateway.pipeworx.io/v1/tools/sos_search`. Find one: `POST https://gateway.pipeworx.io/v1/tools/search_packs` with `{"query":"..."}`.
## Standalone (no gateway account)
This package also runs as a local stdio MCP server — no Pipeworx account, no
gateway round-trip:
```json
{
"mcpServers": {
"sos-entities": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-sos-entities"]
}
}
}
```
Or run it directly to confirm it starts:
```bash
npx -y @pipeworx/mcp-sos-entities
```
It speaks MCP over stdin/stdout and answers `initialize`/`tools/list`/`tools/call`
for **only** this pack's tools — none of the shared meta-tools the gateway
connection above adds. Same source, same tools, no ask_pipeworx routing.
## Using with ask_pipeworx
Instead of calling tools directly, you can ask questions in plain English —
this works on the pack endpoint above as well as on the full gateway:
```
ask_pipeworx({ question: "your question about Sos Entities data" })
```
The gateway picks the right tool and fills the arguments automatically.
## More
- [Docs and guides](https://pipeworx.io/docs)
- [pipeworx.io](https://pipeworx.io)
## License
MIT
What people ask about mcp-sos-entities
What is pipeworx-io/mcp-sos-entities?
+
pipeworx-io/mcp-sos-entities is mcp servers for the Claude AI ecosystem. sos-entities — state business-entity registries in one normalised shape (fleet #2867). It has 0 GitHub stars and its last recorded update is dated 2026-10-21.
How do I install mcp-sos-entities?
+
You can install mcp-sos-entities by cloning the repository (https://github.com/pipeworx-io/mcp-sos-entities) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is pipeworx-io/mcp-sos-entities safe to use?
+
Our security agent has analyzed pipeworx-io/mcp-sos-entities and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains pipeworx-io/mcp-sos-entities?
+
pipeworx-io/mcp-sos-entities is maintained by pipeworx-io. The last recorded GitHub activity is dated 2026-10-21, with 0 open issues.
Are there alternatives to mcp-sos-entities?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy mcp-sos-entities to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/pipeworx-io-mcp-sos-entities)<a href="https://claudewave.com/repo/pipeworx-io-mcp-sos-entities"><img src="https://claudewave.com/api/badge/pipeworx-io-mcp-sos-entities" alt="Featured on ClaudeWave: pipeworx-io/mcp-sos-entities" width="320" height="64" /></a>More MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev