@zeph-to/mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZEPH_API_KEY | Yes | API key from Settings > API Keys | |
| ZEPH_HOOK_ID | No | Hook ID for interactive tools (zeph_prompt, zeph_input) | |
| ZEPH_BASE_URL | No | API base URL (default: https://api.zeph.to/v1) | https://api.zeph.to/v1 |
| ZEPH_DEVICE_ID | No | Target device ID. Omit to send to all devices |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zeph_notifyA | Send a one-way push notification to the user's devices. Use this to inform the user about task completion, errors, or status updates. Long bodies are automatically uploaded as a file for full viewing. |
| zeph_clipboardA | Copy text to the user's device clipboard. The text will appear in their clipboard history and can be pasted immediately. |
| zeph_listA | List recent push notifications. Use this to check notification history, avoid duplicates, or reference previous messages. |
| zeph_dismissA | Dismiss (mark as read) a specific push notification by ID. Use after processing a notification to clear it from the user's feed. |
| zeph_dismiss_allA | Dismiss all push notifications at once. Clears the entire notification feed. |
| zeph_broadcastB | Send a push notification to all subscribers of a channel. Use zeph://channels resource to find available channels. |
| zeph_fileA | Send a file to the user's device. Pass |
| zeph_askA | Ask the user a question on their phone: quick-reply buttons plus a text field — they tap or type. Pass |
| zeph_session_renameA | Set a custom display name for THIS agent session in the user's Zeph app (the Streams › Agents list). Label what this session is working on — e.g. "Prod deploy" or "Auth refactor" — so the user can tell parallel sessions apart on their phone. Renames the current session; the name persists until changed. |
| zeph_agent_sendA | Type a message into ANOTHER agent session on any of the user's machines, as if the user sent it from their phone. Use when the user asks you to pass something to another agent. The receiver sees |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| devices | List of user devices connected to Zeph with online status |
| channels | List of channels the user owns or subscribes to. Use to find channelId for broadcasting. |
TDQS
Scored across 10 tools
Most tools map to distinct communication/notification actions, and descriptions clarify the recipient and medium. zeph_notify, zeph_broadcast, zeph_file, and zeph_clipboard all deliver content to devices and could be confused at a glance, though their purposes are ultimately different.
All tools share the zeph_ prefix, but the naming convention varies: some are bare verbs (zeph_notify, zeph_ask), some are nouns used as actions (zeph_file, zeph_clipboard), and some are object_verb (zeph_agent_send, zeph_session_rename). This is readable but not a predictable pattern.
Ten tools is well-scoped for a device notification and messaging server. The set covers sending, listing, dismissing, asking, file transfer, clipboard, agent messaging, and session naming without feeling bloated or redundant.
The core notification lifecycle (send/list/dismiss/dismiss_all) and key communication paths (ask, file, agent send) are present. Channel management is delegated to a resource and there is no explicit notification update, but these are minor gaps rather than blockers.