Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Cursor Chat Bridge

by udah1version 0.1.23i★ –iRuns on your computer
Registry nameio.github.udah1/cursor-chat-bridge

Install

Overview

Description from the maker (original English)

Drive the Cursor agent from Telegram, Discord, or GitHub — with images and voice notes.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Chat & email

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: BRIDGE_PLATFORM

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "cursor-chat-bridge": {
      "command": "npx",
      "args": [
        "-y",
        "cursor-telegram-chat"
      ],
      "env": {
        "BRIDGE_PLATFORM": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add cursor-chat-bridge --env BRIDGE_PLATFORM=your-value -- npx -y cursor-telegram-chat

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "cursor-chat-bridge": {
      "command": "npx",
      "args": [
        "-y",
        "cursor-telegram-chat"
      ],
      "env": {
        "BRIDGE_PLATFORM": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "cursor-chat-bridge": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "cursor-telegram-chat"
      ],
      "env": {
        "BRIDGE_PLATFORM": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • BRIDGE_PLATFORM env
    Which chat adapter to use: telegram | discord | github. Optional — defaults to activeAdapter in ~/.cursor/chat-bridge/config.json.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account udah1, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Chat & emaili

  • More stars than 0% of the other 1778 servers in this category
  • Published to the registry more recently than 21% of the other 1778 servers in this category
  • Basic checks equal to or better than 100% of the other 1778 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Cursor Chat Bridge safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.23) reached the registry 3 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Vexa

by Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Runs in the cloud★ 2,949Apache-2.0Updated 2 months ago
Install

emailmd

by anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computer or cloud★ 1,385MITUpdated 31 days ago
Install

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Runs on your computer★ 277MITUpdated 5 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

🌉 cursor-chat-bridge (Telegram, Discord, GitHub)

Drive the Cursor agent from your phone — over Telegram, Discord, or GitHub.

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)


Table of contents

  • Why
  • Features
  • Channels at a glance
  • Quick start
  • How it works
  • Image attachments
  • Voice messages (speech-to-text)
  • Read receipts (acknowledgments)
  • Configuration
  • Environment overrides
  • The wait loop
  • Push notifications (ntfy)
  • Per-platform setup
  • Writing a new adapter
  • Security
  • Verification status
  • Contributing
  • License

Why

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.

  • A thread per conversation. Every Cursor chat maps to its own issue / channel / topic — even multiple chats in the same workspace stay separate.
  • Hands-free loop. Replies are re-injected automatically; you don't touch Cursor to continue.
  • Pluggable channels. Telegram, Discord, and GitHub Issues today — add your own in ~100 lines.
  • Safe by default. Remote replies are treated as untrusted; destructive actions require an explicit confirmation sent back through the thread.
  • Proxy-friendly. GitHub and Discord tunnel through TLS-intercepting corporate proxies.

Features

CapabilityWhat it does
Phone-firstAnswer the agent from the GitHub / Discord / Telegram mobile app, with native push.
Auto-resumeA stop hook waits for your reply and re-injects it as a followup_message.
Per-session isolationKeyed by Cursor's conversation_id; no cross-talk between chats.
Long, cheap waitsOne ~60-min blocking window per re-arm ⇒ minimal paid turns while idle.
Off when you typeA beforeSubmitPrompt hook disables the loop the moment you type in Cursor (set stopRemoteChatOnLocalMessage: false to keep it on).
Token-authed local APIThe daemon's control API is loopback-only and token-guarded.
Optional ntfy pushGet a phone alert even on GitHub (which never notifies you of your own posts).
Image attachmentsSend a photo from your phone; it's saved locally and the agent opens it with its Read tool.
Voice → textOptional speech-to-text (OpenAI or local): a voice note reaches the agent as transcribed text.
Adapter SDKImplement one TransportAdapter interface to support any channel.
Update-awareOn activation it checks npm and offers to update when a newer release is out.

Channels at a glance

AdapterStatusModelMobile push
Telegram _(default)_✅ code complete, unit-testedA forum topic per session via a bot✅ native
Discord✅ workingA channel per session via a bot (REST-polled)✅ native
GitHub Issues✅ tested end-to-endIssue = session, comments = chat✅ (GitHub app) + optional ntfy

Quick start

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:

  • registers the MCP server in ~/.cursor/mcp.json,
  • adds the stop + beforeSubmitPrompt hooks to ~/.cursor/hooks.json,
  • installs the activation rule into ~/.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)

2. validate it:

chat-bridge doctor

3. reload Cursor, open a chat, and say: "start remote chat mode"

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.

How it works

Three cooperating layers sit over one transport-agnostic core:

  • Rule (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).
  • MCP server (src/mcp.ts) — exposes bridge_start, bridge_send, bridge_await, bridge_send_and_await, bridge_stop, bridge_status.
  • Hooks (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:

  1. 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).
  2. 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.
  3. 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.
  4. The agent passes 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:

  1. Using the MCP-only (lite) setup? It has no hooks, so there's no auto-resume. Run the full npx cursor-telegram-chat@latest install.
  2. Fully quit and reopen Cursor after installing — a reload doesn't always reload hooks.json.
  3. Confirm ~/.cursor/hooks.json has a stop hook with timeout: 3660 (re-running the latest install fixes an older one).
  4. Still killed early on your Cursor build? Shrink each wait window so it re-arms sooner: set "stopWindowMin": 5 in ~/.cursor/chat-bridge/config.json (the 60-min total is stopBudgetMin).

Image attachments

Send a photo (or an image file) in the chat thread and the agent can see it:

  1. The adapter captures the attachment on the message (Discord attachments, Telegram photo / image document).
  2. The daemon downloads the bytes to ~/.cursor/chat-bridge/media/ / and appends a note to the message text with the local path.
  3. The

Only the beginning is shown; read the rest in the repo

Ask PopNx