Skip to main content
Glama
al-one

MCP Server for notify to weixin / telegram / bark / lark

PushPlus推送消息

pushplus_send_msg

Send notifications to WeChat, email, or webhook via PushPlus. Supports HTML, plain text, or Markdown content with optional title and token.

Instructions

通过PushPlus(推送加)推送消息

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contentYes消息内容
titleNo消息标题
tokenNo用户token,默认从环境变量获取
templateNo消息内容格式: `html`(默认)/`txt`/`markdown`
channelNo发送渠道: `wechat`(默认)/`webhook`/`mail`

Implementation Reference

  • The pushplus_send_msg tool handler function. It sends a message via PushPlus using the provided content, title, token, template, and channel parameters. Falls back to PUSH_PLUS_TOKEN env var if token is not provided, and PUSH_PLUS_BASE_URL env var for the base URL.
    def pushplus_send_msg(
        content: str = Field(description="消息内容"),
        title: str = Field("", description="消息标题"),
        token: str = Field("", description="用户token,默认从环境变量获取"),
        template: str = Field("", description="消息内容格式: `html`(默认)/`txt`/`markdown`"),
        channel: str = Field("", description="发送渠道: `wechat`(默认)/`webhook`/`mail`"),
    ):
        """
        https://www.pushplus.plus/doc/guide/api.html
        """
        if not token:
            token = os.getenv("PUSH_PLUS_TOKEN", "")
        base = os.getenv("PUSH_PLUS_BASE_URL") or "http://www.pushplus.plus"
        res = requests.post(
            f"{base}/{token}",
            json={
                "content": content,
                "title": title,
                "template": template,
                "channel": channel,
            },
        )
        return res.json()
  • The @mcp.tool decorator registering pushplus_send_msg as a tool with title 'PushPlus推送消息' and description '通过PushPlus(推送加)推送消息'.
    @mcp.tool(
        title="PushPlus推送消息",
        description="通过PushPlus(推送加)推送消息",
    )
  • The function signature with Pydantic Field definitions for content (required), title, token, template, and channel parameters.
    def pushplus_send_msg(
        content: str = Field(description="消息内容"),
        title: str = Field("", description="消息标题"),
        token: str = Field("", description="用户token,默认从环境变量获取"),
        template: str = Field("", description="消息内容格式: `html`(默认)/`txt`/`markdown`"),
        channel: str = Field("", description="发送渠道: `wechat`(默认)/`webhook`/`mail`"),
  • Registration of the other.add_tools(mcp) module, which includes the pushplus_send_msg tool.
    other.add_tools(mcp)
    hass.add_tools(mcp)
    util.add_tools(mcp)
Behavior2/5

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

No annotations are present, and the description fails to disclose any behavioral traits such as rate limits, error handling, permissions, or side effects. The description only restates the action without transparency.

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?

The description is extremely concise at one sentence, which is appropriate for a simple tool. However, it sacrifices completeness for brevity, but conciseness alone is well-achieved.

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?

Given the absence of annotations and output schema, and the presence of 5 parameters and many siblings, the description is insufficient. It lacks context on return values, errors, and integration nuances, leaving the agent underinformed.

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 descriptions for each parameter. The description adds no additional semantic value beyond what the schema states, meeting the baseline.

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 verb (push/send) and the resource (PushPlus platform). However, it does not differentiate from other notification sibling tools like bark_send_notify or lark_send_text, but the basic purpose is evident.

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 alternatives, nor any exclusions or prerequisites. With many sibling notification tools, the lack of usage context reduces effectiveness.

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

Install Server

Other Tools

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/al-one/mcp-notify'

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