cdmx-mcp
cdmx-mcp
Model Context Protocol für die offenen Daten von Mexiko-Stadt. Gib Claude direkten Zugriff auf Kriminalität, 911, Luftqualität, ECOBICI und DENUE — ohne eine einzige Zeile Aufnahmecode schreiben zu müssen.
"¿Cuáles son las 10 colonias con más delitos en Cuauhtémoc en 2025?"
↓ Claude llama crime_hotspots(year=2025, alcaldia="CUAUHTEMOC", top_n=10)
↓ cdmx-mcp traduce a SQL contra CKAN
↓ Claude te contesta con la tabla + análisis, en segundos📋 Voraussetzungen
Du benötigst Python 3.10+ und uv (moderner Paketmanager für Python — ersetzt pip + venv + pyenv durch ein einziges Binärprogramm).
uv installieren
curl -LsSf https://astral.sh/uv/install.sh | shOder mit Homebrew (macOS):
brew install uvIn PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"Oder mit winget:
winget install --id=astral-sh.uv -eOder mit Scoop:
scoop install uvÜberprüfe, ob die Installation erfolgreich war:
uv --version # → uv 0.5.x o similarPython installieren (falls nicht vorhanden)
uv kann Python für dich herunterladen und installieren — du musst es nicht manuell installieren:
uv python install 3.12Falls du es dennoch manuell installieren möchtest:
macOS:
brew install python@3.12oder über https://www.python.org/downloads/Windows:
winget install Python.Python.3.12oder über den Microsoft StoreLinux (Ubuntu/Debian):
sudo apt install python3.12 python3.12-venvLinux (Arch):
sudo pacman -S python
Überprüfen:
python3 --version # → Python 3.10.x o superior💡 Mit
uvmusst du keine venvs aktivieren oder dich mit Versionen herumschlagen —uv syncliestpyproject.toml+uv.lockund richtet alles automatisch ein.
Related MCP server: MobusMCP
⚡ Quickstart — 30 Sekunden
git clone https://github.com/devcsar/cdmx-mcp.git
cd cdmx-mcp
uv sync # instala Python + dependencias
uv run python tests/smoke_test.py # verifica: debe decir "smoke: OK"Es ist bereits installiert. Verbinde es nun mit deinem bevorzugten Client:
Claude Code
claude mcp add cdmx -- uv --directory "$(pwd)" run cdmx-mcp
claude # dentro de la sesión: /mcpOder öffne einfach dieses Verzeichnis mit claude, und es erkennt die .mcp.json automatisch.
Claude Desktop
Bearbeite claude_desktop_config.json (Einstellungen → Entwickler → Konfiguration bearbeiten) und füge Folgendes ein:
{
"mcpServers": {
"cdmx": {
"command": "uv",
"args": ["--directory", "/ruta/absoluta/a/cdmx-mcp", "run", "cdmx-mcp"]
}
}
}Starte Claude Desktop neu. Vollständige Details nach Betriebssystem → QUICKSTART.md.
Cowork
Füge dasselbe JSON in den MCP-Editor von Cowork ein oder verweise auf die .mcp.json des Repos.
🎯 Erster Test-Prompt
Kopiere dies und füge es in Claude ein:
Liste die 10 häufigsten Deliktarten im Bezirk Cuauhtémoc im Jahr 2025 auf. Erstelle danach eine Markdown-Tabelle mit Balken-Emojis.
Claude wählt automatisch crime_hotspots aus und antwortet mit echten Daten. Weitere Prompts unter PROMPTS.md.
📊 Was wird abgedeckt
Quelle | Abgedeckt via | Aktualität |
FGJ — Ermittlungsakten (Delikte) |
| monatlich |
911 / LOCATEL — Notrufe |
| monatlich |
SIMAT — Luftqualität |
| stündlich |
ECOBICI — Fahrräder/Stationen in Echtzeit | GBFS (Standard-Feed) | 🟢 live |
DENUE (INEGI) — Wirtschaftseinheiten | Öffentliche INEGI-API | vierteljährlich |
Hinweis nach der Migration: Im April 2026 migrierte das CDMX-Portal von OpenDataSoft auf CKAN 2.10. Abfragen laufen nun über
/api/3/action/datastore_search_sql(echtes PostgreSQL). Die Dataset-Slugs wurden beibehalten.
🛠 Verfügbare Tools (insgesamt 9)
Generisch — funktionieren mit jedem Dataset des Portals:
Tool | Funktion |
| Den gesamten Katalog durchsuchen |
| Echtes Schema (Spalten, Typen, Zeilenanzahl) |
| SQL-Abfrage via |
| Serverseitiges GROUP BY |
Rezepte — Abkürzungen für die Top 5:
Tool | Funktion |
| Top-Viertel/Bezirke nach Kriminalität |
| Freie Fahrräder/Stationen in Echtzeit |
| Aktuellster SIMAT-Index |
| Unternehmen in der Nähe eines Punktes |
Zusätzlich cache_stats() und 2 Ressourcen (cdmx://guide/fgj, cdmx://guide/top5).
Unterstützte Shortcuts als dataset_id: fgj · 911 · ids · aire.
🧪 Überprüfung der Funktionalität
# Test offline (no golpea el portal)
uv run python tests/smoke_test.py
# → smoke: OK
# Test live (opcional — consulta real a datos.cdmx.gob.mx)
CDMX_MCP_LIVE=1 uv run python tests/live_test.py
# → live: OKDie CI führt bei jedem Push einen Smoke-Test unter Python 3.10, 3.11 und 3.12 durch.
🔐 Optionales Token für DENUE
denue_near erfordert ein kostenloses Token von INEGI:
Registriere dich unter https://www.inegi.org.mx/servicios/api_denue.html (dauert 2 Min.)
Exportiere es, bevor du Claude Desktop/Code startest:
export INEGI_TOKEN=tu_tokenOder füge es zum env deiner JSON-Konfiguration hinzu — siehe config/claude_desktop_config.example.json.
🏗 Architektur
Claude (Desktop / Cowork / Code)
│ stdio · JSON-RPC
▼
cdmx_mcp.server (FastMCP)
│
┌──────┴──────┬───────────┬──────────┐
▼ ▼ ▼ ▼
ckan gbfs denue cache
(datos.cdmx) (ECOBICI) (INEGI) (TTL + LRU)CKAN deckt 4 der 5 Quellen (FGJ, 911, Luft, IDS) mit derselben API ab (
/api/3/action/*).describe_datasetverwendetpackage_show+datastore_search, um das echte Schema offenzulegen.query_recordsundaggregatedelegieren andatastore_search_sql(echtes PostgreSQL: Bezeichner mit", Literale mit').ECOBICI wird über GBFS konsumiert (Standard-Feed; auch überschreibbar via
ECOBICI_GBFS_URL).Cache im Arbeitsspeicher mit TTL pro Tool: 15 s für Echtzeit, 10 min für Abfragen, 1 h für Katalog.
Keine Token erforderlich, außer für DENUE (optional).
📚 Mehr erfahren
PROMPTS.md— Bibliothek mit fertigen Prompts zum Kopieren/Einfügen, gruppiert nach Themen (Kriminalität, Mobilität, Luft, Unternehmen, Kombinationen).QUICKSTART.md— Schritt-für-Schritt-Installation nach Betriebssystem + Fehlerbehebung.examples/— Spezifische Demos nach Kanal:demo-cowork.md· Prompts für Cowork (nicht-technische Stakeholder).demo-claude-desktop.md· Geführter Chat-Ablauf.demo-claude-code.md· Fortgeschrittene Übungen im Terminal mit pandas/matplotlib.
🤝 Mitwirken
Der Server ist so konzipiert, dass er leicht erweitert werden kann.
Um eine neue Quelle hinzuzufügen:
Erstelle
src/cdmx_mcp/adapters/<quelle>.pymit Funktionen, die Dicts in der Form{"results": [...], "total_count": N}zurückgeben.Umhülle sie mit
cache.cached(...)mit einem geeigneten TTL.Stelle sie in
server.pymit@mcp.tool()und einem klaren Docstring bereit (Claude liest diesen).Füge den Namen zum Set
expectedintests/smoke_test.pyhinzu.
Lokale CI ausführen:
uv run python tests/smoke_test.py
CDMX_MCP_LIVE=1 uv run python tests/live_test.py # requiere internetIssues und PRs sind willkommen. Der Workflow in .github/workflows/ci.yml validiert, dass alles unter Python 3.10 / 3.11 / 3.12 kompiliert.
📄 Lizenz
MIT · erstellt im Impact Lab CDMX 01 (April 2026) von rohan.mx · csar.dev.
Erweitern
Um eine neue Quelle hinzuzufügen:
Erstelle
src/cdmx_mcp/adapters/<quelle>.pymit Funktionen, die Dicts zurückgeben.Umhülle sie mit
cache.cached(...)für TTL.Stelle sie in
server.pymit@mcp.tool()bereit.
Lizenz
MIT.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables Claude to connect to and interact with SQLite, SQL Server, PostgreSQL, and MySQL databases through natural language. Supports executing queries, managing tables, exporting data, and storing business insights with authentication options including AWS IAM.853MIT
- Alicense-qualityBmaintenanceSearch, preview, and analyze datasets from 20+ platforms and millions of datasets via a single MCP connector. Works with Claude instantly227MIT

city-data-mcpofficial
Flicense-qualityDmaintenanceAn MCP server that gives Claude deep access to US public data -- demographics, economics, crime, employment, weather, housing, transit, schools, budgets, and more across 30+ cities for government intelligence workflows.- FlicenseAqualityDmaintenanceProvides Claude with access to NYC public property data including property details, sales history, comparable sales, tax benefits, and rent stabilization analysis using natural language.7
Related MCP Connectors
INEGI DENUE MCP — Mexico's directory of economic units (~6M businesses).
Official Mexican data for AI agents: CURP, RFC, CFDI, postal codes, phone, SPEI/CEP, DOF, geocoding.
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/devcsar/cdmx-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server