Skip to main content
Glama
johannschiffer

OmniBridge MCP

OmniBridge MCP (Lite Edition)

License: MIT Python 3.10+ MCP Compliant

OmniBridge MCP is a lightweight, zero-latency Model Context Protocol server that gives AI agents (in Claude Desktop, Cursor, Windsurf, and Antigravity) direct, controlled access to send real-time alerts, operational notifications, and webhooks without exposing your primary API keys or relying on bloated middleware.


โšก Key Features (Lite Edition)

  • ๐Ÿš€ Zero Heavy Dependencies: Pure Python implementation with minimal footprint (httpx).

  • ๐Ÿ’ฌ Telegram Bot API: Send markdown-formatted alerts, silent notifications, and direct messages.

  • ๐ŸŽฎ Discord Webhooks: Send rich embed cards with custom colors, titles, and timestamps.

  • ๐Ÿ”Œ Universal Compatibility: Works out of the box with any MCP-compliant client via standard IO (stdio).

  • ๐Ÿงช Built-in CLI: Interactive test tool to verify credentials and channel delivery in seconds.


Related MCP server: mcp-telegram

๐Ÿš€ Quick Setup in 2 Minutes

1. Installation

git clone https://github.com/johannschiffer/omnibridge-mcp.git
cd omnibridge-mcp
pip install -r requirements.txt

2. Environment Variables

Create a .env file or export variables in your shell:

# Telegram Bot Token (from @BotFather)
export TELEGRAM_BOT_TOKEN="123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ"

# Discord Webhook URL (from Channel Settings -> Integrations -> Webhooks)
export DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..."

3. Verify with CLI

# Check channels configuration
python -m omnibridge.cli status

# Send a test alert to Discord
python -m omnibridge.cli test --channel discord --message "OmniBridge is live!"

๐Ÿ–ฅ๏ธ Client Configuration

Claude Desktop (claude_desktop_config.json)

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
On Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "omnibridge": {
      "command": "python",
      "args": ["-m", "omnibridge.server"],
      "cwd": "/path/to/omnibridge-mcp",
      "env": {
        "TELEGRAM_BOT_TOKEN": "your_bot_token_here",
        "DISCORD_WEBHOOK_URL": "your_discord_webhook_url_here"
      }
    }
  }
}

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "omnibridge": {
      "command": "python -m omnibridge.server",
      "env": {
        "TELEGRAM_BOT_TOKEN": "your_bot_token_here",
        "DISCORD_WEBHOOK_URL": "your_discord_webhook_url_here"
      }
    }
  }
}

๐Ÿ› ๏ธ MCP Tools Available

Tool

Parameters

Description

send_telegram_message

chat_id, text, disable_notification

Sends Telegram notification with Markdown support

send_discord_alert

content, title, description, color, webhook_url

Sends Discord rich embed card

get_channel_status

(none)

Returns connectivity and health of all channels


๐Ÿ’Ž Need Enterprise Features? Upgrade to OmniBridge Pro

Looking for production-grade reliability, business messaging, and fault tolerance?

Feature

Lite (Open Source)

Pro ($14.99 USD)

Telegram Bot API

โœ…

โœ…

Discord Webhooks

โœ…

โœ…

WhatsApp Cloud API

โŒ

โœ…

Slack Block Kit & Webhooks

โŒ

โœ…

Matrix Protocol Rooms

โŒ

โœ…

Custom Webhooks with HMAC

โŒ

โœ…

Offline WAL Resilient Queue (Zero Message Loss)

โŒ

โœ…

Adaptive Rate Limiting (Anti-ban protection)

โŒ

โœ…

Production Docker & Compose

โŒ

โœ…

Full Pytest Suite & Architecture PDF

โŒ

โœ…

๐Ÿ‘‰ Get OmniBridge Pro on Gumroad ($14.99)


๐Ÿ“„ License

MIT License. See LICENSE for details.

Available Tools

3 tools
get_channel_statusA

Check configuration and operational readiness of all connected notification channels.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the disclosure burden. 'Check' implies a read-only inspection and 'all connected notification channels' establishes scope, but it does not explain what readiness means, whether any active testing occurs, or what kind of status information is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single front-loaded sentence with no wasted words. It puts the scope and behavior in the most useful place immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple zero-parameter inspection tool, and the description gives enough context to invoke it correctly. Since there is no output schema, it could say more about the shape of the returned status, but the core purpose and scope are complete for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline is 4. No parameter semantics are needed, and the description correctly does not invent any inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb, 'Check,' and a specific resource, 'configuration and operational readiness of all connected notification channels.' It is clearly distinct from the sibling send_* tools, which perform outbound actions rather than status inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The tool's purpose implies it should be used for diagnostics or readiness checks, but the description does not explicitly say when to use it, when not to use it, or how it relates to the send_* alternatives. Usage is inferable but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_discord_alertC

Send a rich webhook notification or embed to a Discord channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNoHex decimal color code (default: 3447003 / 0x3498db Blue, 0x2ecc71 Green, 0xe74c3c Red)
titleNoEmbed card title
contentNoOptional raw text message
descriptionNoEmbed card detailed description or body
webhook_urlNoOptional target Discord webhook URL if overriding default

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden, yet it discloses nothing beyond the payload shape. It does not state whether this is a network write, what happens on webhook failure, whether a default webhook must be preconfigured, or any rate-limit/permission constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler; the verb and target channel lead the sentence. It is efficient, though arguably too terse given the tool's network-write nature.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Five optional parameters, no annotations, and no output schema leave meaningful gaps: the description never notes that all parameters are optional, what a minimal call produces, or how a missing webhook_url is resolved. For a network-mutating tool with zero annotation support, this is under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (color, title, content, description, webhook_url) are already documented in the schema, including the hex color values and the webhook override. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Send... to a Discord channel") and the payload type ("rich webhook notification or embed"). The Discord platform makes it distinguishable from send_telegram_message without opening a schema, though the text never explicitly contrasts the two siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of when to prefer this over send_telegram_message or how it relates to get_channel_status. The only implied usage is 'to send Discord alerts,' which restates the name rather than guiding selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send_telegram_messageC

Send a real-time notification or message to a Telegram chat, user, or channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesMessage body to send (supports Markdown)
chat_idYesTelegram chat ID, user ID or @channelusername
disable_notificationNoSend silently without sound alert (default: false)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden and falls short. It claims 'real-time' delivery but says nothing about auth/permission requirements, rate limits, Markdown parsing caveats, failure behavior, or whether sending is idempotent or irreversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, so every word earns its place. It is efficient, though arguably too sparse for a tool with delivery and permission implications.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a side-effecting messaging tool with no annotations and no output schema, the definition is only minimally adequate. An agent learns what it sends but not the operational constraints, permission prerequisites, or delivery outcomes it needs to call it reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents chat_id, text, and disable_notification. The description adds no format details, ID examples, or channel-username nuances beyond what the schema provides, making the baseline of 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (send), resource (message/notification), and target (Telegram chat, user, or channel), so the action is unambiguous. The platform name implicitly separates it from send_discord_alert, but the description never acknowledges the sibling tools or contrasts behavior with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative guidance is given. It does not mention prerequisites (bot membership, chat permissions) or address when to pick this over send_discord_alert. The 'notification or message' phrasing only loosely implies a use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.0
    • First observedget_channel_status
    • First observedsend_discord_alert
    • First observedsend_telegram_message

TDQS

B3.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: sending to Telegram, sending to Discord, and checking channel status. There is no overlap in the resource+action pairs, so an agent can select unambiguously.

Naming Consistency4/5

All three follow a consistent snake_case verb_noun pattern (send_telegram_message, send_discord_alert, get_channel_status). The only minor deviation is the noun choice (message vs. alert) between the two send tools, but the structure remains predictable.

Tool Count4/5

Three tools is a reasonable, well-scoped set for a notification bridge, with each tool earning its place. It is on the lean side, supporting only two channels plus a status check, but nothing is redundant.

Completeness3/5

Despite the 'OmniBridge' name implying broad multi-channel coverage, only Telegram and Discord are supported, and there is no tool to configure or add channels. Core send and status operations exist, but channel lifecycle and broader integrations are notable gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    A streamlined MCP server designed to send AI agent progress updates, images, and files directly to a user via Telegram. It allows users to monitor long-running tasks and receive notifications or build artifacts through a simple messaging interface.
    3
    31 npm
    7
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that wraps the Telegram Bot API into semantic tools for LLM agents, supporting multi-bot management for sending and receiving messages. It enables agents to send text, photos, and documents, as well as fetch recent updates from multiple configured Telegram bots.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for communication service connectors that currently provides multi-account Telegram integration with granular tool access and security controls. It allows AI models to manage messages, chats, and media across various accounts through a flexible, extensible routing architecture.
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    A trusted, open-source MCP server for Telegram that enables LLMs to send messages, structured notifications with buttons, and wait for user replies using only bot token authentication.
    4
    34 PyPI
    MIT