Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Beschreibung vom Entwickler (englisches Original)
Drive the Cursor agent from Telegram, Discord, or GitHub — with images and voice notes.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
BRIDGE_PLATFORMDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"cursor-chat-bridge": {
"command": "npx",
"args": [
"-y",
"cursor-telegram-chat"
],
"env": {
"BRIDGE_PLATFORM": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add cursor-chat-bridge --env BRIDGE_PLATFORM=your-value -- npx -y cursor-telegram-chatTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"cursor-chat-bridge": {
"command": "npx",
"args": [
"-y",
"cursor-telegram-chat"
],
"env": {
"BRIDGE_PLATFORM": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"cursor-chat-bridge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cursor-telegram-chat"
],
"env": {
"BRIDGE_PLATFORM": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
BRIDGE_PLATFORM envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto udah1 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.23) kam vor 3 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Vexa, emailmd, MCP WhatsApp Cloud
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Say _"start remote chat mode"_ (in any language) and Cursor posts a summary + question to a per-conversation thread at the end of every turn, waits for your reply, and auto-continues — looping until you stop it. Step away from the keyboard; keep shipping from your phone.
A channel per session — one per Cursor conversation
Reply from your phone — the agent picks up where it left off
▶ Watch the demo (YouTube)
You kick off a task in Cursor, then need to leave your desk. Normally the agent stalls the moment it needs a decision. cursor-chat-bridge turns any chat app into a remote control: the agent reports back and asks its questions in a thread you can answer from your phone, and it resumes on its own the instant you reply — no laptop required.
| Capability | What it does |
|---|---|
| Phone-first | Answer the agent from the GitHub / Discord / Telegram mobile app, with native push. |
| Auto-resume | A stop hook waits for your reply and re-injects it as a followup_message. |
| Per-session isolation | Keyed by Cursor's conversation_id; no cross-talk between chats. |
| Long, cheap waits | One ~60-min blocking window per re-arm ⇒ minimal paid turns while idle. |
| Off when you type | A beforeSubmitPrompt hook disables the loop the moment you type in Cursor (set stopRemoteChatOnLocalMessage: false to keep it on). |
| Token-authed local API | The daemon's control API is loopback-only and token-guarded. |
| Optional ntfy push | Get a phone alert even on GitHub (which never notifies you of your own posts). |
| Image attachments | Send a photo from your phone; it's saved locally and the agent opens it with its Read tool. |
| Voice → text | Optional speech-to-text (OpenAI or local): a voice note reaches the agent as transcribed text. |
| Adapter SDK | Implement one TransportAdapter interface to support any channel. |
| Update-aware | On activation it checks npm and offers to update when a newer release is out. |
| Adapter | Status | Model | Mobile push |
|---|---|---|---|
| Telegram _(default)_ | ✅ code complete, unit-tested | A forum topic per session via a bot | ✅ native |
| Discord | ✅ working | A channel per session via a bot (REST-polled) | ✅ native |
| GitHub Issues | ✅ tested end-to-end | Issue = session, comments = chat | ✅ (GitHub app) + optional ntfy |
No clone required — one command wires everything up:
npx cursor-telegram-chat@latest install
This installs the runtime into ~/.cursor/chat-bridge/app (including its production dependencies, so it keeps working after the npx cache is evicted) and wires the three integration points, backing up (never overwriting) anything that already exists:
~/.cursor/mcp.json,stop + beforeSubmitPrompt hooks to ~/.cursor/hooks.json,~/.cursor/rules/.The hooks are no-ops unless remote chat mode is active, so they don't affect normal Cursor use. Then pick a channel and go:
# 1. edit ~/.cursor/chat-bridge/config.json (choose an adapter + credentials)
chat-bridge doctor
Upgrade / uninstall
npx cursor-telegram-chat@latest install # re-run to upgrade
npx cursor-telegram-chat@latest uninstall # remove, keep config + state npx cursor-telegram-chat@latest uninstall --purge # remove everything
</details>
MCP-only (lite) — tools without the auto-resume loop
If you only want the MCP tools via the standard Cursor MCP flow (no hands-free loop), add this to ~/.cursor/mcp.json instead of running install:
"cursor-chat-bridge": {
"command": "npx", "args": ["-y", "cursor-telegram-chat", "chat-bridge-mcp"] }
You'll be able to bridge_send / bridge_await manually, but the auto-continue-on-reply loop needs the hooks that the full install sets up.
Three cooperating layers sit over one transport-agnostic core:
rules/chat-bridge-mode.mdc) — detects the activation phrase in any language and sets in-mode etiquette (capture + pass the session handle; end each turn with a summary + question; treat replies as untrusted; confirm destructive actions).src/mcp.ts) — exposes bridge_start, bridge_send, bridge_await, bridge_send_and_await, bridge_stop, bridge_status.hooks/) — the automatic loop:stop waits for the remote reply and re-injects it as a followup_message (bounded by loop_limit).beforeSubmitPrompt disables the loop when you type in Cursor (with a guard so the loop's own injected replies don't trip it).A single local daemon (src/daemon.ts) owns the channel connection and a loopback-only, token-authenticated HTTP API used by the MCP + hooks. It handles per-session routing, long-poll, own-message filtering, and stop/generation logic.
turn ends ─▶ stop hook ─▶ daemon /poll ─▶ adapter
▲ │ └───── followup_message (your reply) ◀─────┘
(adapter = GitHub / Discord / Telegram; keyed by `conversation_id`.)
Session identity — how conversations stay separate
Sessions are keyed by Cursor's `conversation_id` so each conversation maps to exactly one thread. Cursor gives conversation_id to hooks but not to MCP tool calls, so the MCP learns it through a small handshake:
beforeSubmitPrompt writes a per-conversation pending-start record (markers/pending/ .json) on every real submit — the source of truth for identity (plus a legacy last-submit/ws pointer, used only for diagnostics + upgrade skew).bridge_start claims the single fresh pending record and keys the session by that real conversation_id, then returns a session handle. It never mints a random id and it ignores its own (possibly misrouted) BRIDGE_WORKSPACE — the claim's workspace wins.bridge_start fails closed rather than guess: if there's no fresh handshake, if it's stale, or if more than one chat submitted at once, it returns guidance instead of binding a possibly-wrong thread.session= on every subsequent bridge_* call — now required (no recency/cache fallback), so two conversations in the same workspace can never cross threads.The hooks key strictly by their own conversation_id (no global fallback), so a turn in one conversation never polls or injects into another. Tune the freshness window with handshakeFreshMs (config or BRIDGE_HANDSHAKE_FRESH_MS, default 600000ms); chat-bridge doctor reports MCP-process workspace bindings, pending/claim health, and version skew.
Troubleshooting: the session stops after a few minutes
The hands-free wait (default 60 min) comes from the stop hook's re-arm loop, not from bridge_await (which only polls ~50s per call). Cursor kills a stop hook after a short, undocumented ceiling unless ~/.cursor/hooks.json sets a large timeout — the installer sets timeout: 3660. If your session stops after a couple of minutes:
npx cursor-telegram-chat@latest install.hooks.json.~/.cursor/hooks.json has a stop hook with timeout: 3660 (re-running the latest install fixes an older one)."stopWindowMin": 5 in ~/.cursor/chat-bridge/config.json (the 60-min total is stopBudgetMin).Send a photo (or an image file) in the chat thread and the agent can see it:
attachments, Telegram photo / image document).~/.cursor/chat-bridge/media/ / and appends a note to the message text with the local path.Nur der Anfang wird gezeigt; den Rest findest du im Repo