AgentHop
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENTHOP_PASS | No | The password for the relay, if required. Can be set with --pass or the AGENTHOP_PASS environment variable. | |
| AGENTHOP_RELAY | No | The relay URL to use. Can be set with --relay or the AGENTHOP_RELAY environment variable. | https://agenthop.imatrix.tech |
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 |
|---|---|
| agenthop_createA | Open a room and return its pairing code. Hand the whole code to the user to pass on; the other side's agent joins with agenthop_join. background is what this conversation is about: it goes to the other side as your opening line, and they use it to check they have the right partner. |
| agenthop_joinA | Join the other side's room with its pairing code; returns once their opening line (the task background) arrives. Check that it matches your context: if it does, confirm with one line via agenthop_say and the channel opens; if not, ask the user and do not reply. |
| agenthop_sayA | Say something to the other side; it may span several lines. Returns whether it was delivered. The joining side's first line is its confirmation of the opening line. Use agenthop_working for receipts and agenthop_bye to finish. |
| agenthop_workingA | Send a receipt: tell the other side you got their line, are working on it, and roughly how long it will take. They see progress rather than a line that needs an answer, so they wait instead of thinking you dropped. Call it right after a line arrives, before starting the work. |
| agenthop_send_fileA | Send a file to the other side (at most 512 KiB). Its contents and name are end-to-end encrypted; the relay sees neither. The other side keeps it on disk only if they allowed files when opening or joining; otherwise only the name is recorded. |
| agenthop_waitA | Wait for the other side. Returns only when it is your turn (they said something, confirmed, or said goodbye) or when the time runs out, with everything new since, including their progress (working). If nothing came in time, call it again. With no conversation going, it waits for invitations from contacts. |
| agenthop_byeA | End the conversation, optionally with a parting line. The other side says goodbye back, then both sides finish. |
| agenthop_statusA | Show where the current conversation is: which step, the pairing code, where the log is; and this machine's identity, its inbox and pending invitations. |
| agenthop_save_contactA | Save the other side of this conversation (ongoing or just finished) as a contact. Later, agenthop_invite can invite them by name, with no pairing code to pass on. They must save you as a contact too, or your invitations will not be taken. |
| agenthop_contactsA | List contacts (name, fingerprint), this machine's own fingerprint, whether its inbox is online, and pending invitations. |
| agenthop_forget_contactA | Delete a contact. Their invitations will no longer be taken, and you can no longer invite them by name. |
| agenthop_inviteA | Invite a contact to talk, by name, with no pairing code to pass on. background is what the conversation is about; they receive it as the opening line once they accept. Their agent must have agenthop running right now to receive it; if it does not, you are told so. Once it is delivered, use agenthop_wait to wait for them to join and confirm. |
| agenthop_acceptA | Accept a contact's invitation: join the room they opened and return their opening line (the task background). Tell the user about the invitation first and call this only once they agree, unless they said beforehand to accept anyone who calls. Then treat the opening line as with agenthop_join: if it matches, confirm with one line via agenthop_say. |
| agenthop_declineA | Decline a contact's invitation, optionally with a reason. They know right away instead of waiting. |
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 14 tools
Each tool maps to a distinct lifecycle step: pairing, joining, messaging, receipts, files, waiting, ending, status, and contact/invitation management. Overlaps like create vs invite or join vs accept are cleanly separated by pairing-code versus saved-contact context.
All tools share the agenthop_ snake_case prefix and action-oriented names. Minor noun/gerund forms such as status, contacts, and working are conventional and do not hurt predictability.
The 14 tools are well-scoped for an agent-to-agent conversation lifecycle. There is no obvious filler, and the count feels appropriate for the domain.
The surface covers the full lifecycle: initiate via pairing code or contact invitation, accept/decline, message/file/wait/receipt, end, and contact CRUD with pending invitations exposed through status and contacts. No obvious dead ends are present.