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.