rxjs-mcp-server
RxJS MCP Server
Hier geht es zum japanischen README
⚠️ Dies ist ein inoffizielles Community-Projekt und steht in keiner Verbindung zum RxJS-Team.
Führe RxJS-Streams direkt von KI-Assistenten wie Claude aus, debugge und visualisiere sie.
Funktionen
🚀 Stream-Ausführung
Führe RxJS-Code aus und erfasse Emissionen
Zeitstrahl-Visualisierung mit Zeitstempeln
Überwachung der Speicherauslastung
Unterstützung für alle wichtigen RxJS-Operatoren
📊 Marble-Diagramme
Generiere ASCII-Marble-Diagramme
Visualisiere das Stream-Verhalten über die Zeit
Automatische Mustererkennung
Klare Legende und Erklärungen
🔍 Operator-Analyse
Analysiere Operator-Ketten auf Performance
Erkenne potenzielle Probleme und Engpässe
Schlage alternative Ansätze vor
Kategorisiere Operatoren nach Funktion
🛡️ Erkennung von Speicherlecks
Identifiziere nicht abonnierte Subscriptions
Erkenne fehlende Bereinigungsmuster
Framework-spezifische Empfehlungen (Angular, React, Vue)
Bereitstellung korrekter Bereinigungsbeispiele
💡 Muster-Vorschläge
Erhalte bewährte RxJS-Muster
Framework-spezifische Implementierungen
Abgedeckte Anwendungsfälle:
HTTP-Retry mit Backoff
Such-Typeahead
WebSocket-Wiederverbindung
Formularvalidierung
Zustandsverwaltung
Und mehr...
Installation
# Install globally
npm install -g @shuji-bonji/rxjs-mcp
# Or use with npx
npx @shuji-bonji/rxjs-mcpKonfiguration
Claude Desktop
Füge dies zu ~/Library/Application Support/Claude/claude_desktop_config.json hinzu:
{
"mcpServers": {
"rxjs": {
"command": "npx",
"args": ["@shuji-bonji/rxjs-mcp"]
}
}
}VS Code mit Continue/Copilot
Füge dies zu .vscode/mcp.json hinzu:
{
"mcpServers": {
"rxjs": {
"command": "npx",
"args": ["@shuji-bonji/rxjs-mcp"]
}
}
}Cursor
Füge dies zu ~/.cursor/mcp.json hinzu:
{
"mcpServers": {
"rxjs": {
"command": "npx",
"args": ["@shuji-bonji/rxjs-mcp"]
}
}
}Verfügbare Tools
execute_stream
Führe RxJS-Code aus und erfasse Stream-Emissionen mit Zeitstrahl.
Das Tool akzeptiert entweder einen Ausdruck, der zu einem Observable ausgewertet wird, oder ein Snippet, das mit einem solchen Ausdruck endet — return ist optional.
// ✅ Trailing expression (v0.2.0+): the last expression is returned implicitly
interval(100).pipe(
take(5),
map((x) => x * 2),
);
// ✅ Declaration + trailing reference
const stream$ = interval(100).pipe(
take(5),
map((x) => x * 2),
);
stream$;
// ✅ Explicit return (always works)
return interval(100).pipe(
take(5),
map((x) => x * 2),
);generate_marble
Generiere ASCII-Marble-Diagramme aus Ereignisdaten.
// Input: array of timed events
[
{ time: 0, value: 'A' },
{ time: 50, value: 'B' },
{ time: 100, value: 'C' },
];
// Output: A----B----C--|analyze_operators
Analysiere RxJS-Operator-Ketten auf Performance und Best Practices.
// Analyzes chains like:
source$.pipe(
map((x) => x * 2),
filter((x) => x > 10),
switchMap((x) => fetchData(x)),
retry(3),
);detect_memory_leak
Erkenne potenzielle Speicherlecks und fehlende Bereinigungen.
// Detects issues like:
- Missing unsubscribe
- No takeUntil operator
- Uncompleted Subjects
- Infinite intervalssuggest_pattern
Erhalte produktionsreife Muster für häufige Anwendungsfälle.
Verfügbare Muster:
http-retry- Resilientes HTTP mit Retrysearch-typeahead- Debounced-Suchepolling- Intelligentes Polling mit Backoffwebsocket-reconnect- Automatisch wiederverbindendes WebSocketform-validation- Reaktive Formularvalidierungstate-management- Einfacher State-Storecache-refresh- Cache mit Refresh-StrategieUnd mehr...
Anwendungsbeispiele
Mit Claude
User: "Execute this RxJS stream and show me the output"
Claude: I'll execute that RxJS stream for you.
[Uses execute_stream tool]
## Stream Execution Result
✅ Completed
Execution Time: 523ms
Values Emitted: 5
### Emitted Values
[0, 2, 4, 6, 8]Debugging von Speicherlecks
User: "Check this Angular component for memory leaks"
Claude: I'll analyze your component for potential memory leaks.
[Uses detect_memory_leak tool]
## Memory Leak Analysis
⚠️ Potential leaks detected
1. 🔴 subscription (high severity)
- Found 3 subscribe() calls but only 1 unsubscribe()
- Fix: Use takeUntil pattern with destroy$ subjectMuster abrufen
User: "Show me how to implement search with RxJS"
Claude: I'll show you the search typeahead pattern.
[Uses suggest_pattern tool with useCase: 'search-typeahead']
## Search Typeahead with Debounce
[Full implementation with explanation]Sicherheit
Das execute_stream-Tool führt vom Benutzer bereitgestellten Code in einem isolierten Worker-Thread aus, um Folgendes zu verhindern:
Verschmutzung des Hauptprozesses
Ressourcenlecks durch Endlosschleifen oder Timer
Zugriff auf sensible Node.js-APIs (process, fs, etc.)
Die Ausführung wird zwangsweise beendet, wenn das konfigurierte Zeitlimit überschritten wird.
Entwicklung
# Clone the repository
git clone https://github.com/shuji-bonji/rxjs-mcp-server
cd rxjs-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test # Unit tests (vitest)
npm run test:mcp # MCP integration test
npm run test:inspector # MCP Inspector (GUI)
# Run in development
npm run devRelease
Releases werden über GitHub Actions automatisiert und mittels Trusted Publisher (OIDC) auf npm veröffentlicht — es werden keine statischen Token verwendet, und jedes Release trägt eine npm-Provenienz-Attestierung. Siehe RELEASING.md für den vollständigen Workflow (und die anfängliche npm-Einrichtung).
Integration mit anderen MCP-Servern
Der RxJS MCP Server funktioniert hervorragend zusammen mit:
Angular MCP - Für das Scaffolding von Angular-Projekten
TypeScript MCP - Für die Typüberprüfung
ESLint MCP - Für Codequalität
Zukünftige Meta-MCP-Integrationen werden eine nahtlose Koordination zwischen diesen Tools ermöglichen.
Architektur
┌─────────────────┐
│ AI Assistant │
│ (Claude, etc) │
└────────┬────────┘
│
MCP Protocol
│
┌────────┴────────┐
│ RxJS MCP Server│
├─────────────────┤
│ • execute_stream│
│ • generate_marble│
│ • analyze_operators│
│ • detect_memory_leak│
│ • suggest_pattern│
└─────────────────┘Mitwirken
Beiträge sind willkommen! Bitte reiche gerne einen PR ein.
Lizenz
MIT
Autor
Shuji Bonji
Links
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/shuji-bonji/rxjs-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server