Skip to main content
Glama
udah1

cursor-chat-bridge

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
BRIDGE_CA_CERTNoPath to CA certificate for TLS-intercepting proxies
BRIDGE_PLATFORMNoActive adapter: github, telegram, or teams
BRIDGE_GITHUB_REPONoGitHub repository in owner/repo format
BRIDGE_GITHUB_TOKENNoGitHub personal access token with repo scope
BRIDGE_POLL_INTERVALNoPoll interval in seconds (minimum 10)
BRIDGE_TELEGRAM_CHAT_IDNoTelegram forum group chat ID
BRIDGE_TELEGRAM_BOT_TOKENNoTelegram bot token from @BotFather
BRIDGE_TELEGRAM_ALLOWED_USER_IDSNoComma-separated list of allowed Telegram user IDs

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
bridge_startA

Opens a dedicated thread for THIS conversation in the configured chat channel (GitHub issue, Telegram topic, or Discord channel) and returns the session handle that every other bridge_* tool requires. Call it when the user asks — in any language — to start remote chat, bridge, or Telegram mode. Call it once per conversation: every call without session opens a NEW thread, so re-arm an existing session by passing its handle back instead of starting again. When no channel is configured it returns onboarding instructions rather than failing, so follow them and call again. It identifies the conversation from Cursor's pending handshake and fails closed with guidance when that is ambiguous — it will not guess which conversation it belongs to.

bridge_sendA

Posts one message to this conversation's chat thread and returns immediately without waiting for a reply. Use it for a progress note or a closing remark that needs no answer; when you need the user to respond, use bridge_send_and_await instead so the post and the wait are one call. Each call appends a new message and never edits or replaces an earlier one, so a retry after a failure leaves a duplicate in the thread.

bridge_awaitA

Blocks on this conversation's chat thread for a single long-poll window and returns JSON with status 'message' plus the reply text, 'timeout', or 'stopped'. Use it when you already posted with bridge_send and only need the answer; to post and wait together, prefer bridge_send_and_await. Replies are consumed as they are delivered, so each message comes back exactly once and a later call will not see it again. A 'timeout' is normal rather than an error — the window elapsed with no reply, and you keep waiting by calling again. 'stopped' means the user ended remote chat mode, so stop calling bridge_* tools until a new bridge_start.

bridge_send_and_awaitA

Posts a message to this conversation's chat thread and then blocks for the reply in one round trip — the end-of-turn summary-plus-question pattern, and the tool to reach for by default. Equivalent to bridge_send followed by bridge_await; use those separately only when you need to post and wait at different moments. Returns the same envelope as bridge_await: 'message' with the reply, 'timeout', or 'stopped'. The message is posted before the wait begins, so after a 'timeout' the user has already seen it — send only what is new rather than repeating the summary, which would post it twice.

bridge_stopA

Ends remote chat mode for THIS conversation: the daemon stops polling the thread, any in-flight wait returns 'stopped', and the session handle stops working — resuming later needs a fresh bridge_start. The conversation history is left intact; the thread is not deleted and a GitHub issue is not closed, so the record stays readable afterwards. Calling it twice, or on a session that already ended, is harmless. Use it when the user says they are done — not in response to a 'timeout' from bridge_await, which only means no reply has arrived yet.

bridge_statusA

Reports the bridge's record for THIS conversation as JSON — which adapter is in use, the thread it is bound to, and whether the session is still active — or a null session once it has ended. Diagnostics only: it posts nothing to the thread and does not consume a pending reply, so unlike bridge_await it is safe to call at any point, including while deciding whether a bridge_start is still needed. It answers from local daemon state without contacting the chat provider, so it confirms what the bridge believes rather than that the provider is reachable.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/udah1/cursor-chat-bridge'

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