MCP server integrated into aegis — a multi-agent meta-harness for coding agents. Provides tools for session management, group coordination, task delegation, and monitoring within the aegis harness environment.
26 tools with explicit schemas and descriptions. Naming is consistent (aegis_* prefix, verb-noun pattern). Descriptions are present but vary in depth (avg ~120 chars, some under 50). All tools have typed input schemas with parameter descriptions. However, output schemas are not documented, LLMs cannot predict return structure. Error handling guidance is minimal. No tool annotations (readOnlyHint/destructiveHint). Risk labels in metadata are helpful but not machine-readable. Composition is strong: tools chain well (e.g., list_sessions → peer_plan). Parameter naming is clear and consistent.
Cancel a task — drop it if still pending, or interrupt + close its worker if in-flight. Idempotent.
Synchronous task delegation — enqueue and block until the worker finishes, returning its result directly (no inbox callback).
Delegate a task onto a named queue; the substrate spawns a worker of the queue's configured agent profile, runs the payload as its opening prompt, and (if callback=true) delivers the worker's final result into the sender's inbox as a normal incoming message. Returns {task_id, queued_position}.
Broadcast an objective to all members of a group.
Dissolve a group and stop all its members.
Move a member from one group to another.
Output schemas not documented. LLMs cannot predict return structure (e.g., what fields does aegis_list_sessions return? Is 'plan' always present?). Breaks tool chaining and forces agents to guess.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk labels exist in metadata but are not machine-readable. LLMs cannot distinguish safe reads from destructive writes without parsing descriptions.
Minimal error handling guidance. Descriptions do not explain what to do on failure (e.g., aegis_enqueue: what if the queue doesn't exist? Should the agent retry or ask the user?). No recovery paths documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Rename a group.
Spawn a new agent in a group with a given profile.
Spawn multiple agents with different profiles in a group.
Get the status of a group and its members.
Wait for all members of a group to complete their work.
Wait for any member of a group to complete their work.
One-way (fire-and-forget) context transfer to a live peer session. The target receives a tagged user turn; the sender does not wait for its reply. A busy target queues the handoff and chains at its next turn boundary. Pass interrupt=True ONLY to cut a busy peer's current turn when it needs a blocking correction NOW.
List the configured agent-profile slugs that could be spawned.
List the live aegis sessions (peers). Each entry has handle, agent_slug, state, active, unseen, host, and plan (roll-up of {done, total, current, current_working_s} or null).
Returns this briefing — documentation of aegis tools available to the agent.
Watch a long-running process without polling. aegis does not own the process — the agent gives it bash conditions it evaluates on an interval: `done` (exit 0 ⇒ complete), optional `fail` (exit 0 ⇒ failed), and `progress` (echoes 0–100 for a bar+ETA). Conditions run in `cwd` — the project root by default.
Drill-down view of a peer's full task list, each with status and accumulated working time.
Rename a live aegis session in place. Format: 2-3 alphanumeric segments separated by hyphens, starting with a letter. Returns {ok, old, new} on success or {error: ...} on format failure / collision. Takes an optional `title` to set a readable label in the same call.
Inspect a previously-enqueued task. Use when callback was false or to poll mid-flight.
Give a session a short human-readable title beside its handle — 3-8 words on what it is actually doing. The handle stays the identity; the title is only the label. A title set by hand wins over agent-set titles.
List schedules on a remote peer.
Get logs for a schedule on a remote peer.
Push a schedule to a remote peer.
Remove a schedule from a remote peer.
Show details of a schedule on a remote peer.
Some descriptions are too brief (<50 chars). E.g., 'aegis_list_agents': 'List the configured agent-profile slugs that could be spawned.' Does not explain when to call it or what the agent should do with the result.
Parameter 'reducer' in aegis_group_wait_all lacks enum constraint. Description says 'default concat' but does not list valid values. LLMs may hallucinate invalid reducers.