Skip to main content
Glama
README.md
# CrashStory MCP

Hosted, read-only MCP server for Colorado crash data, attorney discovery, and AI-analyzed review intelligence.

- Install page: https://crashstory.com/mcp
- Examples: https://crashstory.com/mcp/examples
- Status: https://crashstory.com/mcp/status
- Manifest: https://crashstory.com/.well-known/mcp/server.json
- Hosted endpoint: https://crashstory-mcp-production.up.railway.app/mcp

CrashStory MCP is built for Claude, Cursor, Windsurf, Gemini CLI, ChatGPT Actions, and other compatible AI clients. The goal is simple: make CrashStory's structured Colorado crash and attorney data directly usable in modern AI workflows.

## What It Does

- Search Colorado crash records
- Pull a crash detail record with richer context
- Search Colorado personal injury attorneys
- Compare attorney profiles and review intelligence
- Search attorney reviews for specific needs, concerns, or case types
- Find crash activity near a law office

## Quick Start

### Claude Code

```bash
claude mcp add --transport http crashstory https://crashstory-mcp-production.up.railway.app/mcp
```

### Cursor

```json
{
  "mcpServers": {
    "crashstory": {
      "url": "https://crashstory-mcp-production.up.railway.app/mcp"
    }
  }
}
```

### Windsurf

```json
{
  "mcpServers": {
    "crashstory": {
      "serverUrl": "https://crashstory-mcp-production.up.railway.app/mcp"
    }
  }
}
```

### Gemini CLI

```json
{
  "mcpServers": {
    "crashstory": {
      "httpUrl": "https://crashstory-mcp-production.up.railway.app/mcp"
    }
  }
}
```

### ChatGPT Actions

Import this OpenAPI file:

`https://crashstory.com/mcp/gpt-actions-openapi.json`

## Public Links

- Install page: https://crashstory.com/mcp
- Prompt gallery: https://crashstory.com/mcp/examples
- Status page: https://crashstory.com/mcp/status
- `llms.txt`: https://crashstory.com/llms.txt
- Attorney directory: https://crashstory.com/lawyers
- Find an accident: https://crashstory.com/find-accident
- Live incidents: https://crashstory.com/accidents/live
- Statistics: https://crashstory.com/statistics
- Rankings: https://crashstory.com/rankings

## Example Prompts

See [examples/prompts.md](./examples/prompts.md) or the live gallery at https://crashstory.com/mcp/examples

## Tool Categories

### Attorney discovery

- `search_attorneys`
- `list_attorney_cities`
- `find_nearby_attorneys`
- `get_attorney_leaderboard`
- `get_attorney_profile`
- `compare_attorneys`

### Review intelligence

- `get_attorney_reviews`
- `get_review_analytics`
- `get_review_intelligence`
- `compare_review_intelligence`
- `get_city_review_leaderboard`
- `search_attorney_reviews`

### Crash data

- `search_crashes`
- `get_crash_details`
- `get_nearby_crashes`

## Local Development

```bash
npm install
npm run typecheck
npm run build
npm run dev:http
```

## Notes

- The primary public transport is stateless Streamable HTTP.
- The server is intentionally read-only.
- This repository is the public MCP surface only. The broader CrashStory application remains private.

## License

MIT

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation4/5

Most tools target distinct actions, but the review-related tools (get_attorney_reviews, get_review_analytics, get_review_intelligence, compare_review_intelligence, search_attorney_reviews) overlap significantly and could confuse an agent. Descriptions help, but boundaries are not immediately clear.

Naming Consistency4/5

Tool names generally follow a verb_noun pattern (get_, search_, compare_, list_, find_), but 'find_nearby_attorneys' is a minor deviation from the search_ convention. Otherwise consistent and predictable.

Tool Count4/5

15 tools is at the upper end of the well-scoped range. The dual domain (attorneys and crashes) justifies the count, but the five review-intelligence tools feel slightly heavy and could be consolidated.

Completeness4/5

The tool surface covers attorney discovery, profiling, reviews, analytics, and crash records extensively. A minor gap is the lack of a direct tool to connect crashes to attorneys (only attorney-to-crash via get_nearby_crashes), but overall workflows are not dead-ended.

Maintenance

ActivityInactive
ResponsivenessNo issues