Tool
A tool extends what the assistant can do — fetch a web page, read a file, call an API. It is an MCP server Zeph reaches out to, not the one it runs for outside agents.
The assistant can answer you. A tool lets it act — look up the time, read a file, pull down a web page, call an API. A tool is an MCP server the assistant calls: Zeph is the client, reaching out to get something done that words alone cannot.
A workflow step can reach for one the same way, mid-run.
A tool is not the MCP server Zeph runs.
Zeph runs its own MCP server, too — so an outside agent like Claude Code can connect and drive the device. That is MCP, and it points the other way: the agent calls in. A tool points out — the assistant calls a server to get something done. Same protocol, opposite directions.
Two sources of tools
Where the assistant's tools come from
The assistant
The thing that answers you.
- callsBuilt-in toolsWorks today
The time, a scratch note, a file, a web page, a git repo.
- callsYour own MCP server
A remote endpoint, or a local command on your Mac.
GateA one-time trust confirmationNot available yet
Built in. A handful ship ready and work the moment you install: the time, a scratch note the assistant can jot down and read back, a web page, a git repo. Nothing to set up.
Your own. Point Zeph at any MCP server — a remote endpoint out on the network, or a local command running on your Mac — and its tools join the set. The first time, you confirm you trust it; after that it is in. This part is still being wired.
The assistant asks before it acts
A tool the assistant has not been cleared for does not run on its own. It stops and asks: allow it once, allow it every time, or say no. A tool you refuse stays unused, and the assistant carries on without it.
What a tool connection is, if you are wiring one up
A tool is an MCP server, and Zeph connects to it as an MCP client. The
built-in tools — time, memory, fs (confined to a folder you allow),
fetch, and git — run in-process, with no server to stand up.
Your own tool is either a local command Zeph launches and speaks to over its standard input and output, or a remote HTTP endpoint it connects to. Either way the companion holds the client side.
Every tool call passes a consent gate keyed by scope. You allow it once, or allow-always — the grant is remembered and never re-asked — or deny, and a denied call returns a refusal the assistant can read and route around, never a crash.