# StreetLight Data MCP connector

The StreetLight Data connector lets Claude, ChatGPT, Cursor and the Elaichi Agent create zone sets, launch and track analyses, read metrics and segment counts, and manage tags inside StreetLight Data, all under each person's own access.

Source: https://elaichi.ai/connectors/streetlightdata/

## Facts

| | |
| --- | --- |
| Application | StreetLight Data |
| Category | Analytics |
| AI tools | 24 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | Yes |

## What you can ask once StreetLight Data is connected

- List every analysis still running for the Route 9 corridor study
- Show segment counts from the Main Street analysis for last spring
- Tag all analyses for the I-80 grant with the project name

## Connect StreetLight Data in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick StreetLight Data.
2. Optionally set Share with, then press Connect.
3. Paste a StreetLight Data API key. One person generates a token in StreetLight Data and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which StreetLight Data tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect StreetLight Data to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect StreetLight Data to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect StreetLight Data to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect StreetLight Data to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a StreetLight Data tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with StreetLight Data through Elaichi

### Set up a corridor study in plain language

Planning. Describe the corridor and the date range you care about, and the agent builds the zone set and launches the analysis in StreetLight Data for you.

### Pull segment counts for a signal review

Traffic engineering. Ask for volumes on the segments around an intersection and get the segment counts and metrics read back, ready to drop into the review memo.

### Check which client analyses are still running

Consulting. List the analyses for a project, see which are finished, and cancel one that was launched with the wrong settings before it uses more of the account.

### Find the right OSM IDs for a street

GIS. Search StreetLight Data for the OSM IDs along a named road so a new zone set lands on the correct segments the first time.

### Tag analyses by grant or project

Public works. Create a set of tags in one go and attach them to the analyses for a grant program, so every study can be found by project later.

### Read finished metrics without opening the console

Research. Ask for the metrics of a completed analysis by name and get a plain summary of what the numbers say, including which date ranges were covered.

## Frequently asked questions

### How do I connect StreetLight Data to Claude?

Connect StreetLight Data in Elaichi by pasting in your StreetLight Data API key. Then in Claude, open Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. There is no OAuth application to register and no client ID or secret to generate, and the whole thing takes a few minutes.

### Does StreetLight Data work with ChatGPT and Cursor as well as Claude?

Yes. Once StreetLight Data is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect StreetLight Data once and every client picks it up.

### What can an AI agent actually do with my StreetLight Data account?

An agent connected to StreetLight Data can create zone sets, search OSM IDs, launch, update or cancel analyses, and list what is running or finished. It can read the metrics, geometries and segment counts from completed analyses, check available date ranges and account usage, and create or remove tags to keep projects organized.

### Does connecting StreetLight Data give the AI access to everything in the account?

No. Every call into StreetLight Data runs under the access of the person who signed in to Elaichi, so the AI can only see the analyses, zone sets and metrics that person could already see. Elaichi can narrow that access further with restrictions, and it can never widen it beyond what StreetLight Data itself allows.

### Can my team share one StreetLight Data connection?

Yes. One person connects StreetLight Data in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person who launched or changed each StreetLight Data analysis.

### Can I stop an agent from deleting or changing things in StreetLight Data?

Yes. Restrictions in Elaichi apply per action, so you can allow reading StreetLight Data metrics and segment counts while blocking the actions that delete analyses, cancel them or remove tags. A blocked action is never advertised to the AI client at all, so no prompt can reach it.

### What happens to a StreetLight Data connection when someone leaves?

Offboarding a person in Elaichi ends their access to StreetLight Data through every client at once. A shared StreetLight Data connection keeps working for everyone else on the team. If you ever want to remove StreetLight Data entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

## All 24 StreetLight Data tools

Every tool below is callable through https://api.elaichi.ai/mcp once StreetLight Data is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Create a StreetLight Data debug** (Create). Echo a message to verify connectivity with StreetLight. Returns: message, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas.
- **Create a StreetLight Data zone set** (Create). Create a new zone set in StreetLight InSight. Returns: name, status, uuid. Required: insight_login_email. zones and osm_ids are mutually exclusive.
- **List all StreetLight Data zone sets** (List). Search StreetLight InSight zone sets. Returns zone sets including zone_set_uuid, zone_set_name, status, created_date, and zones. Max 100 results.
- **StreetLight Data osm IDS search** (Search). Search StreetLight OSM segments by geometry. Returns an array of records, each containing osm_id, road_classification, and osm_segment_count. Required: geometry.
- **List all StreetLight Data date ranges** (List). List available date ranges for a Streetlight travel mode and country. Returns default, supports, and AGPS-specific Network_Performance and Network_OD date ranges. Required: country, travel_mode_type.
- **List all StreetLight Data tags** (List). List available tags in your StreetLight organization. Returns: analysis_num, created_by, created_date, tag_name.
- **Create a StreetLight Data tag** (Create). Create a new StreetLight tag to organize analyses. Returns: tag_name, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: insight_login_email, tag_name.
- **Delete a StreetLight Data tag by ID** (Delete). Delete a tag in StreetLight. Returns: status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: insight_login_email, id.
- **StreetLight Data tags bulk create** (Create). Add one or more tags to one or more StreetLight analyses. Returns: status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: insight_login_email, tags, analyses.
- **StreetLight Data tags bulk delete** (Delete). Remove one or more tags from one or more StreetLight analyses. Returns: status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: insight_login_email, tags, analyses.
- **Create a StreetLight Data analysis** (Create). Create and run a new StreetLight analysis. Returns the created analysis name, status, and UUID. Required: insight_login_email, analysis_type, travel_mode_type, oz_sets.
- **StreetLight Data analyses search** (Search). Search StreetLight analyses by date range, name, type, travel mode, tags, queue status, or API key. Returns: analysis_name, analysis_type, analysis_uuid, created_by_uuid, created_date, data_period, number_of_zones, tags, travel_mode.
- **List all StreetLight Data analyses** (List). Check the status and included metrics for one or more StreetLight analyses. Returns: name, status. Required: analyses.
- **Update a StreetLight Data analysis by ID** (Update). Update the name or description of a StreetLight analysis by id. Returns: analysis_name, analysis_uuid, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: id, name.
- **Delete a StreetLight Data analysis by ID** (Delete). Delete a StreetLight analysis by id. Returns: analysis_name, analysis_uuid, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: id.
- **Create a StreetLight Data analysis cancellation** (Create). Cancel a StreetLight analysis by its analysis name. Returns: analysis_name, analysis_uuid, status, openapi, info, servers, security, paths, components, x-readme, x-readme-fauxas. Required: cancel_id.
- **List all StreetLight Data analysis metrics by uuid** (List). Download StreetLight analysis metrics by UUID. Returns the metrics file in the `content` field as a CSV or zip payload with metric-specific columns. Required: uuid_id, metric.
- **List all StreetLight Data analysis metrics by name** (List). Download metrics for a StreetLight analysis by name. Returns a CSV-formatted metrics file with columns that vary by the requested metric. Required: name_id, metric.
- **List all StreetLight Data satc metrics** (List). Get StreetLight traffic metrics for segments within a defined geometry. Returns an array of metric rows, each row an array of values ordered by the requested columns (segment_id followed by the requested metric fields). Required: geometry, country, mode, fields, day_part, day_type, and direction. One of date or date_range is required, but not both. Queries count against your segment quota; do not…
- **List all StreetLight Data satc metric pages** (List). List metric rows from a previous StreetLight SATC metrics query by paging id. Returns an array of metric rows, each row an ordered array of numeric values matching the requested columns. Required: paging_id.
- **List all StreetLight Data satc geometries** (List). List StreetLight segment geometries in GeoJSON format. Returns an array of geometry records, each containing a segment_id and its GeoJSON LineString. Required: mode, geometry, country. Max 10,000 results per page.
- **List all StreetLight Data satc geometry pages** (List). List the next page of segment geometries for a StreetLight geometry query. Returns segment_id and line_geometry for each record. Required: paging_id. Max 10000 per page.
- **List all StreetLight Data satc segment counts** (List). Count segments in a StreetLight geometry. Returns the matching segment count. Required: geometry, country, mode. Result is never lower than the metrics endpoint count but may be higher.
- **List all StreetLight Data satc usage** (List). List previous StreetLight SATC usage requests. Returns: status, created_date, type, job_id, billed_fields_queried, segments_queried, is_billable.
