Skip to main content
Glama
MobileVibe

notification

by MobileVibe

Cline Notification Server

An MCP server for Cline that enables sending notifications and receiving responses via Telegram. When Cline needs to ask a question, it will send you a Telegram message and wait for your response.

Features

  • Send notifications with different urgency levels (low, medium, high)

  • Automatically waits for user responses

  • Configurable timeout (defaults to 30 seconds)

  • Stops Cline when user is unavailable to prevent unwanted actions

Related MCP server: telegram-mcp

Installation

npm install cline-notification-server

Setup

1. Create a Telegram Bot

  1. Message @BotFather on Telegram

  2. Send /newbot and follow the instructions

  3. Save the bot token you receive (it looks like 123456789:ABCdefGHIjklMNOpqrsTUVwxyz)

  4. Start a chat with your new bot

  5. Message /start to your bot

2. Get Your Chat ID

  1. Send a message to your bot

  2. Open this URL in your browser (replace BOT_TOKEN with your token):

    https://api.telegram.org/botBOT_TOKEN/getUpdates
  3. Look for the chat object and note the id field - this is your chat ID

3. Configure Cline

Add the server to your Cline configuration file:

For VSCode extension (cline_mcp_settings.json):

{
  "mcpServers": {
    "notification": {
      "command": "npx",
      "args": ["cline-notification-server"],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your_bot_token",
        "TELEGRAM_CHAT_ID": "your_chat_id"
      }
    }
  }
}

For Claude desktop app (claude_desktop_config.json):

{
  "mcpServers": {
    "notification": {
      "command": "npx",
      "args": ["cline-notification-server"],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your_bot_token",
        "TELEGRAM_CHAT_ID": "your_chat_id"
      }
    }
  }
}

How It Works

When Cline needs to ask you a question:

  1. It sends a message via Telegram using your bot

  2. Waits up to 30 seconds for your response

  3. If you respond within 30 seconds, Cline continues with your answer

  4. If you don't respond within 30 seconds, Cline stops and waits for you to restart it

Example Usage

When this server is configured, Cline can use it to ask you questions:

// Example of how Cline uses the notification tools
const response = await use_mcp_tool({
  server_name: "notification",
  tool_name: "send_notification",
  arguments: {
    message: "Should I proceed with deploying to production?",
    project: "MyApp",
    urgency: "high"
  }
});

Messages are formatted with:

  • 🚨 Prefix for high urgency

  • ⚠️ Prefix for medium urgency

  • No prefix for low urgency

Environment Variables

  • TELEGRAM_BOT_TOKEN: Your Telegram bot token from BotFather

  • TELEGRAM_CHAT_ID: Your Telegram chat ID where messages will be sent

Contributing

Feel free to open issues or submit pull requests if you have suggestions for improvements.

License

MIT

Available Tools

2 tools
check_notification_responseB

Check if the user has responded to a notification

ParametersJSON Schema
NameRequiredDescriptionDefault
message_idYesThe ID of the message to check for responses
timeout_secondsNoHow long to wait for a response before giving up (default: 30)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the basic check action, omitting whether the tool blocks, whether it returns a boolean, or whether it has side effects. The schema parameter for timeout_seconds hints at waiting, but the description adds no such context.

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 description is a single, focused sentence with no fluff. It is front-loaded and communicates the core purpose directly, making it easy for an agent to parse quickly.

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?

The tool has no output schema and no annotations, so the description should explain expected behavior and return value. It only states the check action, leaving the agent to infer timeout behavior, return format, and what constitutes a response. For a tool with a timeout parameter, this is a notable gap.

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?

The input schema has 100% coverage, with descriptions for both parameters, so the baseline is 3. The tool description does not add any extra meaning beyond what the schema already provides for message_id or timeout_seconds.

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 clearly states the specific action ('Check') and resource ('if the user has responded to a notification'). It naturally distinguishes itself from the sibling tool send_notification, as checking is conceptually different from sending.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that it should be used after sending a notification, nor does it exclude any scenarios where it would be inappropriate.

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

send_notificationB

Send a text message notification to the user

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe message to send to the user
projectYesThe name of the project the LLM is working on
urgencyNoThe urgency of the notification

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations available, the description carries the full burden of behavioral disclosure. It implies a side effect through the verb 'send' but does not mention permissions, reversibility, failure modes, or return behavior, leaving significant ambiguity for a mutation-like action.

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 description is a single, front-loaded sentence with no wasted words. It immediately communicates the action and recipient, which is ideal for a simple tool.

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 simple sending tool, the description and schema are adequate, but the lack of usage guidance and no output schema leave uncertainty about expected outcomes. It is minimally viable but not comprehensive.

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?

The input schema already provides 100% coverage with clear descriptions for all three parameters, including the urgency enum. The description adds no additional parameter meaning, so a baseline score of 3 is appropriate.

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?

The description clearly states the tool sends a text message notification to the user, using a specific verb and target. It doesn't explicitly contrast with the sibling tool check_notification_response, but the action is distinct enough to avoid confusion.

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 guidance is provided on when to use this tool versus the sibling check_notification_response, nor any prerequisites or exclusions. The description only states what the tool does, not when it should be chosen.

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. 2 tool updatesv0.1.0
    • First observedcheck_notification_response
    • First observedsend_notification

TDQS

A3.5/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one sends a notification, the other checks for a response. There is no overlap or confusion between them.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern (send_notification, check_notification_response), using snake_case and clear action-object structure.

Tool Count3/5

With only 2 tools, the set feels thin, but it is plausible for a narrowly scoped notification utility. It is not extreme, but on the low end of the typical range.

Completeness4/5

The pair covers sending a notification and checking for a response, which are the core operations. Missing features like canceling or resending are minor gaps that agents can work around.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with users via Telegram to request decisions, approvals, or specific input through text and clickable buttons. This facilitates a human-in-the-loop workflow where the AI can pause for feedback or send status notifications during long-running tasks.
    3
    -