Share the link with friends using SKILL — they can also command the agent

Send this page's URL to anyone who has installed the push-server SKILL. They can open it directly without signing in. The channelCode in the URL is written to their browser's MCP configuration (LocalStorage) and the sub-channel list loads automatically, so they can create, edit, delete, reset, copy and test every channel in the combo group.

Once they put the channelCode into the X-Push-Channel-Code Header of their AI client's MCP config, the agent can push task results to that channel. They can also manage the sub channels right here, letting multiple agents or teammates share the same delivery targets.

What this tool is

OnePass (push-server) is an aggregated message-push platform: one API pushes to WeCom, DingTalk, Feishu, email and custom webhooks, with Markdown, scheduled delivery and on-site bullet comments. The manual written for agents: skill.md.

  • 18 push types: browser, WeCom group bot, DingTalk group bot, Feishu group bot, webhook push, BARK (iOS), Telegram, Discord, official email, plus custom mailboxes (QQ / 163 / 126 / Sohu / 139 / 189 / Sina / Aliyun).
  • A channel code is a 32-char hex string. A combo channel (pushType=10) acts as the parent: push to the parent code and every sub channel receives it; push to a sub code and only that one does. This page manages the sub channels of this combo channel.
  • Two ways in: MCP (for AI clients, adds 5 tools) and the anonymous HTTP push endpoint (for your own scripts, CI and monitoring alerts).

Wiring it into an AI client: the three MCP pieces

  • Server URL: https://www.phprm.com/services/push/mcp. It is remote — nothing to install locally.
  • Auth header: X-Push-Channel-Code carries the 32-char channel code; optional X-Mcp-Source labels the client.
  • Channel code: exactly the channelCode value in the link above — replace the ****** in the sample with it.

The 5 tools your agent gains

  • send_push_message: one message. head required, ≤200 chars; body Markdown ≤50000 chars; url click-through ≤500 chars; channelCode falls back to the header value.
  • send_multi_message: 1~32 messages at once, each may carry its own channelCode. Use it for batch collection, cross-channel delivery, or when the user asks for separate messages.
  • get_access_token: exchanges the channel code for a short-lived Bearer token (7200s default, scope defaults to basic) for the /oauth2/push/* management API — everything this page does (add / edit / delete / reset code) goes through it.
  • create_auth_session: no channel code needed. Opens a one-time third-party sign-in session for a user who has no channel yet and returns sessionId + authUrl (600s TTL, single use). Ask the user which login to use first — the supported set comes from the tool provider enum (currently Feishu / DingTalk / Gitee / GitHub).
  • poll_auth_session: no channel code needed. Polls that sessionId: pending means keep waiting at the returned pollInterval; success hands back the single-use personal channel code plus an mcpConfig shaped for the client named in X-Mcp-Source; expired / consumed / failed means stop and open a new session. The third-party token only ever travels between the user browser and the website — the agent never sees it.

No MCP? Plain HTTP pushes too

The GET push endpoint is anonymous: head / body / url / avatar all go in the query string, and delayMilliseconds schedules the push (up to 10 days).

Copy this and paste it to your friend's agent

Once your friend has the push-server SKILL installed, sending the block below to their own agent is enough (it already carries the shared channel code):