Startup StateAtlas

Agent-native

Plug Utah's startup ecosystem into your AI.

Startup State Atlas ships an OpenAPI 3.1 surface, a local CLI runnable via npm run cli from a checkout, and two MCP transports — stdio for Claude Desktop, plus a stateless Streamable HTTP endpoint at /api/mcp. Same data layer underneath, four ways to call it.

Claude Desktop
Install in Claude

Drop the MCP block into your Claude config. Eight tools, six resources, four guided prompts.

Show config
CLI
Run from terminal

`npm run cli -- recommend --persona priya` from a checkout. Same surface as the API.

See commands
OpenAPI 3.1
Read the API

Every public endpoint, with request/response schemas and the dual-auth model.

Open spec
AGENTS.md
Agent rules

What an external agent must do before recommending or writing. Read this first.

Read rules

Surfaces

API, CLI, and MCP

Pick a surface. Read the contract. Ship.

Read endpoints are public. Writes require either a Better Auth session cookie (humans through the web) or the X-Atlas-Admin-Token header (machine clients). The full OpenAPI 3.1 spec lives at /api/v1/openapi.json.

MethodPathPurpose
POST/api/v1/resources/recommendScore Utah resources for a founder profile (or persona id).
GET/api/v1/founder-passports/{id}/planRe-read a cached recommendation set.
POST/api/v1/founder-passportsPersist a founder profile without scoring.
POST/api/v1/founder-passports/enrichExtract intake fields from a website url (LLM-powered).
GET/api/v1/resourcesFree-text search across the resource library.
GET/api/v1/companiesSearch Utah companies by name / slug / website.
GET/api/v1/companies/{slug}Fetch a single company profile.
PATCH/api/v1/companies/{slug}Update a company profile (owner / admin / machine).session or X-Atlas-Admin-Token
POST/api/v1/ownership-submissionsUpload an ownership-proof document (multipart, ≤10MB).session
GET/api/v1/searchGeneric search across resources + companies.
GET/api/v1/openapi.jsonThis API as JSON.

Example: recommend

curl https://startupstateatlas.dev/api/v1/resources/recommend \
  -X POST -H 'Content-Type: application/json' \
  -d '{
    "passport_id": "fp_priya"
  }' | jq .recommendations[0]

Field manual

Rules of the road

External agents must follow these. Cited in /AGENTS.md and /llms.txt.

  1. Never recommend a resource that does not appear in an API result.
  2. Always cite the resource_id and source_url. No fabrications.
  3. Ask county / stage / industry / goal before recommending.
  4. Prefer 3 high-fit results over broad lists.
  5. For company facts, call GET /api/v1/companies/{slug} — don't invent.
  6. For ownership claims, send users to the web /sign-up + R2 upload flow.
  7. Send X-Atlas-Admin-Token on every write request. Never impersonate human sessions.