Agent Loom
Agent Loom is a local MCP server that routes ChatGPT chats to explicitly allowed workspace roots through one endpoint/token, exposing file, shell, Git-review, and optional persistent agent tools.
Workspace routing: list, discover, open, use, and show current workspaces; each MCP chat session maintains its own selected workspace.
File inspection: read files with line ranges, view images, list directory trees, and search by text/regex/symbol with glob and hidden-file options.
File editing: write, targeted edit, apply unified diffs, and import ChatGPT attachment files; optional SHA-256 checks prevent stale overwrites.
Workspace-scoped shell: run allowlisted verification commands in the selected workspace with configurable timeouts.
Git review: show_changes summarizes git status, diff stats, and unified diffs instead of raw git commands.
Optional persistent agents: start and interact with Pi or Codex agent pools bound to explicit Git repository roots.
Allows AI chats to be routed to explicitly allowed Git workspaces, with tools for reading/writing files, inspecting Git status and diffs, and running workspace-scoped commands.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agent LoomStart a Codex pool in /projects/project-a named auth-fix and send coder 'fix login bug'."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Agent Loom
Agent Loom is a local MCP server for routing multiple ChatGPT chats to multiple explicitly allowed workspaces through one endpoint and one token.
Agent Loom is derived from the MIT-licensed CodexPro connector. It exposes an OMP-native capability layer to ChatGPT Web, with direct workspace tools, OMP agents/skills/rules, and bounded one-shot Pi/Codex compatibility.
Why
ChatGPT Web can inspect and edit explicitly allowed local projects without exposing the rest of the host or relying on a per-chat launcher directory. Workspace selection is isolated per MCP session and remains explicit after reconnects.
Related MCP server: project-hub-mcp
MCP interface
Direct ChatGPT workspace tools
ChatGPT Web is the active coding agent; Agent Loom supplies the OMP capability model instead of starting a second model process. In the default standard mode it can directly use:
read,write,edit, andapply_patchfor files;tree,search, andview_imagefor inspection;bashfor workspace-scoped verification commands;show_changesfor Git status and diff review;ompto load OMP-native context, skills, and agent instructions into this ChatGPT conversation;agentsto inspect OMP-compatible roles and model routing;taskfor one-shot compatibility workers.
Every file/shell tool accepts an explicit workspace_id or uses the workspace selected in the current MCP session. After a ChatGPT reconnect, Agent Loom deliberately refuses to fall back to the launcher root: reopen the requested project or pass its stable workspace_id. Default policy is write=workspace and bash=safe; trusted local deployments can opt into full Bash explicitly.
workspace
Each HTTP MCP connection has its own selected workspace. Different ChatGPT chats can therefore select different projects while sharing the same server URL and token.
{"action":"list"}{"action":"use","workspace_id":"ws_..."}Actions: list, discover, open, use, current.
discover finds bounded nested Git repositories under aggregate directories. open also returns repository candidates when the selected directory is not itself a Git root. Direct file tools can use either a repository or an allowed aggregate directory.
OMP-native ChatGPT Web runtime
omp is a capability bridge, not a model launcher. ChatGPT Web remains the active model and continues in the same conversation. No OMP/Pi/Codex model process is started by omp.
After selecting a workspace, call omp(action=status) to verify the mode, then omp(action=context) once. The context includes OMP SYSTEM.md, project/user rules, native agents, skills, prompt templates, slash-command definitions, and the OMP-native MCP tools available under the current Agent Loom policy. The native_tools field is intentionally an OMP-only subset; separate task, pi, codex, handoff, and session tools are not included.
{"action":"context","workspace_id":"ws_..."}Load focused OMP instructions when needed:
{"action":"skill","workspace_id":"ws_...","skill_name":"debugging"}{"action":"agent","workspace_id":"ws_...","agent_name":"reviewer"}The loaded OMP instructions guide this ChatGPT conversation. File and shell operations still go through Agent Loom's guarded MCP tools; write, edit, and apply_patch follow AGENT_LOOM_WRITE_MODE, while bash follows AGENT_LOOM_BASH_MODE.
agents and generic task
agents(action=list) discovers project .omp/agents, user OMP agents, and bundled roles with first-wins precedence. agents(action=models) reports the selected backend's model inventory and configured roles. Built-in routing uses zai/glm-5.3-flash for @fast work and openai-codex/gpt-5.6-luna for @task/@review; set AGENT_LOOM_FAST_MODEL, AGENT_LOOM_TASK_MODEL, or AGENT_LOOM_REVIEW_MODEL to override selectors.
task(action=run) remains the one-shot compatibility workflow for bounded read-only workers. Choose agent=scout or agent=reviewer with mode=review for evidence, agent=security-reviewer for security review, or agent=task for implementation planning. Native workers run read-only inside a sanitized workspace mirror; apply approved changes through Agent Loom's guarded write/edit tools. mode=write is rejected. backend=auto selects OMP first, then Pi, then Codex. The persistent supervisor enforces global max_concurrency=1, queues up to eight generic tasks, and starts the next queued task after completion.
Native task launch requires Linux and the bwrap (bubblewrap) executable; other platforms fail closed rather than run an unguarded backend. Model inventory remains separate from task launch.
{"action":"run","agent":"reviewer","backend":"auto","workspace_id":"ws_...","mode":"review","task":"Review the current diff.","timeout_seconds":1200}task(action=wait) and task(action=status) return structured metadata, output summary, bounded stdout_tail/stderr_tail, and the task artifact path. Each task directory contains task.json, worker.json, stdout.log, stderr.log, result.json, result.md, and the sanitized workspace mirror.
Direct pi and codex compatibility
The pi and codex tools remain available for callers that need an explicit backend. Their actions are run, wait, status, and stop; pi also supports models. Explicit compatibility calls do not queue behind another task and return a busy error when the one-task slot is occupied.
Native tasks are read-only. mode=write is rejected until a guarded native write adapter exists; use Agent Loom's direct guarded write/edit tools for authorized changes. Each task exits with fresh context; no pools, forums, agent worktrees, idle dispatchers, or h5i processes are created.
{"action":"run","workspace_id":"ws_...","mode":"review","model":"openai-codex/gpt-5.6-luna","task":"Review the current diff.","timeout_seconds":1200}{"action":"wait","task_id":"...","wait_seconds":60}One endpoint, many projects
Add the generated MCP URL to ChatGPT as a new connector named Agent Loom. Do not reuse or prompt for an older CodexPro connector: connector names and cached tool schemas belong to the ChatGPT connection, not to the local command. After an upgrade that changes tools or cards, refresh or recreate the Agent Loom connector.
npm install
npm run build
AGENT_LOOM_HTTP_TOKEN='use-at-least-24-random-bytes' \
node dist/http.js \
--root /projects/default \
--allow-root /projects/project-a \
--allow-root /projects/project-bConnect every ChatGPT chat to:
https://your-host.example/mcp?agent_loom_token=...Each chat calls workspace({"action":"use", ...}) independently. A workspace path is accepted only when it is under a configured allowed root.
Local state
Do not run git init in $HOME. Agent Loom keeps launcher configuration under ~/.agent-loom/ and accesses only explicitly allowed workspace roots.
Requirements
Node.js 20+
Git
Optional
ompCLI, Bun, and Linuxbwrapfor the one-shot native OMP compatibility backend used bytask(action=run).
Development
npm ci
npm run build
npm run smokeSecurity
One HTTP token gates the endpoint.
Workspace roots are allowlisted before routing.
File and Bash operations remain constrained by the configured write and Bash modes.
See SECURITY.md and docs/architecture.md.
License
MIT. Original CodexPro copyright and license notices are retained.
Available Tools
13 toolsapply_patchApply PatchADestructive
Apply one unified diff patch inside the workspace. Paths are validated before applying. Prefer edit for tiny replacements and apply_patch for multi-file diffs.
| Name | Required | Description | Default |
|---|---|---|---|
| patch | Yes | Unified diff patch to apply. File paths must stay inside the workspace and avoid blocked paths. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Path validation before applying is a concrete behavioral guarantee beyond the annotations. The destructiveHint annotation already signals that the operation can alter files, and the description adds a safety-relevant precondition. It does not elaborate on rollback or partial-failure behavior, but the annotation coverage lowers the burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences convey purpose, safety behavior, and routing guidance with no filler. The most important directive is front-loaded, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with destructiveHint provided, the description covers purpose, safety validation, and sibling selection. The absence of an output schema is not a major gap because the main usage decision is clearly scoped. A minor omission is explicit failure semantics, but the description remains complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions for patch and workspace_id. The tool description adds little parameter-level detail beyond the schema, which matches the baseline of 3. No undocumented parameters need compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Apply one unified diff patch inside the workspace.' It also distinguishes the tool from the sibling edit tool by framing apply_patch as the multi-file diff option. This gives an agent a clear identity for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use which tool: 'Prefer edit for tiny replacements and apply_patch for multi-file diffs.' This direct alternative-selection guidance eliminates ambiguity between the two most similar siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bashBashADestructive
Run one allowlisted verification command in the workspace, such as tests, build, lint, typecheck, or a project script. Do not use for git status/diff or file inspection; use show_changes, tree, search, and read instead. Do not chain commands with &&, pipes, redirects, or shell file readers.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory relative to workspace root. Default: . | |
| command | Yes | Command to run. | |
| session_id | No | Optional bash session id. If configured on the server, a provided value must match it. | |
| timeout_ms | No | Timeout in milliseconds. Default: 30000. Max: 600000. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the non-read-only, open-world, non-idempotent, and destructive hints. The description adds valuable behavioral constraints beyond annotations: only one allowlisted command may be run, and shell composition via &&, pipes, redirects, or file readers is prohibited. This meaningfully clarifies the tool's execution model without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the primary purpose, followed by exclusions and alternatives. Every sentence earns its place, and there is no repetition of schema field descriptions or annotation content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a command-execution tool: it defines the allowed scope, lists examples, names sibling tools for excluded use cases, and specifies important command-construction limits. Annotations cover safety and open-world traits, and the schema covers parameter details, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema's simple 'Command to run' by defining acceptable commands as allowlisted verification commands and forbidding chaining and shell constructs. Other parameters like cwd, timeout_ms, and workspace_id are already adequately described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely that the tool runs one allowlisted verification command in the workspace, listing examples such as tests, build, lint, typecheck, and project scripts. It also distinguishes itself from siblings by explicitly excluding git status/diff and file inspection, which are routed to show_changes, tree, search, and read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: verification commands like tests, build, lint, typecheck, or project scripts. It also gives explicit when-not-to-use guidance for git status/diff and file inspection, naming the alternative tools, and warns against chaining commands with &&, pipes, redirects, or shell file readers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codexCodex AgentsADestructive
Unified persistent codex agent interface. For action=start, ALWAYS pass the explicit Git repository root from the user's request; MCP reconnects can reset implicit workspace selection. Start once, then send many tasks to stable h5i boxes and conversation sessions. Pools survive MCP requests and route back to their bound workspace by id.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Pool name for action=start. | |
| pool | No | Pool id. Required except for action=start. | |
| root | No | Explicit Git repository root. Required for action=start so a reconnect cannot bind the pool to the default workspace. | |
| task | No | Pending task id for action=wait. | |
| agent | No | Agent id; send uses round-robin when omitted. | |
| force | No | ||
| action | Yes | ||
| agents | No | ||
| message | No | Task or forum message. | |
| wait_seconds | No | Wait in the same call. Default: 60. | |
| workspace_id | No | Optional opened workspace id; root remains required for action=start. | |
| advance_baseline | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important stateful behavior beyond the annotations: pools survive MCP requests, route back to their bound workspace by id, and reconnects can reset implicit workspace selection. This is exactly the kind of contextual, non-obvious behavior an agent needs to know, and it does not contradict the provided annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences with the most critical warning front-loaded before the lifecycle advice. There is no filler, though 'stable h5i boxes' is jargon that could be clearer for an unfamiliar agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-action tool with no output schema, the description explains the persistence and reconnect model well but leaves the semantics of actions like wait, status, messages, checkpoint, and stop to be inferred from the enum and parameter names. It is adequate for tool selection but not fully complete for invoking every action correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, and the description mostly re-emphasizes the documented root requirement for action=start rather than explaining undocumented parameters like force, agents, or advance_baseline. It adds lifecycle context but does not materially clarify individual parameter behavior beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the tool as a 'unified persistent codex agent interface' and clearly describes the start/send lifecycle with 'Start once, then send many tasks', so an agent can tell it governs persistent Codex agents. It does not explicitly contrast it with sibling tools like bash or workspace, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete, high-value usage rule: for action=start ALWAYS pass the explicit Git repository root because MCP reconnects can reset implicit workspace selection. It also recommends a lifecycle pattern ('Start once, then send many tasks'), but it does not explicitly state when not to use the tool or route to an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editEdit FileADestructive
Apply a targeted exact text replacement while retaining the existing file inode and metadata. Returns a unified diff; pass the SHA from read to reject stale multi-session edits.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File path relative to workspace root. | |
| new_text | Yes | Replacement text. | |
| old_text | Yes | Exact text to replace. Must match once unless replace_all=true. | |
| replace_all | No | Replace all occurrences. Default: false. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. | |
| expected_sha256 | No | Optional SHA-256 from read. Fails if another session changed the file. | |
| expected_replacements | No | Fail if actual replacement count differs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the destructiveHint, and the description discloses three additional behaviors: in-place modification (inode/metadata preserved), the unified-diff return value, and SHA-based stale-eidt rejection. These give the agent concrete side-effect expectations that the annotation flags alone do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded: the first states the action and the key in-place invariant, the second covers the return value and concurrency safety. There is no filler and no repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 7-parameter mutation tool with no output schema, this is close to complete: it states the action, the return format (diff), and the stale-eidt safety mechanism (SHA). It stops short of 5 by not addressing the no-unique-match failure mode or explicit use-vs-sibling boundaries, though the schema's old_text description partially covers match uniqueness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters, and the description's SHA mention merely echoes the schema's expected_sha256 text ('Optional SHA-256 from read'). Baseline 3 applies; the description does not materially deepen parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Apply a targeted exact text replacement') and a distinguishing invariant ('retaining the existing file inode and metadata'), which separates it from write (full overwrite) and apply_patch (patch-based). It goes well beyond the tautological title 'Edit File'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrasing 'targeted exact text replacement' and the SHA-from-read workflow imply surgical edits performed after reading the file, but the description never explicitly states when to prefer edit over write, apply_patch, or bash. The when-to-use guidance is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_fileImport Attachment FileADestructive
Import a ChatGPT Apps SDK attachment into the workspace. Accepts only a platform file object with download_url and file_id. Not a general URL downloader. Overwrite is off by default.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | ChatGPT Apps SDK file reference from openai/fileParams. | |
| overwrite | No | Replace an existing destination file. Default: false. | |
| destination | Yes | Destination path relative to the workspace root. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. | |
| expected_sha256 | No | Optional SHA-256 of the attachment bytes. Import fails on mismatch. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=false and destructiveHint=true, and the description adds valuable nuance: 'Overwrite is off by default,' clarifying that the destructive behavior is opt-in via the overwrite parameter rather than unconditional. The narrow input contract is also disclosed. There is no contradiction — 'Import' aligns with a write operation and the destructive hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, each with a distinct job: main action, input contract, exclusion, and default behavior. The most decision-relevant constraint (only platform file objects) is front-loaded, and there is zero filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a 100%-covered schema and annotations present, the description covers scope, defaults, and exclusions well enough that an agent can invoke the tool correctly. The one gap is that there is no output schema and the description does not say what the tool returns on success (e.g., imported path, status, or file metadata) — minor for invocation but relevant for downstream steps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the file contract (download_url, file_id) and the overwrite default, but those facts already appear in the schema with equivalent phrasing — 'Default: false' and required fields on the nested file object. It adds no net-new parameter meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Import a ChatGPT Apps SDK attachment into the workspace,' immediately telling the agent what is operated on and where. It tightens scope with 'Accepts only a platform file object with download_url and file_id' and further differentiates itself with 'Not a general URL downloader,' which prevents confusion with any broad fetch-like tool among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool (importing ChatGPT SDK attachment objects) and an explicit when-not ('Not a general URL downloader'). It stops short of a 5 because it never names a sibling alternative for the excluded case — e.g., it doesn't say 'use bash or write for general URLs' — leaving the routing to an alternative partially implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
piPi AgentsADestructive
Unified persistent pi agent interface. For action=start, ALWAYS pass the explicit Git repository root from the user's request; MCP reconnects can reset implicit workspace selection. Start once, then send many tasks to stable h5i boxes and conversation sessions. Pools survive MCP requests and route back to their bound workspace by id.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Pool name for action=start. | |
| pool | No | Pool id. Required except for action=start. | |
| root | No | Explicit Git repository root. Required for action=start so a reconnect cannot bind the pool to the default workspace. | |
| task | No | Pending task id for action=wait. | |
| agent | No | Agent id; send uses round-robin when omitted. | |
| force | No | ||
| action | Yes | ||
| agents | No | ||
| message | No | Task or forum message. | |
| wait_seconds | No | Wait in the same call. Default: 60. | |
| workspace_id | No | Optional opened workspace id; root remains required for action=start. | |
| advance_baseline | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses persistence across MCP requests, pool-to-workspace binding by id, and the reconnect reset risk, all of which go beyond the annotations. DestructiveHint=true is already declared, so the description does not need to fully enumerate destructive side effects, but it could still add more detail about stop/checkpoint behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four dense sentences with no filler. The most safety-critical instruction about explicit root and reconnect behavior is front-loaded, and the pool persistence model is conveyed efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With seven actions, 12 parameters, and no output schema, the description only meaningfully contextualizes start and the persistence model. Actions like checkpoint, status, messages, stop, and advance_baseline are left mostly to inference, making the definition incomplete for such a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents several parameters such as root, pool, task, agent, message, wait_seconds, and workspace_id. The description adds critical meaning around root and workspace binding, but for a 12-parameter multi-action tool it does not compensate for the many action-specific parameters that remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a persistent agent interface and explains the core workflow: start once, then send many tasks. It is not a tautology and provides meaningful detail beyond the title, though it does not enumerate the seven action modes explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit operational guidance: ALWAYS pass the Git repository root for action=start, and explains why MCP reconnects can reset implicit workspace selection. It does not mention alternatives, but no sibling tool directly overlaps, so the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
readRead FileARead-only
Read a specific text file with line numbers. Avoid rereading files after write/edit/apply_patch unless exact final content is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File path relative to workspace root. | |
| end_line | No | Last line to read. Default: end of file. | |
| max_bytes | No | Maximum file bytes. Capped by server config. | |
| start_line | No | First line to read. Default: 1. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the line-number output behavior and the text-file-only scope, which is useful context. It does not explain behavior for missing/binary files, but that is a minor gap given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff: the core action and output format are front-loaded, followed by a single high-value usage warning. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only file tool, the description is nearly complete: schema covers all parameters, annotations cover safety, and the line-number aspect covers the return format. It doesn't mention edge cases like binary files or missing files, but those are not critical given the tool's simplicity and the existing documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented. The description adds no parameter-specific meaning, which is acceptable because the schema carries the burden. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read'), resource ('a specific text file'), and a distinctive output trait ('with line numbers'). The 'text file' qualifier helps differentiate it from sibling view_image, and the action is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-not guidance: 'Avoid rereading files after write/edit/apply_patch unless exact final content is needed.' This is practical and actionable, though it does not name an alternative tool to use instead, so it falls just short of a full when/when-not/alternatives statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch FilesARead-only
Use this for targeted verification or code lookup. Prefer one specific final search instead of repeated broad verification searches.
| Name | Required | Description | Default |
|---|---|---|---|
| glob | No | Optional glob, for example src/**/*.ts. | |
| path | No | Directory or file relative to workspace root. Default: . | |
| query | Yes | Text or regex to search for. | |
| regex | No | Treat query as a regular expression. Requires ripgrep. Default: false. | |
| intent | No | Optional structured search intent. Omit for legacy lexical behavior. | |
| symbol | No | Optional symbol query. Uses repository analysis and overrides query text. | |
| max_results | No | Maximum results. Default from config. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. | |
| include_tests | No | Include related tests in structured results. Default: false. | |
| include_hidden | No | Include hidden files that are not blocked. Default: false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. Description adds only usage guidance, not structural/behavioral details like result limits, regex dependency, or intent semantics; nothing contradicts the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse sentences with no filler; the primary use case is front-loaded and the anti-pattern ('repeated broad verification searches') is stated in one phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with an intent enum and symbol override, the description gives little orientation beyond 'code lookup' and the one-search preference. The schema descriptions carry the burden; an agent can still call it correctly, but a note on when to use symbol/intent modes or when read/tree would be better would make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameter meanings are already documented (query, glob, regex, intent, symbol, etc.). The description adds no parameter-specific guidance, so it stays at the baseline 3 rather than compensating further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Title and description identify a file-content lookup operation ('targeted verification or code lookup') with a clear resource. It distinguishes the tool from sibling read/tree by emphasizing targeted final search rather than broad repeated scans, though it doesn't name alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description explicitly states when to use ('targeted verification / code lookup') and imposes a usage rule ('Prefer one specific final search instead of repeated broad verification searches'). It doesn't enumerate alternative tools, but gives enough context to choose search over broad repeated verification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_changesShow ChangesARead-only
Summarize the current workspace changes in one review-oriented result with git status, diff stats, and optional diff. Use this instead of bash git status, bash git diff, git_status, or git_diff when reviewing work.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Optional file path relative to workspace root. | |
| since | No | Use last_shown to suppress unchanged repeated reviews. Default: last_shown. | |
| staged | No | Show staged diff. Default: false. | |
| include_diff | No | Include the unified diff. Default: true. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. | |
| mark_reviewed | No | Update the last-shown review checkpoint after this call. Default: true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, but the description omits a significant behavioral trait: the tool tracks a 'last_shown' review checkpoint and can suppress unchanged repeated reviews, with mark_reviewed updating that state. This stateful behavior is not disclosed in the description and is not covered by the read-only annotation, so the agent may be surprised when subsequent calls differ.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The core purpose is front-loaded, and the usage guidance is embedded efficiently. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a read-only summarization tool with schema-documented parameters, and it names the output components. However, the stateful checkpoint behavior is a notable gap: without knowing that repeated calls can be suppressed via 'last_shown' and that mark_reviewed mutates internal state, an agent could misuse the tool or misread its output. With no output schema and 6 parameters, this missing context lowers completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and every parameter has a description. The tool description itself adds no extra parameter semantics beyond the schema, so the baseline of 3 applies. The description does not clarify parameter interactions (e.g., how since and mark_reviewed relate), but the schema already covers basic meanings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Summarize'), a clear resource ('current workspace changes'), and names the exact output composition ('git status, diff stats, and optional diff'). It also distinguishes itself from sibling/alternative tools like git_status and git_diff, so an agent can immediately tell what this tool does and what it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this instead of bash git status, bash git diff, git_status, or git_diff when reviewing work.' This gives both the context ('when reviewing work') and the alternatives to avoid. Clear routing guidance is present, leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
treeFile TreeBRead-only
List files and directories inside the workspace, excluding blocked paths.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Directory relative to workspace root. Default: . | |
| max_depth | No | Maximum depth. Default: 4. | |
| max_entries | No | Maximum entries. Default: 800. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. | |
| include_hidden | No | Include dotfiles/dotfolders that are not blocked. Default: false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the agent knows this is a non-mutating read. The description adds the behavioral detail that blocked paths are excluded from results, which does not contradict the annotations. It does not mention truncation at max_depth/max_entries or error behavior, but the annotation safety profile keeps the burden low.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single 12-word sentence that is front-loaded with the verb and object and contains no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with zero required parameters and default values documented in the schema, the description plus schema plus annotations covers what it lists, what it excludes, and its safety profile. The only gap is that no output schema exists, so return-format expectations rest on 'List files and directories,' which is adequate for this tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with defaults documented for all five optional parameters (path, max_depth, max_entries, workspace_id, include_hidden). The description repeats nothing from the schema and adds no parameter-level semantics of its own, which is acceptable at baseline because the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb 'List' with the resource 'files and directories inside the workspace,' and adds a scoping constraint ('excluding blocked paths'). It is clearly distinguishable from siblings like search or read by its action and resource, but it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No sentence advises when to use tree instead of search, read, or workspace. For an agent deciding how to explore a workspace, the description provides no routing signal; the difference between listing the tree and searching file contents must be inferred from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_imageView ImageARead-only
Inspect a PNG, JPEG, GIF, or WebP image from the active workspace. Returns native MCP image content plus dimensions and SHA-256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Image path relative to workspace root. | |
| max_bytes | No | Maximum image bytes. Default: at least 1 MB, capped at 2 MB. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, non-destructive, and not open-world, so the description only needs to add context. It adds supported formats and the exact output metadata (dimensions and SHA-256), which gives the agent useful behavioral expectations beyond the safety annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the image formats and the returned data. Every clause earns its place, and there is no repeated schema information or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only image inspection tool, the description covers formats, source workspace, and return values; the schema covers all parameters and annotations cover safety. No output schema exists, but the description explicitly names what is returned, so an agent has what it needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents path, max_bytes, and workspace_id. The tool description does not add further parameter-level meaning, and the baseline of 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Inspect'), a concrete resource (image files in PNG, JPEG, GIF, or WebP), and the expected return payload (native image content, dimensions, SHA-256). This clearly distinguishes view_image from generic siblings like read or tree without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly establishes the context: inspecting image files from the active workspace. It does not explicitly say when not to use it or name alternatives, but the image-specific scope and return type imply the correct selection against the generic sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaceWorkspace RouterARead-only
Route this chat to an allowed project. Use discover when a requested directory is not itself a Git repository; then open the relevant discovered repository before Git operations or starting Pi/Codex pools. Selection belongs only to this MCP session, so other chats may select different projects through the same endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | Allowed directory for action=open or action=discover. | |
| action | Yes | ||
| max_depth | No | Repository discovery depth. Default: 3. | |
| max_results | No | Repository discovery result limit. Default: 100. | |
| workspace_id | No | Stable workspace id for action=use. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the read-only/non-destructive profile, so the description does not need to repeat that. It adds genuinely useful behavioral context: selection is scoped to this MCP session, other chats can select different projects through the same endpoint, and `discover`/`open` have a specific sequencing role relative to Git and Pi/Codex.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the core purpose is front-loaded, the conditional discover-then-open workflow follows immediately, and the session-scoping caveat closes with important concurrency context. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a router with annotations covering safety and a schema covering most parameter semantics, the description gives enough to act correctly for the main Git/Pi/Codex workflow. The main gap is that `list`, `use`, and `current` are not described and no output shape is given, though their names and schema fields provide partial context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions already cover most parameters, but the description adds meaning by tying `root` to a 'requested directory' and `discover` to the Git-repository condition. It also frames `max_depth` and `max_results` as repository-discovery settings, which helps select sensible values even though the schema already documents them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Route this chat to an allowed project') and immediately distinguishes its workspace-routing role from the sibling file and execution tools. It also clarifies the core discover-vs-open distinction, making the tool's purpose unambiguous even before opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit, actionable guidance: use `discover` when a requested directory is not a Git repository, then `open` the discovered repo before Git operations or starting Pi/Codex pools. It does not, however, explain when to use the other actions (`list`, `use`, `current`) or name exclusions for those cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
writeWrite FileADestructive
Create or overwrite a meaningful text file inside the workspace. New files use an atomic rename; existing files retain their inode and metadata. Returns a unified diff; pass the SHA from read when overwriting shared files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | File path relative to workspace root. | |
| content | Yes | Complete file contents to write. | |
| overwrite | No | Allow overwriting existing files. Default: true. | |
| create_dirs | No | Create parent directories if missing. Default: true. | |
| workspace_id | No | Workspace id from open_workspace. Omit to use the workspace selected for this MCP session. | |
| expected_sha256 | No | Optional SHA-256 from read. Fails instead of overwriting if another session changed the file. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive and non-readonly behavior, and the description adds valuable behaviorl detail beyond that: atomic rename for new files, inode and metadata retention for existing files, unified diff return, and sha256 concurrency checking. These details help an agent predict side effects accurately, with no contradiction to annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, filesystem behavior, and return/concurrency guidance. The purpose is front-loaded, and there is no redundent exposition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive write tool with full schema coverage and ruct annotations, the description captures purpose, filesystem behavior, return value, and concurrency handling. It does not mention failure modes (e.g., overwrite=false on an existing file) or encoding constraints, but those can be inferred from the schema and are not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all 6 parameters at 100% coverage, so the baseline is 3. The description adds meaning by specifying how expected_sha256 should be used ('pass the SHA from read') and mentions the unified diff return. This is useful but does not deeply redefine the schema-provided semantics for each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: 'Create or overwrite a meaningful text file inside the workspace.' This unambiguous scope distinguishes it from read (reading) and edit/apply_patch (modifying existing content). The term 'meaningful' is slightly subjective but does not obscure the core purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states its primary use case (create or overwrite a text file) and offers concurrency guidance for shared files ('pass the SHA from read when overwriting shared files'). It does not explicitly contrast with alternatives such as edit or apply_patch, and does not say when not to use write, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
13 tool updates
v0.1.2- First observed
apply_patch - First observed
bash - First observed
codex - First observed
edit - First observed
import_file - First observed
pi - First observed
read - First observed
search - First observed
show_changes - First observed
tree - First observed
view_image - First observed
workspace - First observed
write
TDQS
Most tools are clearly separated by purpose: tree/search/read handle inspection, write/edit/apply_patch handle distinct modification styles, and bash/show_changes are explicitly kept apart from git/file review. The only mild overlap is between write, edit, and apply_patch, but their descriptions provide clear boundaries, and pi/codex are differentiated by agent name.
The tool names are readable and consistently lowercase/snake_case, but they mix bare verbs (write, read, edit, search), noun-like commands (tree, bash, workspace), and verb_noun forms (view_image, import_file, show_changes). This is a mixed convention rather than a predictable pattern.
Thirteen tools is a reasonable, well-scoped count for a coding workspace server. Each tool addresses a distinct operational need such as file editing, search, verification, change review, workspace routing, or persistent agent interaction, without feeling bloated.
The set covers core file operations, search, verification, change review, and persistent agent workflows well. However, there are notable gaps: no file delete/remove tool, and the workspace description references a discover capability that is not exposed in the tool list, which creates a potential dead end.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Coordinate coding agents through MCP using existing AI plans, saved work, and independent checks.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA centralized MCP hub for managing multiple coding agents across projects, enabling parallel, non-blocking dispatch and orchestration from any MCP-capable client.5MIT
- FlicenseAqualityCmaintenanceMCP server that enables AI assistants to run multi-step agent pipelines (e.g., Issue Analyst → Code Writer → Test Runner → PR Opener) from conversations, with support for Devin, shell, Python, and HTTP agents.7-
- AlicenseAqualityAmaintenanceEnables AI agents to delegate scoped tasks across multiple providers like Codex, Claude Code, and Antigravity through a single local MCP server, with quota monitoring, notifications, and remote control via messaging apps.132Apache 2.0
- FlicenseNot gradedqualityBmaintenanceCentralized multi-project state & handoff MCP server that lets AI agents save checkpoints in one session and resume in another with minimal token overhead, including git snapshots and code-graph integration.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kaiserproger/agent-loom'
If you have feedback or need assistance with the MCP directory API, please join our Discord server