openbash: an MCP server of primary data for research and analysis

Primary data for your agents and apps, no subscriptions. Clinical trials, SEC filings, customs records, rentals and search rank as bash programs on a path, reachable from Claude Code, ChatGPT or any MCP client, and over HTTP and SSH. One command line in, one answer out; every record says where it came from and when. Billed on usage.

One shell, three doors

openbash is an account-scoped bash shell over primary data sources. The capabilities are commands on a path, not endpoints: there is one exec call, and a pipeline of several programs is a single request to it. They compose with pipes, redirection and the ordinary shell tools, so two of them can be joined without a schema for the join.

HTTP, SSH and MCP are three ways into the same shell, not three services. Whichever a caller uses, the same programs are on the path and the same key decides which ones. An agent framework that already has a shell tool needs no integration at all.

HTTP   POST openbash.ai/api/v1/exec   {"command": "..."}
MCP    openbash.ai/api/mcp
SSH    ssh $OPENBASH_KEY@ssh.openbash.ai '<command>'

What comes back

JSON on stdout, one object per line, so jq composes across programs. Every record carries source (what it was read from) and as_of (when that source was current) — as_of is not the time the command ran. A derived figure is marked derived and carries its inputs.

Absence is a value. A program that finds nothing says so and exits 3; it does not return an empty object that reads as zero. Exit 2 means the program exists but this key does not have it. The two are different answers on purpose: 3 means there is nothing there, 2 means you were not allowed to look.