ZeroHrs MCP server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZEROHRS_API_BASE_URL | No | Changes the control-plane destination before Codex starts for local/staging development. | |
| ZEROHRS_MCP_LOGIN_URL | No | Overrides the hosted sign-in page for local/staging development. Remote values must use HTTPS. HTTP is accepted only for loopback hosts. | |
| ZEROHRS_MCP_LOGIN_PORT | No | Changes the local callback port for local/staging development. |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | Start a private browser sign-in for this local MCP. No session token passes through Codex chat. |
| disconnectA | Remove the session saved by this local MCP. This does not revoke or sign out other ZeroHrs sessions. |
| search_zeroA | Search the signed-in user's stored Zero meetings, tasks, transcript speaker blocks, contacts, prep notes, and morning briefs. |
| search_contactsA | Search the signed-in user's Zero contacts by up to 10 names or email addresses. Results stay in query order. |
| add_contactA | Add a contact for the signed-in user. Call only after the user explicitly asks to save the contact. |
| get_meetingsB | OpenClaw-compatible meeting lookup for the signed-in user, with status, title, and time filters. |
| get_transcriptsB | OpenClaw-compatible search across transcript titles and summaries without full turns. |
| get_meeting_transcript_by_idA | OpenClaw-compatible transcript lookup by id. It returns the summary, optional tasks, and only query-matched speaker blocks. |
| get_user_owned_tasksB | OpenClaw-compatible search across the signed-in user's Zero task title and description. |
| create_user_owned_taskB | OpenClaw-compatible Zero task creation. Call only after the user explicitly asks to save the task. |
| insert_prep_notes_for_meetingC | OpenClaw-compatible manual prep note creation for a user-accessible meeting. |
| replace_generated_prep_notes_for_meetingA | Replace generated prep notes and verified attendee briefings for a user-accessible meeting. Call only when the user explicitly asks the agent to generate or replace meeting prep. |
| schedule_meeting_botB | Schedule the signed-in user's Zero meeting bot for a link or provider. Call only after the user explicitly asks to schedule the bot. |
| get_morning_brief_by_dateA | Read the signed-in user's Zero morning brief for one local calendar date. |
| list_meetingsA | List the signed-in user's stored meetings, optionally filtered by status, title text, or time window. |
| list_transcriptsA | List recent transcript records without loading transcript turns. Use before or after to narrow the time window. |
| search_transcriptsA | Search transcript titles and summaries without loading full transcript bodies. |
| get_transcriptA | Get a transcript summary by id. Optionally include linked tasks and query-matched speaker blocks with adjacent context. This never loads every transcript turn. |
| list_tasksA | List or search the signed-in user's Zero tasks by title and description, optionally narrowed by time window. |
| get_taskA | Get one user-accessible Zero task by id. |
| get_meeting_prepA | Get a meeting record with the signed-in user's private prep notes and people. |
| create_taskB | Create a Zero task for the signed-in user. Call only after the user explicitly asks to save the task. |
| update_taskA | Update editable fields on a user-accessible Zero task. Call only after the user explicitly requests the change. |
| add_meeting_prep_noteA | Save one manual prep note for a user-accessible meeting. This does not send messages or schedule a bot. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 24 tools
Several tools have near-identical purposes, especially the OpenClaw-compatible aliases: search_transcripts/get_transcripts, get_transcript/get_meeting_transcript_by_id, list_meetings/get_meetings, create_task/create_user_owned_task, and add_meeting_prep_note/insert_prep_notes_for_meeting. An agent can easily misselect between these pairs despite slightly different descriptions.
Tool names consistently use lowercase snake_case verb_noun, but verbs are not semantically consistent: list vs search for similar retrieval, create vs add vs insert for creation, and get_meetings vs list_meetings for the same operation. The style is predictable, but the duplicate action names break the pattern.
24 tools is at the high end of the range and feels bloated because six or more are redundant OpenClaw-compatible variants of existing tools. A leaner set of unique capabilities would be around 16-18 tools.
Core resources (meetings, transcripts, tasks, contacts, prep notes, morning briefs) have reasonable read/create/update coverage, but there are notable gaps: no delete for tasks or contacts, no update/delete for contacts, and no delete for individual prep notes. Agents would hit dead ends when users ask to remove or modify existing data.