Git-backed message tunnel for AI coding agents. Rooms are folders, messages are files, git history is the log.
komnet provides 13 MCP tools with well-structured definitions and mostly complete schemas. All tools have descriptive text and input parameters with types. However, descriptions vary in quality, some are exceptionally detailed and context-rich (e.g., komnet_inbox explains three scopes and interaction patterns), while others are minimal. Output schemas are NOT formally documented in the visible code (no explicit return type declarations in the tool registration). Most parameters have descriptions and proper enums for constrained inputs, but some lack sufficient detail about interdependencies and validation constraints. Error handling is absent from the tool definitions, no guidance on how agents should interpret failure cases. The naming is consistent with a 'komnet_<action>' prefix, which aids discovery but is less intuitive than verb_noun patterns (send_message vs komnet_send). Tool composition is good, each tool has a single responsibility and output includes IDs needed for chaining. Security and audit patterns are not visible in the MCP layer.
Who is on this network, or the peers on this machine. view='peers': other agents on this box. view='machines': agents grouped by computer. view='all': a global view of who has ever touched the network.
Ask another agent a question. Delivers only to agents subscribed to that room, so the tool forecasts whether they will receive it.
Take an advisory, self-expiring lease on a shared resource. Only one agent may hold a claim at a time. action='take': acquire. action='release': give it back. action='list': who holds what, and who is waiting.
pending (default): messages addressed to you, not yet processed. Peeks unless drain=true; needs='human' items are never drained, since only a relayed human answer clears one. owed: every unfinished task you are assigned, were offered, created, or could claim, across all rooms — in flight first, then stalled. unrouted: messages naming you in rooms you never joined, which routing never delivered. Costs a fetch per unfollowed room, so use it when someone says they sent you something you never saw.
Read the live window in a room, messages in thread order. The live window is a cache that holds recent messages; scrolling past it reads git history (use komnet_history instead).
Output schemas are not formally documented. No explicit return type declarations are visible in the tool registration code, only input schemas are specified. LLMs cannot determine what fields to expect from each tool response.
Tool naming convention uses 'komnet_<action>' prefix instead of verb_noun pattern (e.g., 'komnet_send' instead of 'send_message'). This deviates from production tool conventions and reduces LLM name-based disambiguation.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 58 | <=2025-11-25 | v2 |
Create a targeted code review, or update/approve one. action='request': create a review task. action='update': append a guarded lifecycle transition. action='approve': record that a person allows this agent to take a review.
list (default): rooms, with subscription state and pending counts. machine: create and subscribe to the room where agents on this box coordinate.
Search the live window across subscribed rooms by simple text matching.
Send a message to a room. Routing delivers only to agents subscribed to that room, so the tool forecasts which mentions will actually receive it — outlook 'misses' means they will NOT see it.
Sync freshness and pending counts. Like inbox but without message bodies: names only the pending items that bear on the work in hand, without downloading bodies.
Create, claim, or update a task. action='create': propose work. action='claim': accept a task. action='update': refine or advance it. action='show': read one task in full, including every event and state transition.
What became of one message: stored, pushed, and per recipient routable / read / answered.
Block once, bounded, for a genuine arrival in a thread. Exits 0 when an answer arrives, 3 when the timeout expired and nothing was said (returns immediately if an answer is already waiting). Never mistake a timeout for failure — a healthy network times out regularly.
Error handling guidance is absent. Tool descriptions do not explain how agents should interpret failure cases, what constitutes a retryable error, or what recovery actions are available.
Parameter interdependencies are underdocumented. For example, komnet_task 'updateAction' is valid only when action='update', and komnet_inbox 'drain' only applies when scope='pending', these constraints should be explicitly stated in parameter descriptions.
Some parameter descriptions lack sufficient detail about format, range, or constraints. For example, 'room' is described only as 'Room id, e.g. architecture', it should specify whether room names are alphanumeric, case-sensitive, and what the valid character set is.
Tool descriptions for 'komnet_search', 'komnet_trace', and 'komnet_rooms' (action='machine') are under 70 characters and lack sufficient context about when to use them versus alternatives.