MCP Server

CrashStory MCP

com.crashstory/crashstory

What this MCP does

Searches Colorado personal injury attorneys, reviews, crash records, and related research datasets, with comparison and ranking tools.

compare_attorneys
Compare 2-4 attorney profiles side-by-side. Use canonical slugs from search_attorneys. Returns key comparison metrics including ratings, reviews, specialties, practice areas, and known experience fields.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slugs'], 'properties': {'slugs': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 4, 'minItems': 2, 'description': 'Array of 2-4 attorney slugs to compare'}}, 'additionalProperties': False}
compare_review_intelligence
Compare AI-analyzed review intelligence across 2-5 law firms. Returns side-by-side pain point dimensions, sentiment, trust signals, response quality, and case type distributions for competitive analysis.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['firm_slugs'], 'properties': {'firm_slugs': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 5, 'minItems': 2, 'description': 'Array of 2-5 firm slugs to compare'}}, 'additionalProperties': False}
find_nearby_attorneys
Find personal injury attorneys near a geographic location. Uses Haversine distance calculation. Returns attorneys sorted by distance with contact info and ratings.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['latitude', 'longitude'], 'properties': {'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Max results (1-50, default 10)'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90, 'description': 'Latitude of the location'}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180, 'description': 'Longitude of the location'}, 'radius_miles': {'type': 'number', 'default': 10, 'maximum': 100, 'minimum': 1, 'description': 'Search radius in miles (1-100, default 10)'}}, 'additionalProperties': False}
get_attorney_leaderboard
Get the top-ranked personal injury attorneys in Colorado. Returns attorneys ranked by a composite score considering ratings, reviews, experience, and case outcomes.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Number of attorneys to return (1-50, default 20)'}}, 'additionalProperties': False}
get_attorney_profile
Get a detailed attorney profile by slug. Returns full bio, practice areas, reviews, credentials, office location, and AI-analyzed intelligence data when available.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': 'Canonical attorney slug from search_attorneys or list_attorney_cities (e.g. "levine-law-llc-denver")'}}, 'additionalProperties': False}
get_attorney_reviews
Get paginated client reviews for a specific attorney. Includes review text, rating, reviewer name, date, and rating distribution breakdown.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number'}, 'slug': {'type': 'string', 'minLength': 1, 'description': 'Attorney slug identifier'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Reviews per page (1-50, default 20)'}}, 'additionalProperties': False}
get_city_review_leaderboard
Get the review-based leaderboard for attorneys in a specific Colorado city. Ranks attorneys by composite review metrics including velocity, freshness, momentum, and rating.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['city'], 'properties': {'city': {'type': 'string', 'minLength': 1, 'description': 'City name (e.g. "Denver", "Boulder", "Colorado Springs")'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Number of attorneys to return (1-50, default 10)'}}, 'additionalProperties': False}
get_crash_details
Get full details of a specific Colorado crash by its CUID (Crash Unique Identifier). Returns complete crash record including all vehicles involved, injuries, contributing factors, road conditions, weather, and narrative.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['cuid'], 'properties': {'cuid': {'type': 'string', 'minLength': 1, 'description': 'CDOT Crash Unique ID (e.g. "2024-001234")'}}, 'additionalProperties': False}
get_nearby_crashes
Get crash records near a specific attorney's office location. This tool is attorney-centered, not a raw lat/lng search. Use a canonical attorney slug from search_attorneys, then this tool will search around that office address.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['attorney_slug'], 'properties': {'sort': {'enum': ['distance', 'date'], 'type': 'string', 'default': 'distance', 'description': 'Sort by distance or date'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 200, 'minimum': 1, 'description': 'Max results (1-200, default 50)'}, 'months': {'type': 'integer', 'default': 12, 'maximum': 120, 'minimum': 1, 'description': 'Look-back period in months (1-120, default 12)'}, 'radius_km': {'type': 'number', 'default': 3, 'maximum': 50, 'minimum': 0.5, 'description': 'Search radius in km (0.5-50, default 3)'}, 'attorney_slug': {'type': 'string', 'minLength': 1, 'description': 'Canonical attorney slug from search_attorneys, used as the center point'}}, 'additionalProperties': False}
get_research_dataset_summary
Get the structured summary/report for a CrashStory research dataset. Use this before row-level querying to understand coverage, methodology, findings, and limitations.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'enum': ['gas-prices-vs-crashes', 'gas-prices-vs-fatalities-national'], 'type': 'string', 'description': 'Dataset slug. Options: gas-prices-vs-crashes, gas-prices-vs-fatalities-national.'}}, 'additionalProperties': False}
get_review_analytics
Get review velocity analytics for a specific attorney. Includes review frequency trends, freshness score, momentum indicators, composite score, city percentile rank, and month-over-month time series.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'minLength': 1, 'description': 'Canonical attorney slug from search_attorneys (e.g. "levine-law-llc-denver")'}}, 'additionalProperties': False}
get_review_intelligence
Get AI-analyzed review intelligence for a law firm. Returns plain-language praise and complaint summaries, 12 consumer pain point dimensions, case type distribution, trust signals, response quality, and highlight reviews.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['firm_slug'], 'properties': {'firm_slug': {'type': 'string', 'minLength': 1, 'description': 'Canonical firm slug from search_attorneys (e.g. "levine-law-llc-denver")'}}, 'additionalProperties': False}
list_attorney_cities
List all Colorado cities that have active personal injury attorneys, with the count of attorneys in each city. Useful for discovering which cities have coverage.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
list_research_datasets
List CrashStory research datasets that can be queried through the MCP server, including gas-price analysis datasets and their available data views.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
query_research_dataset
Query rows from CrashStory research datasets. Supports the gas-price analysis datasets with optional state, year, and month filters so agents can perform their own follow-on analysis.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug', 'dataset'], 'properties': {'slug': {'enum': ['gas-prices-vs-crashes', 'gas-prices-vs-fatalities-national'], 'type': 'string', 'description': 'Dataset slug. Options: gas-prices-vs-crashes, gas-prices-vs-fatalities-national.'}, 'sort': {'type': 'string', 'description': 'Optional sort field.'}, 'limit': {'type': 'integer', 'default': 50, 'maximum': 1000, 'minimum': 1, 'description': 'Maximum rows to return.'}, 'order': {'enum': ['asc', 'desc'], 'type': 'string', 'default': 'desc', 'description': 'Sort order (default desc).'}, 'state': {'type': 'string', 'description': 'Optional two-letter state abbreviation filter, mainly for national datasets.'}, 'dataset': {'enum': ['analysis_window', 'full_window', 'state_year_panel', 'state_year_yoy', 'state_profiles', 'national_summary'], 'type': 'string', 'description': 'Data view. Colorado options: analysis_window, full_window. National options: state_year_panel, state_year_yoy, state_profiles, national_summary.'}, 'year_to': {'type': 'integer', 'description': 'Optional maximum year filter.'}, 'month_to': {'type': 'string', 'description': 'Optional maximum month filter in YYYY-MM format, mainly for the Colorado monthly dataset.'}, 'year_from': {'type': 'integer', 'description': 'Optional minimum year filter.'}, 'month_from': {'type': 'string', 'description': 'Optional minimum month filter in YYYY-MM format, mainly for the Colorado monthly dataset.'}}, 'additionalProperties': False}
search_attorney_reviews
Search a law firm's detailed reviews for the most relevant matches to a specific need, case type, injury, sentiment, or pain point. Use this when someone asks for reviews about communication, wrongful death, motorcycle crashes, fees, settlement clarity, or similar client concerns.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['firm_slug'], 'properties': {'need': {'type': 'string', 'description': 'Natural-language client need or concern, e.g. "good communication" or "fast settlement"'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Max ranked reviews to return'}, 'injury': {'type': 'string', 'description': 'Injury or harm keyword, e.g. "back injury", "death", "concussion"'}, 'case_type': {'type': 'string', 'description': 'Case type, e.g. "wrongful death", "motorcycle", "truck accident"'}, 'dimension': {'type': 'string', 'description': 'Specific review-intelligence dimension, e.g. "Communication" or "FeeTransparency"'}, 'firm_slug': {'type': 'string', 'minLength': 1, 'description': 'Canonical firm slug from search_attorneys or get_review_intelligence'}, 'sentiment': {'enum': ['any', 'positive', 'negative', 'mixed'], 'type': 'string', 'default': 'any', 'description': 'Filter toward praise, complaints, or mixed reviews'}}, 'additionalProperties': False}
search_attorneys
Search for personal injury attorneys in Colorado. Filter by city, county, specialty, rating, and verification status. Returns attorney profiles plus the canonical slug to use with profile, review, and comparison tools.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'city': {'type': 'string', 'description': 'City name (e.g. "Denver", "Colorado Springs")'}, 'page': {'type': 'integer', 'default': 1, 'minimum': 1, 'description': 'Page number'}, 'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Max results (1-50)'}, 'query': {'type': 'string', 'description': 'Search by name or firm name'}, 'county': {'type': 'string', 'description': 'Service county name'}, 'sort_by': {'enum': ['relevance', 'rating', 'reviews', 'experience'], 'type': 'string', 'default': 'relevance', 'description': 'Sort order'}, 'verified': {'type': 'boolean', 'description': 'Only return verified attorneys'}, 'specialty': {'type': 'string', 'description': 'Specialty filter (e.g. "Car Accident", "Wrongful Death")'}, 'min_rating': {'type': 'number', 'maximum': 5, 'minimum': 1, 'description': 'Minimum average rating (1.0-5.0)'}}, 'additionalProperties': False}
search_crashes
Search Colorado crash records by location, date range, crash type, and severity. Database contains 500,000+ CDOT crash records. Returns key fields including location, date, severity, injuries, fatalities, and contributing factors.
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Max results (1-100, default 20)'}, 'date_to': {'type': 'string', 'description': 'End date (ISO 8601, e.g. "2024-12-31")'}, 'location': {'type': 'string', 'description': 'City, county, or street name (case-insensitive partial match)'}, 'severity': {'type': 'string', 'description': 'Severity: FATAL, SERIOUS_INJURY, MINOR_INJURY, POSSIBLE_INJURY, PROPERTY_DAMAGE_ONLY'}, 'date_from': {'type': 'string', 'description': 'Start date (ISO 8601, e.g. "2024-01-01")'}, 'crash_type': {'type': 'string', 'description': 'Crash type: BROADSIDE, REAR_END, SIDESWIPE_SAME_DIRECTION, SIDESWIPE_OPPOSITE_DIRECTION, HEAD_ON, ROLLOVER, FIXED_OBJECT, ANIMAL, PEDESTRIAN, BICYCLE, MOTORCYCLE, OTHER'}}, 'additionalProperties': False}
Added
query_research_dataset
Sept. 17, 2026, 12:34 p.m.
Added
get_research_dataset_summary
Sept. 17, 2026, 12:34 p.m.
Added
list_research_datasets
Sept. 17, 2026, 12:34 p.m.
Added
get_nearby_crashes
Sept. 17, 2026, 12:34 p.m.
Added
get_crash_details
Sept. 17, 2026, 12:34 p.m.
Added
search_crashes
Sept. 17, 2026, 12:34 p.m.
Added
search_attorney_reviews
Sept. 17, 2026, 12:34 p.m.
Added
compare_review_intelligence
Sept. 17, 2026, 12:34 p.m.
Added
get_review_intelligence
Sept. 17, 2026, 12:34 p.m.
Added
get_city_review_leaderboard
Sept. 17, 2026, 12:34 p.m.
Added
get_review_analytics
Sept. 17, 2026, 12:34 p.m.
Added
get_attorney_reviews
Sept. 17, 2026, 12:34 p.m.
Added
compare_attorneys
Sept. 17, 2026, 12:34 p.m.
Added
get_attorney_leaderboard
Sept. 17, 2026, 12:34 p.m.
Added
list_attorney_cities
Sept. 17, 2026, 12:34 p.m.
Added
find_nearby_attorneys
Sept. 17, 2026, 12:34 p.m.
Added
get_attorney_profile
Sept. 17, 2026, 12:34 p.m.
Added
search_attorneys
Sept. 17, 2026, 12:34 p.m.