EMMA MCP
EMMA MCP — Benutzerdefinierter Muni-Finance-Agent für Blaylock Van
NYU Stern Consulting Capstone · Frühjahr 2026 · Marco Figueroa, Justin Ganjian, Andrew Kay, Isaac Mizrahi, Roshan Raja · Professor Marciano
Was ist das?
Ein benutzerdefinierter MCP-Server (Model Context Protocol), der es Claude ermöglicht, den Markt für neue kommunale Anleihen direkt von der EMMA-Website des MSRB zu lesen. Dies ist das Tier-4-Beispiel auf unserer Capstone-Stufenleiter — ein firmeneigener Connector zu einer Datenquelle, die kein Anbieter abdeckt.
EMMA — die Electronic Municipal Market Access-Website, die vom Municipal Securities Rulemaking Board betrieben wird — ist das offizielle öffentliche Register für jede in den Vereinigten Staaten verkaufte kommunale Anleihe. Kalender für Neuemissionen, offizielle Erklärungen (Official Statements), Details auf CUSIP-Ebene, aktuelle Handelspreise: alles auf EMMA. Es gibt keine öffentliche API.
Dieses MCP stellt 18 Tools und 2 Ressourcen bereit (eine CLAUDE.md-Regeldatei und ein EMMA_ABBREVIATIONS.md-Glossar), die Claude beim Verbinden automatisch lädt. Nach der Installation kann ein Banker Claude natürlichsprachliche Fragen stellen wie: „Rufe alle ausstehenden Anleihen des Rady Children's Hospital ab und lade das aktuellste OS herunter“, und Claude führt die gesamte Kette aus — Suche → Emittentensuche → Emissionsdetails → PDF-Download → Textextraktion — in etwa 20 Sekunden.
Für den vollständigen Pitch und warum dies für Blaylock wichtig ist, siehe USAGE.md → Why this exists.
Related MCP server: nyc-property-intel
Voraussetzungen
Sie benötigen vier Dinge auf Ihrem Laptop. Falls etwas fehlt, finden Sie unten die Installationsanweisungen.
Anforderung | Was es ist | Installationsprüfung |
Claude Desktop | Anthropic's nativer macOS/Windows-Client (der MCP-Host) | |
Python 3.10+ | Laufzeitumgebung für den Server | Mac: |
uv | Python-Paketmanager (verwaltet das venv automatisch) |
|
Playwright Chromium | Headless-Browser, mit dem der Server EMMA steuert | Wird durch einen Befehl unten installiert |
Installation — Mac
# 1. Unzip this folder somewhere sensible
cd ~/Downloads
unzip emma-mcp.zip -d ~/emma-mcp
cd ~/emma-mcp
# 2. If you don't have uv:
brew install uv
# 3. Create the venv + install dependencies (one command)
uv sync
# 4. Install the headless browser Playwright drives
uv run playwright install chromium
# 5. Smoke-test the server (optional — confirms it boots)
uv run python server.py
# You should see the server start and wait on stdin.
# Press Ctrl+C to stop.Einbindung in Claude Desktop (Mac)
Öffnen Sie Claude Desktop → Settings → Developer → Edit Config. Dies öffnet
claude_desktop_config.json.Fügen Sie einen
emma-Eintrag innerhalb desmcpServers-Objekts hinzu. Verwenden Sie den absoluten Pfad zu dem.venv/bin/python, dasuv syncgerade erstellt hat, und den absoluten Pfad zuserver.py:
{
"mcpServers": {
"emma": {
"command": "/Users/YOURNAME/emma-mcp/.venv/bin/python",
"args": ["/Users/YOURNAME/emma-mcp/server.py"]
}
}
}Speichern Sie, beenden Sie Claude Desktop vollständig (
Cmd+Q, nicht nur das Fenster schließen) und öffnen Sie es erneut.In einem neuen Chat sollte das Hammer-Symbol im Composer nun EMMA-Tools auflisten. Das ist das Zeichen.
Installation — Windows
# 1. Unzip this folder, e.g. to C:\emma-mcp
cd C:\emma-mcp
# 2. If you don't have Python: install from python.org (3.10 or later).
# Check "Add Python to PATH" during install.
# 3. Install uv
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 4. Create the venv + install deps
uv sync
# 5. Install Playwright's Chromium
uv run playwright install chromium
# 6. Smoke-test
uv run python server.py
# Ctrl+C to stop.Einbindung in Claude Desktop (Windows)
Öffnen Sie
%APPDATA%\Claude\claude_desktop_config.jsonin einem Texteditor. (Fügen Sie diesen Pfad in die Adressleiste des Explorers ein — Windows löst%APPDATA%zuC:\Users\YOU\AppData\Roamingauf.)Verwenden Sie Schrägstriche oder doppelte Backslashes in den JSON-Pfaden — einfache Backslashes unter Windows zerstören das JSON:
{
"mcpServers": {
"emma": {
"command": "C:/emma-mcp/.venv/Scripts/python.exe",
"args": ["C:/emma-mcp/server.py"]
}
}
}Speichern Sie, beenden Sie Claude Desktop vollständig (Rechtsklick auf das Tray-Symbol → Quit), öffnen Sie es erneut.
Überprüfen Sie das Hammer-Symbol im Composer auf EMMA-Tools.
Erster Prompt — die 60-Sekunden-Überprüfung
Öffnen Sie einen neuen Claude Desktop-Chat und fügen Sie Folgendes ein:
Use the EMMA MCP to pull the upcoming new-issue calendar for the next week. Filter to NY state only. Return a clean table with issuer, par, dated, and sector.
Sie sollten sehen, wie Claude get_new_issue_calendar mit state="NY" aufruft, in wenigen Sekunden etwa 10-25 Zeilen zurückerhält und diese als Tabelle mit EMMA-URLs formatiert. Wenn das funktioniert, funktionieren alle anderen Tools auf die gleiche Weise.
Für eine beeindruckendere Demo versuchen Sie:
Find Rady Children's Hospital on EMMA, pull their outstanding bonds, get the most recent issue's details, download the Official Statement, and summarize the rating language and use of proceeds from the first 10 pages.
Dies führt die vollständige Fünf-Tool-Kette in etwa 20 Sekunden aus.
Weitere Demo-Prompts finden Sie in USAGE.md.
Fehlerbehebung
Claude Desktop zeigt nach dem Neustart keine EMMA-Tools an.
Bestätigen Sie, dass das JSON gültig ist (
python3 -m json.tool < claude_desktop_config.json— keine Ausgabe = gut).Bestätigen Sie, dass beide Pfade in der Konfiguration absolut sind und existieren. Relative Pfade und
~funktionieren nicht.Beenden Sie Claude Desktop vollständig (
Cmd+Q/ Tray Quit) — das Schließen des Fensters lässt es weiterlaufen.Überprüfen Sie die MCP-Protokolle von Claude Desktop unter
~/Library/Logs/Claude/mcp*.log(Mac) oder%APPDATA%\Claude\logs\mcp*.log(Windows) auf einen spezifischen Fehler.
playwright install chromium hängt oder schlägt fehl.
Die Erstinstallation lädt ca. 150 MB herunter und dauert bei einer Heimverbindung 1-2 Minuten. Haben Sie Geduld.
Hinter einem Unternehmens-Proxy setzen Sie
HTTPS_PROXYundHTTP_PROXYvor dem Ausführen.
Claude ruft ein Tool auf und es gibt „EMMA disclaimer loop“ zurück oder überschreitet die Zeit.
EMMA setzt beim ersten Besuch ein CUSIP-Disclaimer-Cookie. Der Server setzt es vorab (
Disclaimer6=msrborg), aber sehr selten ändert EMMA den Cookie-Namen. Starten Sie Claude Desktop neu, um den Browser-Kontext zurückzusetzen. Wenn es weiterhin besteht, ist EMMA möglicherweise ausgefallen — überprüfen Siehttps://emma.msrb.orgin einem normalen Browser.
Eine zurückgegebene Tabelle zeigt cusip_hash: ABC123… anstelle einer 9-stelligen CUSIP.
Dies ist beabsichtigt, kein Fehler. EMMA rendert CUSIPs als Bild-Tags (CGS-Lizenzierungsregel), daher kann der Server sie nicht aus dem HTML lesen. Das Official Statement PDF ist die maßgebliche CUSIP-Quelle. Verwenden Sie
download_official_statementund dannextract_pdf_text— das Deckblatt und die Innenseite enthalten die echten CUSIPs.
Die Suche nach „Rady Children's“ findet Kinderkrankenhäuser in Franklin OH und Pittsburgh PA, aber nicht Rady.
Dies ist eine bekannte EMMA-Eigenart, kein Serverfehler. Radys Anleihen werden unter einem kalifornischen Conduit (CHFFA / CPFA) geführt, wobei „RADY CHILDRENS“ nur im Teil des Obligors in Klammern steht, den die QuickSearch von EMMA zwar indiziert, aber nur schwach. Versuchen Sie
emma_quick_search {query: "rady"}oder suchen Sie direkt nach dem Conduit:search_issuers_by_state {state: "CA", contains: "health care facilities"}. Das vollständige Handbuch zur Emittentensuche finden Sie inUSAGE.md→ The conduit cheat sheet.
Server startet, aber Claude sagt „no tools available“.
Sie haben wahrscheinlich
server.pybearbeitet und es gibt einen Python-Syntaxfehler. Führen Sieuv run python server.pyin einem Terminal aus — jeder Fehler wird in stderr ausgegeben. Korrigieren Sie ihn und starten Sie Claude Desktop neu.
Was ist in diesem Ordner
Datei / Ordner | Was es ist |
| Der MCP-Server selbst — ca. 1.500 Zeilen, Python, Playwright. 18 Tools, 2 Ressourcen. |
| Blaylock-Compliance-Regeln. Wird in jede EMMA-Sitzung als MCP-Ressource |
| EMMA's telegrafische Emittentennamen-Abkürzungen (HOSP, AUTH, SR, CMNTY, etc.) + Conduit-Spickzettel. Geladen als Ressource |
| Diese Datei. |
| Umfassende Referenz: die 18 Tools, die kanonische Workflow-Kette, Beispiel-Prompts für Banker, Vorbehalte. |
| Python-Abhängigkeitsmanifest. |
| Einmal-Treiber, der während der Folienvorbereitung verwendet wurde — ruft das MCP direkt auf, damit wir Ausgaben als Screenshot aufnehmen konnten. Nicht erforderlich, um den Server auszuführen. |
| Begleitskript, das OS-PDFs für die Tier 2 (Cowork)-Demo des Capstones stapelweise heruntergeladen hat. Nicht erforderlich, um den Server auszuführen. |
| Beispiel-Official Statements, die während des Tests über das MCP heruntergeladen wurden. Behalten oder löschen — der Ordner wird beim ersten Aufruf von |
Die Ein-Zeilen-Version
Wir haben das EMMA MCP gebaut, das kein Anbieter liefert, es über dasselbe Protokoll wie jeden Marktplatz-Connector in Claude eingebunden und es mit einer einfachen Markdown-Regeldatei gesteuert, die ein Banker lesen und bearbeiten kann. So sieht Tier 4 aus, wenn ein Unternehmen sein eigenes Tool tatsächlich besitzt.
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
- AlicenseAqualityCmaintenanceAn MCP server that provides 33 tools for full DEVONthink integration, enabling users to search, manage records, and access smart groups through Claude Code. It supports document CRUD operations, metadata management, and utilizes DEVONthink's built-in AI for document summarization and classification.33363MIT
- AlicenseAqualityAmaintenanceMCP server for NYC real estate due diligence. Lets Claude query 22+ NYC public-record databases — DOB/HPD/ECB violations, ACRIS deeds, DOF sales, 311 complaints, FDNY incidents, NYPD complaints, marshal evictions, PLUTO, rent stabilization — in plain English.186MIT
- AlicenseBqualityAmaintenanceMCP server for the BoondManager API, enabling Claude to search, create, and modify records across 36 domains with 158 tools.1821,05518Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn enhanced MCP server providing comprehensive financial market data endpoints for quantitative trading analysis, including SEC filings, FINRA short volume, earnings, news, and Google Trends. It features meta-tools that consolidate multiple data sources into single efficient calls, optimizing for AI agents with iteration budgets.8MIT
Related MCP Connectors
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
MCP server for nonprofit financials via ProPublica — IRS Form 990 data for 1.8M+ nonprofits.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
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/ark9164-create/blaylock-emma-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server