Skip to main content
Glama

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.mdWhy 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)

claude.ai/download

Python 3.10+

Laufzeitumgebung für den Server

Mac: python3 --version · Win: python --version

uv

Python-Paketmanager (verwaltet das venv automatisch)

uv --version

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)

  1. Öffnen Sie Claude Desktop → SettingsDeveloperEdit Config. Dies öffnet claude_desktop_config.json.

  2. Fügen Sie einen emma-Eintrag innerhalb des mcpServers-Objekts hinzu. Verwenden Sie den absoluten Pfad zu dem .venv/bin/python, das uv sync gerade erstellt hat, und den absoluten Pfad zu server.py:

{
  "mcpServers": {
    "emma": {
      "command": "/Users/YOURNAME/emma-mcp/.venv/bin/python",
      "args": ["/Users/YOURNAME/emma-mcp/server.py"]
    }
  }
}
  1. Speichern Sie, beenden Sie Claude Desktop vollständig (Cmd+Q, nicht nur das Fenster schließen) und öffnen Sie es erneut.

  2. 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)

  1. Öffnen Sie %APPDATA%\Claude\claude_desktop_config.json in einem Texteditor. (Fügen Sie diesen Pfad in die Adressleiste des Explorers ein — Windows löst %APPDATA% zu C:\Users\YOU\AppData\Roaming auf.)

  2. 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"]
    }
  }
}
  1. Speichern Sie, beenden Sie Claude Desktop vollständig (Rechtsklick auf das Tray-Symbol → Quit), öffnen Sie es erneut.

  2. Ü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_PROXY und HTTP_PROXY vor 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 Sie https://emma.msrb.org in 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_statement und dann extract_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 in USAGE.mdThe conduit cheat sheet.

Server startet, aber Claude sagt „no tools available“.

  • Sie haben wahrscheinlich server.py bearbeitet und es gibt einen Python-Syntaxfehler. Führen Sie uv run python server.py in 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

server.py

Der MCP-Server selbst — ca. 1.500 Zeilen, Python, Playwright. 18 Tools, 2 Ressourcen.

CLAUDE.md

Blaylock-Compliance-Regeln. Wird in jede EMMA-Sitzung als MCP-Ressource emma://rules/CLAUDE.md geladen.

EMMA_ABBREVIATIONS.md

EMMA's telegrafische Emittentennamen-Abkürzungen (HOSP, AUTH, SR, CMNTY, etc.) + Conduit-Spickzettel. Geladen als Ressource emma://rules/EMMA_ABBREVIATIONS.md.

README.md

Diese Datei.

USAGE.md

Umfassende Referenz: die 18 Tools, die kanonische Workflow-Kette, Beispiel-Prompts für Banker, Vorbehalte.

pyproject.toml, uv.lock

Python-Abhängigkeitsmanifest.

_demo_pulse.py

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.

_fetch_os_pdfs.py

Begleitskript, das OS-PDFs für die Tier 2 (Cowork)-Demo des Capstones stapelweise heruntergeladen hat. Nicht erforderlich, um den Server auszuführen.

os_pdfs/

Beispiel-Official Statements, die während des Tests über das MCP heruntergeladen wurden. Behalten oder löschen — der Ordner wird beim ersten Aufruf von download_official_statement automatisch neu erstellt.


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.

Install Server
F
license - not found
A
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    C
    maintenance
    An 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.
    33
    36
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    18
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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.
    8
    MIT

View all related MCP servers

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

View all MCP Connectors

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/ark9164-create/blaylock-emma-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server