Tensorust MCP server · remote, Streamable HTTP · free tier needs no key
Ask your agent who owns it, who controls it, and which rules apply.
The Tensorust Ontology MCP server gives Claude, ChatGPT, Cursor, VS Code or any MCP client the public record on who owns and controls US organizations and property. It joins county property rolls in 17 large counties, state business registries, SEC subsidiary lists, FCC licensing and ownership filings, USAC E-Rate, federal awards and the FAA aircraft registry into one graph with one identity per organization, then tells you which federal rules apply to each one, with status and evidence. It is a remote server: nothing to install or run, JSON responses, and the free tier works without a key, an account or OAuth.
878,254
organizations
48,566
control groups
1,161,075
property parcels
60,301
rule obligations evaluated
Endpoint
https://shop.tensorust.com/api/mcpTransport: Streamable HTTP (JSON-RPC over POST, JSON responses). Protocol versions 2025-06-18, 2025-03-26 and 2024-11-05. Opening the URL in a browser returns a short JSON description of the server. Listed in the official MCP Registry as com.tensorust/ontology.
Install
Claude Code
claude mcp add --transport http tensorust https://shop.tensorust.com/api/mcp
Add --scope user to have it in every project. With a key:
claude mcp add --transport http tensorust https://shop.tensorust.com/api/mcp --header "Authorization: Bearer tdk_YOUR_KEY"
Claude (claude.ai and Claude Desktop)
Open Settings, then Connectors, and choose Add custom connector. Name it Tensorust, paste the URL below and leave the OAuth fields empty.
https://shop.tensorust.com/api/mcp
Custom connectors connect without a key, which gives the free tier.
ChatGPT
In Settings, open Apps and Connectors, then Advanced settings, and turn on Developer mode. Back in Apps and Connectors, choose Create, name it Tensorust, paste the URL, set Authentication to No authentication and confirm.
https://shop.tensorust.com/api/mcp
Developer mode connectors are added by URL and use the free tier.
Cursor
Or add it to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"tensorust": {
"url": "https://shop.tensorust.com/api/mcp"
}
}
}With a key:
{
"mcpServers": {
"tensorust": {
"url": "https://shop.tensorust.com/api/mcp",
"headers": {
"Authorization": "Bearer tdk_YOUR_KEY"
}
}
}
}VS Code
Or put this in .vscode/mcp.json:
{
"servers": {
"tensorust": {
"type": "http",
"url": "https://shop.tensorust.com/api/mcp"
}
}
}From a terminal:
code --add-mcp '{"name":"tensorust","type":"http","url":"https://shop.tensorust.com/api/mcp"}'With a key (VS Code asks for it once and stores it as a secret):
{
"inputs": [
{
"type": "promptString",
"id": "tensorust-key",
"description": "Tensorust key (tdk_...)",
"password": true
}
],
"servers": {
"tensorust": {
"type": "http",
"url": "https://shop.tensorust.com/api/mcp",
"headers": {
"Authorization": "Bearer ${input:tensorust-key}"
}
}
}
}Any other client or your own code
Any client that speaks Streamable HTTP can add the URL. Without a client, call a tool directly:
curl -s https://shop.tensorust.com/api/mcp \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"who_owns_home","arguments":{"address":"2746 Lofty Elm St","zip":"77038"}}}'For full data, send Authorization: Bearer tdk_... on each request, or pass full: true and pay per call over x402 (below).
Tools
All six are read-only. Ask in plain words; the agent picks the tool.
| Tool | What it returns | Try asking |
|---|---|---|
lookup_organization | Resolves a company or organization name to its card: legal entity or control group, sources, what it owns, holds and received, and the federal rules that apply to it, with status. | “What federal rules apply to Lockheed Martin?” |
search_organizations | Searches organizations, control groups and other objects by name. Up to 15 matches with ids, types and source counts. | “Find every Nexstar entity in the Tensorust Ontology.” |
get_object | Expands any id another tool returned (org:, cg:, rule:) into its card with linked objects and properties. | “Expand org:LOCKHEED MARTIN and list its subsidiaries.” |
who_owns_home | Owner of record for a US street address and ZIP, its parent control group, how many homes the group holds and whether it counts as a large investor under the ROAD Act (350+ homes). | “Who owns 2746 Lofty Elm St, Houston 77038?” |
rule_coverage | The federal rules Tensorust models (ROAD Act investor ban, DoD SF 328 ownership disclosure, FCC foreign adversary attestation, Upper C-band election, E-Rate deadlines) and the organizations each one applies to. | “Which companies does the ROAD Act investor ban apply to?” |
aircraft_owner | Registered owner of a US turbine aircraft by N-number or owner name, whether an owner trustee holds it, the model, and its FCC radio altimeter rebate category. | “Who owns aircraft N122QS?” |
Free, pay per call, or a key
Free
$0 no key
- Every tool, in every client
- Home and aircraft lookups in full
- Organization cards with counts and the first links of each kind
- The first 25 names for each rule
Pay per call
$0.05 per object
- No key and no account: your agent pays from its own wallet
- Pass
full: true: $0.05 per full object, $0.25 per full rule list - USDC on Base over x402: the tool returns the payment terms, and an x402 client such as
@x402/mcppays and retries - Charged only when the data is delivered
Full data
$5,000/ month
- Every linked object and property on each card
- Each rule's full named list, with the evidence
- The same key works on the Ontology API
- Send it as
Authorization: Bearer tdk_...
Agencies and enterprises
Custom
- Your own sources joined in (watchlists, portfolios, filings)
- New rules modeled on request
- mattbusel@tensorust.com
Keys come from the Tensorust Ontology plan; Control Graph Enterprise keys also unlock full data, and Radar keys unlock the full rule lists. Claude and ChatGPT custom connectors are added by URL without a key, so connect from Claude Code, Cursor, VS Code or your own code to use one.
Pay per call follows the x402 MCP transport: an unpaid full: true call returns the terms as a tool result, the paid retry carries the payment in params._meta["x402/payment"], and the receipt comes back in result._meta["x402/payment-response"]. Agents without MCP can pay over plain HTTP 402: GET https://shop.tensorust.com/api/ontology/full?oid= (or ?q= a name) and GET https://shop.tensorust.com/api/ontology/rule?id=.
Questions
Where does the data come from?
Public records: county property rolls, state business registries, SEC subsidiary lists (Exhibit 21), FCC license and ownership filings, USAC E-Rate requests, federal award data from USAspending and the FAA aircraft registry. Every card lists the sources behind it.
Which homes does who_owns_home cover?
Entity-owned single-family homes in 17 large counties around Houston, Dallas, Fort Worth, San Antonio, Austin, Plano, Phoenix, Las Vegas, metro Atlanta, Tampa, Orlando, Jacksonville, Charlotte and Memphis. Addresses outside coverage come back marked as not covered, and homes held by individuals come back as not entity-owned.
Do I need an account?
No. The free tier answers without a key, a sign-up or OAuth. A key, or a per-call x402 payment from your agent's wallet, only adds the full lists.
Which rules are modeled?
The ROAD Act large institutional investor purchase ban, DoD SF 328 beneficial ownership disclosure (proposed), the FCC foreign adversary control attestation and ownership report flag, the Upper C-band lump sum election and the E-Rate invoice deadline extension window. Call rule_coverage with no arguments for the current list and counts.
Answers come from public records and carry their sources. Owner of record is what the filings say, not a legal opinion. Not legal advice. Tensorust LLC is not affiliated with any agency.