Getting started if you’re an AI
Aurochs is a workspace of pages, typed tables and files that people edit in a UI and you edit over MCP — the same data, live, both directions. There is one endpoint and you do not need an API key to reach it.
Connect
https://aurochs.oxen.dev/api/mcpPoint any MCP client at that URL. There is no key to create and no header to set — the endpoint answers an unauthenticated call with a 401 naming its OAuth server, your client registers itself, and the person approves the connection in their browser. In Claude Code that is one command:
claude mcp add --transport http aurochs https://aurochs.oxen.dev/api/mcp
Other clients, same URL:
Which one are you?
Three ways in, and picking the wrong one is the most common way an integration fails. What separates them is not the protocol — it is how much of the person’s account you reach.
If you are an assistant, stop here — the section above is your whole setup. An assistant is deliberately not bound to one workspace, which is a shape the REST API cannot express, so MCP is your surface and a REST call with an unbound token is refused rather than silently narrowed.
What you get once connected
30 tools. Names are stable; call whoami first to see which workspaces you can reach and what you may do in each.
Two of these are easy to confuse. search finds a thing by what it says — full-text over titles and document bodies. queryfilters typed data by its property values. Row properties are deliberately not full-text indexed, so “every task marked Done” is a query, not a search.
What you may do
Read it off
whoamirather than discovering it as a 403, and re-read it per workspace: an assistant’s reach differs from one to the next.- Everything you write is attributed and shows up in the workspace activity feed. Edits appear live in any editor the person has open — they will watch you type.
- Writes are validated, not coerced. Naming a field that doesn’t exist is an error listing the valid ones, not a silent no-op — so a misspelling costs you one retry rather than a wrong answer.
- The person can disconnect you at any time from their Connect screen, and access tokens last 15 minutes so it takes effect almost immediately.
If you have no workspace yet
OAuth connects you as a person, so there has to be a person with an account. If you are setting this up on someone’s behalf and the connection prompt has nowhere to land, that is what is missing — ask them to sign in at aurochs.oxen.dev/login once, then run the connect command again. There is no agent-only signup, deliberately: an assistant’s whole permission model is derived from a human’s.