NYC Open Data Capital Projects MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OD_CPD_SOCRATA_APP_TOKEN | No | Optional Socrata app token to avoid anonymous rate limits during ingest. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_sqlA | Run a read-only SELECT against the local CPD DuckDB. |
| dataset_infoA | Per-dataset freshness, current period, row counts, and the key caveats. |
| list_agenciesD | Agency dictionary with live CPD presence + schedule-executor flag. |
| list_categoriesA | Program/facility categories (Library, Parks & Recreation, Sewer & Water, …)
with budget-line counts and total budget. Use a category name as the |
| describe_fieldA | Official field definitions (the NYC Open Data data dictionary): description,
allowed values, primary/foreign key, limitations, notes. Filter by |
| resolve_project_referenceA | Resolve any project identifier (PID, FMS ID, name, partial) → schedule+budget matches bucketed by entity. Call this first for any named-project question. |
| get_project_scheduleC | Schedule (PID): phase, lifecycle, signed variance, reason; lists linked budgets. |
| get_project_budgetC | Budget (FMS line): total, spend, variance; lists linked schedules. NB budget has no 'completed' state; spend%=100 ≠ done. |
| schedule_breakdownA | Counts/averages of schedule metrics by agency/sponsor/borough/phase/category.
|
| schedule_changesB | Newly completed (DR1) or newly delayed projects between two periods. |
| delay_reason_statsA | Distribution of reason-for-delay (only populated when variance>0). Defaults to current
period; pass scope='all_history' for lifetime. |
| budget_breakdownA | Total budget / spend by managing_agency or category, deduped on (fms_id,
managing_agency). Category is line-grain (additive). Optional |
| budget_changeB | Δ budget/spend for an agency ('agency:DEP') or FMS line ('fms:ABC') between two periods.
For an agency target, |
| rank_projectsA | Rank schedules (entity='schedule', rows=PIDs) or budgets (entity='budget', rows=FMS lines).
rank_by must be NATIVE to entity; the other domain is filter-only. Echoes ranked_entity.
Budget rank_by: total_budget | spend_to_date | spend_pct | budget_variance
(last-period delta) | cumulative_budget_change (latest - original budget).
Optional |
| project_duration_statsA | Duration distribution between two ACTUAL milestones (requires both dates). Optional group_by ('managing_agency'|'borough'|'lifecycle_status') returns per-group stats instead of the citywide block. |
| project_portfolioA | Cross-section listing of projects (PIDs): filter by category (see
list_categories), borough, community_board, lifecycle_status
('in_progress'|'completed'|'cancelled'), and/or agency (+agency_role lens);
rows ordered by nearest completion date (NULLs last). Each row carries schedule
state + attributed_budget; |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/WillHsiaoNYC/NYC-Opendata-Capital-Projects-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server