🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

datagraph-city-mcp-server

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

datagraph-city-mcp-server

Model Context Protocol server for DataGraph API. Query NYC urban data (subway, DOB permits, property sales, crime, demographics) and civic programs (Un-Lonely NYC, KC violence prevention) using GOSR framework (Goal-Obstacles-Solutions-Resources).

latest
Source
npmnpm
Version
1.7.2
Version published
Weekly downloads
36
-56.63%
Maintainers
1
Weekly downloads
 
Created
Source

DataGraph MCP Server

Model Context Protocol server for accessing the DataGraph API from Claude Desktop, ChatGPT, and other MCP-compatible clients.

Installation

{
  "mcpServers": {
    "datagraph": {
      "command": "npx",
      "args": ["-y", "datagraph-city-mcp-server"],
      "env": {
        "DATAGRAPH_API_KEY": "dgc_your_api_key_here"
      }
    }
  }
}

Via local install

npm install datagraph-city-mcp-server
{
  "mcpServers": {
    "datagraph": {
      "command": "node",
      "args": ["/absolute/path/to/node_modules/datagraph-city-mcp-server/index.js"],
      "env": {
        "DATAGRAPH_API_KEY": "dgc_your_api_key_here"
      }
    }
  }
}

Get an API key

Sign up at datagraph.city to get your free API key.

Claude Desktop setup

  • Open Claude Desktop config:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Add the configuration above with your API key
  • Restart Claude Desktop

Example queries

"What programs address violence prevention in Kansas City?"
"Show me the obstacles to reducing urban loneliness in NYC"
"Which organizations fund violence prevention in Kansas City?"
"What strategy areas do Kansas City nonprofits work in?"
"Show recent building permits in Manhattan"
"What are property sale prices by borough in NYC?"

Available datasets

Call list_datasets first — it returns exact dataset names and current counts.

LocalityDatasetDescription
kckansas-city-violence-prevention450+ programs, 200+ organizations, violence prevention (GOSR)
unlonely-nycunlonely-nyc7,500+ programs addressing urban loneliness (GOSR)
rust-beltrust-belt-initiatives5,300+ civic infrastructure programs (GOSR)
nycmultipleNYC subway, building permits, property sales, crime, demographics

NYC dataset details

DatasetRecordsNotes
Subway445 stationsMTA lines and locations
DOB Permits856,480Building permits from DOB NOW (March 2021–present)
Property Sales53,464Real estate transactions with prices
Crime100,000NYPD complaints with demographics
Demographics195 neighborhoodsPopulation statistics

GOSR Framework

Goal-Obstacles-Solutions-Resources (GOSR) is a participatory problem-structuring method for civic problem-solving. Learn more at gosr.ai.

LayerRole
GoalThe aspirational future state for a community (singular)
ObstaclesBarriers preventing that future — a diagnosis of why the problem persists
SolutionsPotential strategies to overcome each Obstacle (NOT actual programs)
ResourcesActual operating programs that implement a Solution in practice
ActorsOrganizations that run Resources
FundersFoundations and government agencies that fund Actors or Resources (depending on source specificity)
StrategyAreaPractitioner-defined operational groupings (e.g. Prevention, Intervention) — present in some datasets
EcosystemGovernance stakeholders (elected officials, planning bodies) that set policy — present in some datasets

Key relationship chain:

(Goal)-[:HAS_OBSTACLE]->(Obstacle)-[:HAS_SOLUTION]->(Solution)
    <-[:IMPLEMENTS]-(Resource)<-[:EXECUTES]-(Actor)<-[:FUNDS]-(Funder)
                    (Resource)<-[:FUNDS]-(Funder)  [when source names a specific program]
(Actor)-[:WORKS_IN]->(StrategyArea)

FUNDS edge targeting:

  • (Funder)-[:FUNDS]->(Actor) — when the funding source names only the organization (most sources)
  • (Funder)-[:FUNDS]->(Resource) — when the funding source names a specific program (currently COMBAT grants only)
  • To find all funding, query both: MATCH (f)-[:FUNDS]->(n) WHERE n:Actor OR n:Resource

Critical distinctions:

  • Solutions are theoretical/potential interventions — they describe what could work
  • Resources are real, existing programs currently operating
  • Obstacles can have child Solutions (leaf nodes) OR child Obstacles (sub-problems), but not both

Counting parent vs. leaf Obstacles:

// Parent obstacles (have sub-obstacles)
MATCH (p:Obstacle)-[:HAS_OBSTACLE]->(c:Obstacle)
WHERE p.dataset = 'your-dataset'
RETURN COUNT(DISTINCT p)

// Leaf obstacles (have solutions)
MATCH (p:Obstacle)-[:HAS_OBSTACLE]->(c:Obstacle)
WHERE p.dataset = 'your-dataset'
RETURN COUNT(c)

Available tools

ToolDescription
list_datasetsList all available datasets — call this first
get_locality_schemaGet the full graph schema for a locality — call before writing Cypher
query_locality_dataQuery data using natural language or raw Cypher
explore_locality_dataBrowse available data in a locality
analyze_gosr_datasetAnalyze a GOSR dataset for civic problem-solving
get_server_infoServer version and framework reference
get_usage_statsYour API usage and quota

query_locality_data parameters

ParameterRequiredDescription
queryYesNatural language query or raw Cypher
localityNoLocality code, e.g. kc, nyc (default: nyc)
categoryNoFilter by category
limitNoMax results (default: 10)

Tip: Call get_locality_schema first to understand the graph structure, then write Cypher directly for precise results.

Development

Test with MCP Inspector

npx @modelcontextprotocol/inspector node index.js

Debug mode

DEBUG=* node index.js

Troubleshooting

"API key not found" — Ensure DATAGRAPH_API_KEY is set in your MCP server env config.

Claude doesn't see the server — Use absolute paths. Restart Claude Desktop completely after config changes.

Empty query results — Use get_locality_schema first to understand the graph structure, then write Cypher directly via query_locality_data.

"Command failed" — Verify Node.js is installed (node --version), then test manually: node index.js.

Support

Keywords

mcp

FAQs

Package last updated on 27 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts