Collide MCP
Server Details
Collide is an MCP layer that keeps concurrent AI agents from stepping on each other in a shared codebase. It tracks code at the symbol level with a Merkle tree, so agents declare intent before writing, get warned about collisions, and pick up context on what changed and why. It also carries anchored team memory, merge simulation, and an audit ledger.
- Status
- Healthy
- Uptime
- 55.5% over 22 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 15 tools
Each tool targets a distinct aspect of the multi-agent coding workflow: briefing, symbol facts, dependents, history, intent registration, number reservation, deferred tripwires, messaging, notes, and setup. Descriptions explicitly cross-reference alternatives (e.g., 'use blast_radius for who depends on it', 'for Claude Code use setup'), leaving no overlapping purposes.
All names use snake_case, and the majority follow a verb_noun pattern (get_briefing, declare_intent, send_agent_message). A few are single verbs (claim, recall, remember) or nouns (blast_radius, setup, recap), a minor deviation but still readable and predictable enough.
15 tools is at the upper bound of the ideal 3–15 range, but each addresses a distinct coordination need (setup, context, intents, messaging, reconciliation, knowledge). Not excessive for the scope, though slightly heavy.
The surface covers onboarding, context retrieval, change registration, conflict prediction, reconciliation, messaging, notes, and session recap. Minor gaps: no explicit tool to complete or dismiss an intent, and no direct listing of all active intents, but agents can work around these via briefings and hooks.
Available Tools
15 toolsblast_radiusARead-onlyInspect
Before renaming, changing a signature or deleting: every symbol that depends on this one, level by level, with each dependent's file, owner and any in-flight work over it. Answers "what breaks if I change this" from the live code graph instead of a repo-wide grep; skip it when the briefing's Coverage line says every dependent is already listed. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Repo-relative file path of the symbol. | |
| depth | No | How many hops of dependents to follow, 1 to 6 (default 3). | |
| symbol | No | The symbol whose dependents to list; omit for the whole file. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the trailing 'Read-only' is largely redundant. What the description does add is behavioral context the annotations cannot: results come from the live code graph rather than a static grep, and each dependent is returned with file, owner and in-flight work. It still says nothing about cost, latency or auth requirements for a potentially deep traversal.
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?
Front-loads the trigger conditions, then the payload, then the skip rule, in three dense clauses with essentially no filler. The only waste is the trailing 'Read-only', which repeats the readOnlyHint annotation.
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 graph query with no output schema, the description carries exactly the missing information: what is returned (dependents by level with file, owner and in-flight work), how it differs from manual grep, and when the result would be redundant. Nothing needed to decide to call it is absent.
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 (repo_id, path, symbol, depth) is already documented in the schema. The description's 'level by level' loosely mirrors the depth parameter but adds no format or constraint detail, so the baseline of 3 applies.
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?
States a concrete analysis operation (all dependents of a symbol, level by level) and frames it as the answer to 'what breaks if I change this'. It is clearly distinguishable from siblings like get_symbol, explain_code and get_briefing, and it even names the alternative approach it replaces (repo-wide grep).
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?
Names the triggering situations explicitly (before renaming, changing a signature, or deleting) and gives an explicit skip condition tied to a sibling's output ('skip it when the briefing's Coverage line says every dependent is already listed'). That is both when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
claimAInspect
Reserve the next number in a sequence (a migration, an ADR, a release) so no other agent takes it; two agents asking at once never get the same number. The hooks already claim a numbered file's number when you create it, so call this only for a number you need before writing, or for a named sequence. Returns the number, zero-padded like the files already there.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | The highest number you already see in use in that directory, if any. | |
| title | No | What the number is for; teammates see it. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). | |
| sequence | Yes | A directory such as db/migrations/, or a name such as release. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which only say it is a non-read-only, non-destructive, non-open-world write), it discloses key behavioral traits: the concurrency guarantee ('two agents asking at once never get the same number'), the overlap with hook-driven auto-claiming, and the return format ('zero-padded like the files already there'). This is exactly the kind of context annotations cannot 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?
Three sentences, tightly packed, with the core action front-loaded and the caveat/exception following immediately. Every clause carries information the agent needs; nothing is padding.
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 no output schema, the description compensates by describing the return value (the zero-padded number). Combined with the concurrency guarantee and the hook-overlap warning, an agent has everything needed to call this correctly, and the 4-param schema is fully self-documented.
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 all four parameters are already documented in the schema, which sets the baseline at 3. The description's mention of 'a named sequence' versus numbered directories loosely mirrors the sequence parameter's dual meaning, but adds no syntax, format, or default information beyond 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 a precise verb+resource ('Reserve the next number in a sequence') and enumerates concrete sequence kinds (a migration, an ADR, a release), so the agent knows exactly what operation this performs. No sibling tool (declare_intent, remember, recall, etc.) overlaps with this behavior, so there is no ambiguity to disambiguate against.
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 both a when-to-use and an explicit when-not-to-use: the hooks already claim a numbered file's number on creation, so only call this 'for a number you need before writing, or for a named sequence.' That is an unusually clear routing rule for an agent deciding between this and simply creating the file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_agentsAInspect
Set up Collide for the other agent tools a team runs in this repo (Codex, Cursor, Windsurf, Cline, GitHub Copilot): their rules files, hook configs and MCP configs, plus your credential. For Claude Code use setup. Returns repo files to write and commit, user files to install, and copy-paste snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare write (readOnlyHint=false), non-destructive, and closed-world, so the description adds context beyond them: it enumerates the artifacts touched (rules files, hook configs, MCP configs) and notes it also handles a credential. It stops short of stating side effects like whether existing files are overwritten, so not quite a 5.
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 with the action and target set, followed by the sibling routing and the return shape. No filler; each clause carries information.
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 no output schema, the description compensates by describing the return values (repo files to write/commit, user files to install, copy-paste snippets). For a single-param setup tool with annotations covering safety, nothing needed to call it correctly 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?
Only one parameter and schema description coverage is 100%, so the schema already fully documents repo_id including the config.json reference. The description adds no parameter-level detail, making the baseline 3 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?
States a specific verb ("Set up Collide") and resource, and enumerates exactly which agent tools it targets (Codex, Cursor, Windsurf, Cline, GitHub Copilot). It also explicitly distinguishes itself from the sibling 'setup' ("For Claude Code use setup"), so an agent can route between the two without opening either 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?
Explicitly names the condition that selects this tool (non-Claude-Code agent tools in the repo) and names the alternative ('setup') for the Claude Code case. This is a clear when-to-use / when-to-use-something-else routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
declare_intentAInspect
Register an in-flight change. PREFER typed operations: {op:"rename", symbol, new_name} | {op:"add_param", symbol, name, type?, default?} | {op:"remove_param", symbol, name} | {op:"change_return", symbol, type} | {op:"extract", symbol, new_name} | {op:"move", symbol, new_path} | {op:"delete", symbol} | {op:"add", symbol} | {op:"modify", symbol}. Typed intents get conflict prediction against other live intents (intent_conflicts: COMMUTE / CONFLICT / UNKNOWN). ref links an issue or PR. TTL 15 minutes; extend with heartbeat. With the native hook installed, collide-hook apply (JSON op or list on stdin) performs rename / add_param / remove_param / pass_arg on this checkout — definition and every call site — verified with the repo's check, declared as one intent, reported, completed.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | An issue or pull request this work belongs to. | |
| after | No | The signature or name after it. | |
| paths | Yes | Files the change will touch. | |
| before | No | The signature or name before the change. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). | |
| summary | No | One line on what you are about to do. | |
| symbols | No | Symbols the change will touch. | |
| operations | No | Typed operations, e.g. {op: "rename", symbol, new_name}. | |
| change_type | No | Legacy prose kind of change; prefer operations. | |
| idempotency_key | No | Any string; a retry with the same key declares once. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the bar is lower and the description adds real context: a 15-minute TTL with heartbeat extension, conflict outcomes (COMMUTE/CONFLICT/UNKNOWN), and hook-triggered side effects on definition and call sites. What it omits is what registering actually does to other agents' intents (blocking, visibility) and what success returns.
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?
Front-loaded with the core action, then the operation grammar, then the hook behavior — a sensible order with minimal filler. The hook sentence is long and clause-stacked, but each clause carries distinct information (which ops, scope, verification, reporting), so little is wasted.
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 mutation tool with no output schema and no annotations beyond the safety hints, the description covers TTL, conflict semantics, retry idempotency, and the optional hook workflow. It stops short of stating the return payload or what the caller should do after a CONFLICT/UNKNOWN result, which is the remaining actionable gap.
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, but the description adds meaning the schema does not: it enumerates all eight typed operations with their field shapes (rename/symbol/new_name, add_param/name/type/default, extract, move, delete, add, modify), whereas the schema only shows one example. It also explains ref (issue/PR link), TTL, and idempotency-driven retry behavior in prose.
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?
Opens with a specific verb+resource: 'Register an in-flight change', then clarifies the mechanism (typed operations, conflict prediction, TTL). An agent can tell this is about declaring intent, not querying it. It never names or contrasts with siblings like claim, defer_intent, or pending_reconciliations, so it misses the top-tier sibling-differentiation bar.
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?
'PREFER typed operations' and the TTL/heartbeat note imply usage, and the hook paragraph states a concrete condition ('With the native hook installed'). However, there is no explicit when-to-use-vs-alternatives guidance (e.g., when to use claim or defer_intent instead), leaving routing between the 15 sibling tools to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
defer_intentAInspect
Leave work unfinished safely: a tripwire on paths or symbols that warns whoever next edits them (for example "webhooks in payments/ are half-done; finish them before changing this"). It fires once into their next tool result and briefing, and becomes a task in the team's CRM when one is connected. Returns the tripwire id and expiry.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | What is unfinished and what the next person should do. | |
| paths | No | Files whose next edit triggers the warning. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). | |
| symbols | No | Symbol names whose next edit triggers it. | |
| expires_days | No | Days until the tripwire expires (default 14). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (not read-only, not destructive, open-world). The description goes further by disclosing key behavior: it fires exactly once into the next tool result and briefing, may create a CRM task, and returns the tripwire id and expiry. It stops short of covering permissions, expiry cleanup, or what happens on repeat calls.
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 tightly written sentences with the core mechanic front-loaded and the side effects (one-shot firing, CRM task, return values) packed efficiently into the second. No 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?
With no output schema, the description usefully states the return values (id and expiry) and the lifecycle behavior, which is the main thing an agent needs. Minor gaps remain around permissions and durability, but overall it is sufficient to invoke 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 already documents all five parameters. The description reinforces that paths/symbols are the triggers and supplies an example note wording, but adds no syntax, format, or default detail beyond the schema, making the baseline 3 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?
States a concrete action (create a tripwire that warns the next editor of unfinished work) with the mechanism and effect made explicit. It is distinguishable from declare_intent or remember by describing a persistent, trigger-based warning, though it never names those siblings directly.
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 opening phrase "Leave work unfinished safely" implies the usage scenario, and the example clarifies intent. However, there is no explicit guidance on when to choose this over declare_intent, remember, or claim, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_codeARead-onlyInspect
Why the code is the way it is: the history behind a path or symbol, oldest first — each edit (who, when, what changed), completed intents with their rationales, reverted attempts and anchored notes. Use it before git blame or git log: it includes uncommitted work and the reasons given. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | File to explain; with no symbol, the whole file. | |
| symbol | No | Narrow the history to one symbol. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description redundantly restates 'Read-only'. Its real added value is disclosing what the result contains — edits with author/time/change, completed intents with rationales, reverted attempts, anchored notes, and uncommitted work — which is beyond what annotations cover.
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?
Front-loaded with the core purpose, then the content inventory, then the routing rule and safety note in a single efficient paragraph. The colon-separated list is dense but every element earns its place; only the redundant 'Read-only' is wasted given the annotations.
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 no output schema, the description usefully enumerates the kinds of records returned and the ordering, and it covers both path and symbol scoping. Safety and usage context are present, leaving little an agent would need that is absent.
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 all three parameters are already documented, and the description adds only the 'oldest first' ordering hint. No new syntax or format detail is supplied beyond the schema, so the baseline 3 applies.
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?
States a specific deliverable — the history behind a path or symbol, oldest first, with who/when/what per edit — which is a concrete verb+resource. It distinguishes itself from git blame and git log by naming them explicitly, so an agent can route without 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?
Gives an explicit use-before rule ('Use it before git blame or git log') and the reason (uncommitted work and stated reasons are included). It does not name any sibling MCP tool as an alternative or state when not to use it, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_briefingARead-onlyInspect
Start here for any coding task: the recent history of this repo — who changed what, renames to adapt to, hotspots, abandoned work and who is working right now. Where Collide's hooks are installed the same briefing already arrives in your context; call this when it did not. Pass path (and symbol) to also get the blast radius of what you are about to change. Read-only. Returns summary lines, changed modules with exact signatures, anchored notes and live agents.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How far back to look, in days (default 7). | |
| path | No | Optional file to also compute the blast radius for. | |
| depth | No | Hops of dependents to include with path (default 3). | |
| symbol | No | Optional symbol in path to narrow that blast radius. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/destructiveHint false, and the description adds real context beyond them: the hook-based delivery fallback, and a return shape ('summary lines, changed modules with exact signatures, anchored notes and live agents') that matters because there is no output schema. It doesn't cover latency, size limits, or failure modes, but it meaningfully exceeds the annotation baseline.
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 imperative 'Start here for any coding task' is front-loaded and the rest is dense, non-redundant information. It is a long single paragraph, but nearly every clause carries distinct content (contents, hook fallback, path behavior, read-only, return shape) rather than 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?
With no output schema, the description does the work of describing returns, and it covers trigger, fallback semantics, and the optional blast-radius path behavior. What's missing is minor: guidance on choosing days/depth and any note on cost of a wide or deep query.
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, but the description adds the causal link that path/symbol 'also' trigger blast-radius computation rather than just filtering, which the schema does not convey. Depth's role is left to the schema, but the path/symbol behavior is genuine added 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?
It states a specific verb (get/generate a briefing) plus the exact resource content: 'the recent history of this repo — who changed what, renames to adapt to, hotspots, abandoned work and who is working right now.' The 'Start here for any coding task' opener and the enumerated contents distinguish it cleanly from siblings like recap, recall, and blast_radius.
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 clear trigger ('Start here for any coding task') and an explicit condition for calling it versus relying on ambient context ('Where Collide's hooks are installed the same briefing already arrives in your context; call this when it did not'). It also implies the blast_radius alternative ('Pass path ... to also get the blast radius') but never names that sibling explicitly, so routing is inferential rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_symbolARead-onlyInspect
Exact facts about code without opening the file: the signature, parameters, calls, span and hash of one symbol, or, omitting symbol, of every symbol in the module, with the notes anchored to it and whether the file passed the repo's check. Use it when a briefing lacks a fact; use blast_radius for who depends on it. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Repo-relative file path, e.g. src/auth.py. | |
| symbol | No | Function, class or method name; omit for the whole module. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the trailing 'Read-only' adds nothing; credit comes from the disclosed default behavior when `symbol` is omitted (whole-module scan) and the explicit statement that it works without opening the file. Permission/rate-limit behavior is not covered, keeping this below a 5.
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 dense sentences with no filler, and the payload description is front-loaded before the routing clause. The semicolon-heavy first sentence is information-rich but slightly hard to parse, which keeps it from a 5.
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 no output schema, the description carries the burden of describing return content, and it does so (signature, params, calls, span, hash, notes, check status). Missing are error behavior for an unknown symbol/path and what the 'check' actually represents.
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 the schema itself already documents path, symbol (including 'omit for the whole module'), and repo_id. The description restates the omit-symbol default but adds no format, syntax, or constraint details beyond the schema, so 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?
States a concrete verb+resource (facts about a symbol) and enumerates exactly what comes back: signature, parameters, calls, span, hash, notes, check status. It also distinguishes itself from siblings by naming blast_radius as the tool for a different question.
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?
Gives an explicit trigger ('use it when a briefing lacks a fact') and routes the agent elsewhere for the adjacent need ('use blast_radius for who depends on it'). The when-to-use condition and the named alternative are both 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.
inbox_ackAIdempotentInspect
Mark messages from teammates' agents as handled so they stop arriving: pass the ids from messages_pending once you have acted on them. Unacknowledged messages repeat on every response. Returns the messages still pending.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Message ids from messages_pending. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readOnly, idempotent, non-destructive. The description goes beyond them by disclosing the side effect (messages stop arriving), the cost of omission (unacknowledged messages repeat on every response), and the return value (messages still pending). Adds real behavioral context.
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 tight clauses, front-loading the purpose and effect before the how-to. Every sentence earns its place, though the trailing return-value sentence is slightly separable.
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 mutating tool with no output schema, the description covers the trigger, the effect, the repeat penalty, and the return value. Complete enough to call correctly; only the repo_id source is left entirely to the schema.
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 both ids and repo_id are already documented. The description's 'ids from messages_pending' largely restates the schema's own id description and adds no format/syntax detail. 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?
States a specific verb (Mark...as handled) and resource (messages from teammates' agents), and names the concrete effect (so they stop arriving). An agent can tell this apart from siblings like send_agent_message or recall without opening any 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?
Gives clear triggering condition: 'pass the ids from messages_pending once you have acted on them.' The repeat-on-every-response note reinforces when it must be called. No explicit when-not or named alternative, but the context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pending_reconciliationsAInspect
When a response says two agents' work collides (reconciliations_pending): claim the open collisions, with both sides' intents, changed lines and notes, to merge them. Merge by keeping both sides' work; never by deleting either. After the merge passes the tests, call again with resolve=[id]. Returns the claimed reconciliations and how many stay open.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). | |
| resolve | No | Ids of reconciliations you have merged and verified. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, so the mutation profile is partly covered, but the description adds meaningful behavior beyond them: the keep-both-sides merge rule, the explicit prohibition on deleting, and the two-phase claim-then-resolve flow. It does not describe what state persists or error conditions.
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?
Front-loaded with the trigger condition, then the action, merge rule, and second-call pattern, ending with return values. Dense but every clause carries instruction; no filler sentences.
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?
No output schema exists, and the description compensates by stating what is returned (claimed reconciliations and remaining open count). The two-mode contract and merge constraint are covered; only edge cases and failure behavior are absent.
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, but the description adds operational meaning by showing resolve=[id] is only supplied on the second call after a verified merge, which the schema alone does not convey. repo_id semantics are left to its schema description.
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 resource (open reconciliations/collisions) and verb (claim, then resolve), and reveals that the tool has two modes rather than just listing pending items as its name suggests. It is clear what the tool does, though it doesn't explicitly contrast against sibling tools like claim or declare_intent.
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 an explicit trigger (when a response reports reconciliations_pending), prescribes the merge policy (keep both sides, never delete either), and specifies the follow-up call (resolve=[id] after tests pass). Both invocation modes and their ordering are spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recallARead-onlyInspect
Search the team's saved notes (made with remember) by text and tags, newest first; an empty query returns the most recent. Use it before re-deciding something the team may already have settled. Read-only. Returns each note with its anchor, confidence and whether it may be stale.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Only notes carrying all of these tags. | |
| limit | No | Maximum notes to return (default 25). | |
| query | No | Text to find in the note; empty returns the most recent. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered; the description reinforces 'Read-only' and adds genuinely new behavior: newest-first ordering, empty-query fallback to most recent, and that results carry anchor, confidence and staleness flags. It does not cover pagination beyond the limit parameter, so it is strong rather than exhaustive.
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 core action and its scoping/ordering rules are front-loaded in the first clause, followed by a short usage directive and the return-shape note. Every sentence earns its place with no 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?
There is no output schema, so the description takes on the burden of describing returns and does so (anchor, confidence, staleness). Combined with the usage cue and the empty-query fallback, an agent has everything needed to call and interpret this 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?
Schema description coverage is 100%, so the baseline is 3; the description adds value beyond the schema by stating the relevance/ordering model (newest first) and the empty-query behavior, and by clarifying that tags are conjunctive in prose. The repo_id and limit semantics remain schema-only, but that is already well documented there.
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?
States a specific verb (search) and resource (the team's saved notes), plus filtering axes (text and tags) and ordering (newest first). It explicitly ties itself to the sibling tool that creates these notes ('made with remember'), so an agent can separate recall from remember without opening either 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?
Gives a concrete use condition: 'Use it before re-deciding something the team may already have settled,' and implicitly frames remember as the write counterpart. It stops short of naming explicit exclusions or other retrieval siblings (e.g. recap, get_briefing), so usage routing is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recapARead-onlyInspect
What each agent did in this repo, session by session: edits, lines, tokens, model, estimated cost, rationales and top paths. Use it to answer "what happened" or "what did this cost". Read-only. Returns one entry per session and a dashboard link.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many days back, up to 90 (default 1). | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, non-destructive and closed-world, and the description's 'Read-only' merely restates that. The value-add is the return shape — one entry per session plus a dashboard link — which is real behavioral context given there is no output schema.
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 tight sentences front-loaded with the payload contents, then the usage question, then the return shape. Nothing is padded, and the only slight redundancy is 'Read-only' against the annotation.
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 no output schema, the description usefully sketches the return (one entry per session, dashboard link). It omits any mention of result volume or cost-estimation caveats, but for a two-parameter read tool it is close to sufficient.
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 days and repo_id both documented in the schema itself, so the baseline is 3. The description adds no extra semantics for either parameter (e.g. the 90-day ceiling or repo_id format), so it neither compensates nor detracts.
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 resource set — per-session agent activity with edits, lines, tokens, model, cost, rationales and top paths — so the agent knows exactly what comes back. It does not, however, contrast itself with close siblings like recall or get_briefing, which is the missing element for 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 clear triggering questions: 'what happened' or 'what did this cost'. That is a usable when-to-use signal, but there are no exclusions or named alternatives, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememberAInspect
Save a durable team fact: a decision, constraint or gotcha, not code state. Anchor facts about specific code (anchor="auth.py::validate_token", "auth.py" or "src/auth/"): anchored notes reach whoever touches that code and are marked stale when it is rewritten. Writes the note(s) and returns their ids.
| Name | Required | Description | Default |
|---|---|---|---|
| fact | No | The note, one or two sentences. | |
| tags | No | Labels to find it by with recall. | |
| facts | No | Several notes at once: [{fact, anchor?, tags?}]. | |
| anchor | No | Where it applies: path::symbol, a file, or dir/. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). | |
| supersedes | No | Id of a note this one replaces; the old note is retired. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-destructive write, and the description adds real behavioral context: anchored notes surface to whoever touches that code, get marked stale on rewrite, and supersedes retires the old note. That goes well beyond the safety hints, though nothing is said about rate limits or write conflicts.
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 dense sentences, front-loaded with the core purpose and the key distinction from code state. Every clause carries information, though the anchoring detail is packed tightly enough to require a second read.
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 6-parameter write tool with no output schema, the description covers purpose, anchoring semantics, batching implication, and return value ('returns their ids'). Minor gaps remain around tag conventions and batch limits on facts.
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, but the description adds meaning beyond the schema: it explains the operational consequence of anchor (reaching code touchers, staleness) and the retirement behavior of supersedes. The anchor form examples reinforce the schema's field syntax.
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?
States a specific verb and resource ('Save a durable team fact') and sharply scopes the content ('a decision, constraint or gotcha, not code state'). The explicit exclusion of code state distinguishes it from retrieval siblings like recall and recap.
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?
Clear guidance on what to store and when to anchor ('facts about specific code'), with concrete anchor syntax examples. It does not explicitly name recall as the counterpart read tool, so the routing is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_agent_messageAInspect
Send a message to teammates' agents. to = one account email; or anchor = the code it is about ("path.py::symbol", "path.py" or "dir/") with no to, which reaches whoever has an open intent on, or edited in the last day, that code or its callers. With an anchor the recipient also sees whether the code changed since you sent it and whether its tests have passed since. It arrives with their next tool result. Returns the message id and who received it.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | A teammate's account email; omit it when anchor is given. | |
| anchor | No | The code the message is about: path.py::symbol, path.py, or dir/. | |
| message | Yes | What you need them to do or know. | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark this as a non-destructive write, but the description adds delivery mechanics (arrives with their next tool result), recipient-side context (they see whether the code changed and whether tests passed since), and return values (message id and recipient). This is meaningful behavior far beyond the annotation set.
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?
Front-loads the two routing modes and keeps every clause informative, though the anchor sentence is dense enough that it takes a second read to parse the recipient-selection rule.
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 no output schema, the description covers return values, delivery timing, and both routing paths, so an agent has everything needed to call 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 coverage is 100%, so baseline is 3, but the description adds real semantics beyond the schema: the anchor resolution rule (open intent or last-day edits, including callers) is not captured in the schema's terser 'path.py::symbol, path.py, or dir/' text.
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?
States a specific verb (send) and resource (message to teammates' agents) and immediately disambiguates the two routing modes (to vs anchor). An agent can distinguish this from siblings like connect_agents or inbox_ack without 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?
Explicitly defines the selection conditions: use `to` with one account email, or use `anchor` alone (no `to`) to reach whoever has an open intent on or recently edited the code or its callers. This is genuine when/how-to-use guidance, not implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setupAInspect
Set up Collide in this repo, once per repo. The answer usually has install.command: run it exactly as given at the repo root (it installs the pinned hook binary, writes the config, merges the settings and installs your credential), then commit what it stages. If the answer has files instead, write them and commit. Returns the command or the files, and what they install.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | enforce (default: the pre-write gate is on), advisory (reporting only), or files (skip the command and return the files). | |
| repo_id | Yes | The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, destructiveHint=false, openWorldHint=false; the description goes well beyond that, disclosing the side effects (installs the pinned hook binary, writes config, merges settings, installs credentials) and the follow-up obligation to commit what it stages. That is exactly the mutation context an agent needs.
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 core purpose and the once-per-repo constraint before the procedural detail. Dense but every sentence carries information; the parenthetical enumerating the command's effects is slightly packed but earned.
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?
There is no output schema, and the description correctly covers what is returned ('the command or the files, and what they install'). Combined with annotations covering the safety profile, an agent has enough to call it correctly; only the already-configured case is unaddressed.
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 repo_id and the enforce/advisory/files mode values already documented in the schema. The description reinforces the files path but adds no new syntax, format, or default semantics beyond what the schema provides, so the baseline 3 applies.
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?
States a specific verb and resource: set up Collide in a repo, and adds the strong qualifier 'once per repo'. It also previews the two output shapes (a command vs files), so an agent knows what the call produces. It does not explicitly contrast with siblings, but none of them (blast_radius, claim, recall, etc.) overlap with setup.
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?
Gives a clear invocation condition ('once per repo') and branching guidance: run install.command exactly as given at the repo root if present, otherwise write the returned files and commit. It does not spell out when setup should be skipped (e.g. already configured), so a small gap remains.
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.
31 tool updates
- Changed
blast_radius4 fields changed- added
Input schema / properties / depth / descriptionAdded value: +"How many hops of dependents to follow, 1 to 6 (default 3)." - added
Input schema / properties / path / descriptionAdded value: +"Repo-relative file path of the symbol." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / symbol / descriptionAdded value: +"The symbol whose dependents to list; omit for the whole file."
- Removed
blind_spots - Changed
claim4 fields changed- added
Input schema / properties / after / descriptionAdded value: +"The highest number you already see in use in that directory, if any." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / sequence / descriptionAdded value: +"A directory such as db/migrations/, or a name such as release." - added
Input schema / properties / title / descriptionAdded value: +"What the number is for; teammates see it."
- Removed
compliance_report - Changed
connect_agents1 field changed- added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)."
- Changed
declare_intent10 fields changed- added
Input schema / properties / after / descriptionAdded value: +"The signature or name after it." - added
Input schema / properties / before / descriptionAdded value: +"The signature or name before the change." - added
Input schema / properties / change_type / descriptionAdded value: +"Legacy prose kind of change; prefer operations." - added
Input schema / properties / idempotency_key / descriptionAdded value: +"Any string; a retry with the same key declares once." - added
Input schema / properties / operations / descriptionAdded value: +"Typed operations, e.g. {op: \"rename\", symbol, new_name}." - added
Input schema / properties / paths / descriptionAdded value: +"Files the change will touch." - added
Input schema / properties / ref / descriptionAdded value: +"An issue or pull request this work belongs to." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / summary / descriptionAdded value: +"One line on what you are about to do." - added
Input schema / properties / symbols / descriptionAdded value: +"Symbols the change will touch."
- Changed
defer_intent5 fields changed- added
Input schema / properties / expires_days / descriptionAdded value: +"Days until the tripwire expires (default 14)." - added
Input schema / properties / note / descriptionAdded value: +"What is unfinished and what the next person should do." - added
Input schema / properties / paths / descriptionAdded value: +"Files whose next edit triggers the warning." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / symbols / descriptionAdded value: +"Symbol names whose next edit triggers it."
- Removed
differential_check - Changed
explain_code3 fields changed- added
Input schema / properties / path / descriptionAdded value: +"File to explain; with no symbol, the whole file." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / symbol / descriptionAdded value: +"Narrow the history to one symbol."
- Changed
get_briefing5 fields changed- added
Input schema / properties / days / descriptionAdded value: +"How far back to look, in days (default 7)." - added
Input schema / properties / depth / descriptionAdded value: +"Hops of dependents to include with path (default 3)." - added
Input schema / properties / path / descriptionAdded value: +"Optional file to also compute the blast radius for." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / symbol / descriptionAdded value: +"Optional symbol in path to narrow that blast radius."
- Changed
get_symbol3 fields changed- added
Input schema / properties / path / descriptionAdded value: +"Repo-relative file path, e.g. src/auth.py." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / symbol / descriptionAdded value: +"Function, class or method name; omit for the whole module."
- Removed
graph_export - Removed
graph_import - Removed
graph_neighbors - Removed
graph_path - Changed
inbox_ack2 fields changed- added
Input schema / properties / ids / descriptionAdded value: +"Message ids from messages_pending." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)."
- Removed
install_hooks - Removed
list_activity - Removed
move_repo - Removed
open_dashboard - Changed
pending_reconciliations2 fields changed- added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / resolve / descriptionAdded value: +"Ids of reconciliations you have merged and verified."
- Removed
plan_work - Changed
recall4 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Maximum notes to return (default 25)." - added
Input schema / properties / query / descriptionAdded value: +"Text to find in the note; empty returns the most recent." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / tags / descriptionAdded value: +"Only notes carrying all of these tags."
- Changed
recap2 fields changed- added
Input schema / properties / days / descriptionAdded value: +"How many days back, up to 90 (default 1)." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)."
- Changed
remember6 fields changed- added
Input schema / properties / anchor / descriptionAdded value: +"Where it applies: path::symbol, a file, or dir/." - added
Input schema / properties / fact / descriptionAdded value: +"The note, one or two sentences." - added
Input schema / properties / facts / descriptionAdded value: +"Several notes at once: [{fact, anchor?, tags?}]." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / supersedes / descriptionAdded value: +"Id of a note this one replaces; the old note is retired." - added
Input schema / properties / tags / descriptionAdded value: +"Labels to find it by with recall."
- Removed
remove_repo - Removed
repo_map - Changed
send_agent_message4 fields changed- added
Input schema / properties / anchor / descriptionAdded value: +"The code the message is about: path.py::symbol, path.py, or dir/." - added
Input schema / properties / message / descriptionAdded value: +"What you need them to do or know." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)." - added
Input schema / properties / to / descriptionAdded value: +"A teammate's account email; omit it when anchor is given."
- Changed
setup2 fields changed- added
Input schema / properties / mode / descriptionAdded value: +"enforce (default: the pre-write gate is on), advisory (reporting only), or files (skip the command and return the files)." - added
Input schema / properties / repo_id / descriptionAdded value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)."
- Removed
simulate_merge - Removed
switch_workspace
2 tool updates
- Added
claim - Changed
send_agent_message2 fields changed- added
Input schema / properties / anchorAdded value: +{ + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "repo_id", - "to", - "message" -]New value: +[ + "repo_id", + "message" +]
1 tool update
- Changed
move_repo2 fields changed- added
Input schema / properties / new_workspaceAdded value: +{ + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "repo_id", - "workspace" -]New value: +[ + "repo_id" +]
3 tool updates
- Added
connect_agents - Added
install_hooks - Added
setup
1 tool update
- Changed
plan_work1 field changed- added
Input schema / properties / dispatchAdded value: +{ + "description": "claim every run_now group now and queue the held ones for release", + "type": "boolean" +}
2 tool updates
- Changed
get_symbol1 field changed- changed
Input schema / requiredPrevious value: -[ - "repo_id", - "path", - "symbol" -]New value: +[ + "repo_id", + "path" +]
- Changed
remember2 fields changed- added
Input schema / properties / factsAdded value: +{ + "items": { + "type": "object" + }, + "type": "array" +} - changed
Input schema / requiredPrevious value: -[ - "repo_id", - "fact" -]New value: +[ + "repo_id" +]
9 tool updates
- Removed
check_collisions - Removed
complete_intent - Removed
connect_agents - Changed
get_briefing3 fields changed- added
Input schema / properties / depthAdded value: +{ + "type": "integer" +} - added
Input schema / properties / pathAdded value: +{ + "type": "string" +} - added
Input schema / properties / symbolAdded value: +{ + "type": "string" +}
- Removed
heartbeat - Removed
install_hooks - Removed
report_edit - Removed
setup - Removed
sync_agents_block
1 tool update
- Added
plan_work
34 tool updates
- Changed
blast_radius10 fields changed- removed
Input schema / properties / depth / defaultRemoved value: -3 - removed
Input schema / properties / depth / titleRemoved value: -"Depth" - removed
Input schema / properties / path / descriptionRemoved value: -"Repo-relative file path, e.g. src/app/api.py." - removed
Input schema / properties / path / titleRemoved value: -"Path" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / symbol / defaultRemoved value: -"" - removed
Input schema / properties / symbol / descriptionRemoved value: -"A symbol in the file — function, class, method, or constant name." - removed
Input schema / properties / symbol / titleRemoved value: -"Symbol" - removed
Input schema / titleRemoved value: -"blast_radiusArguments"
- Changed
blind_spots3 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"blind_spotsArguments"
- Changed
check_collisions15 fields changed- removed
Input schema / properties / paths / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / paths / defaultRemoved value: -null - removed
Input schema / properties / paths / descriptionRemoved value: -"Repo-relative file paths this change will touch." - added
Input schema / properties / paths / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / paths / titleRemoved value: -"Paths" - added
Input schema / properties / paths / typeAdded value: +"array" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / symbols_referenced / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / symbols_referenced / defaultRemoved value: -null - removed
Input schema / properties / symbols_referenced / descriptionRemoved value: -"Symbol names your change depends on, for exact-match collision checking." - added
Input schema / properties / symbols_referenced / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / symbols_referenced / titleRemoved value: -"Symbols Referenced" - added
Input schema / properties / symbols_referenced / typeAdded value: +"array" - removed
Input schema / titleRemoved value: -"check_collisionsArguments"
- Changed
complete_intent8 fields changed- removed
Input schema / properties / intent_id / descriptionRemoved value: -"The id returned by declare_intent, identifying the intent to extend or complete." - removed
Input schema / properties / intent_id / titleRemoved value: -"Intent Id" - removed
Input schema / properties / rationale / defaultRemoved value: -"" - removed
Input schema / properties / rationale / descriptionRemoved value: -"Why this change was made and what was rejected; anchored to the changed symbols." - removed
Input schema / properties / rationale / titleRemoved value: -"Rationale" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"complete_intentArguments"
- Changed
compliance_report6 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / since / defaultRemoved value: -0 - removed
Input schema / properties / since / descriptionRemoved value: -"Unix timestamp; include only events after this time (0 = the full window)." - removed
Input schema / properties / since / titleRemoved value: -"Since" - removed
Input schema / titleRemoved value: -"compliance_reportArguments"
- Changed
connect_agents3 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"connect_agentsArguments"
- Changed
declare_intent35 fields changed- removed
Input schema / properties / after / defaultRemoved value: -"" - removed
Input schema / properties / after / descriptionRemoved value: -"Optional: the symbol's intended new signature or state." - removed
Input schema / properties / after / titleRemoved value: -"After" - removed
Input schema / properties / before / defaultRemoved value: -"" - removed
Input schema / properties / before / descriptionRemoved value: -"Optional: the symbol's prior signature or state, for context." - removed
Input schema / properties / before / titleRemoved value: -"Before" - removed
Input schema / properties / change_type / defaultRemoved value: -"" - removed
Input schema / properties / change_type / descriptionRemoved value: -"Legacy prose change type (rename | signature | move | delete | add | refactor); prefer typed operations." - removed
Input schema / properties / change_type / titleRemoved value: -"Change Type" - removed
Input schema / properties / idempotency_key / defaultRemoved value: -"" - removed
Input schema / properties / idempotency_key / descriptionRemoved value: -"Optional client-supplied key so a retried call is not applied twice." - removed
Input schema / properties / idempotency_key / titleRemoved value: -"Idempotency Key" - removed
Input schema / properties / operations / anyOfRemoved value: -[ - { - "items": { - "additionalProperties": true, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / operations / defaultRemoved value: -null - removed
Input schema / properties / operations / descriptionRemoved value: -"Typed edit operations — {op, symbol, ...} — enabling provable conflict prediction." - added
Input schema / properties / operations / itemsAdded value: +{ + "type": "object" +} - removed
Input schema / properties / operations / titleRemoved value: -"Operations" - added
Input schema / properties / operations / typeAdded value: +"array" - removed
Input schema / properties / paths / descriptionRemoved value: -"Repo-relative file paths this change will touch." - removed
Input schema / properties / paths / titleRemoved value: -"Paths" - removed
Input schema / properties / ref / defaultRemoved value: -"" - removed
Input schema / properties / ref / descriptionRemoved value: -"Link to an issue or PR (e.g. #123, a URL, or PROJ-42)." - removed
Input schema / properties / ref / titleRemoved value: -"Ref" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / summary / defaultRemoved value: -"" - removed
Input schema / properties / summary / descriptionRemoved value: -"A short human-readable summary of the change." - removed
Input schema / properties / summary / titleRemoved value: -"Summary" - removed
Input schema / properties / symbols / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / symbols / defaultRemoved value: -null - removed
Input schema / properties / symbols / descriptionRemoved value: -"Symbol names referenced by, or being changed in, this edit." - added
Input schema / properties / symbols / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / symbols / titleRemoved value: -"Symbols" - added
Input schema / properties / symbols / typeAdded value: +"array" - removed
Input schema / titleRemoved value: -"declare_intentArguments"
- Changed
defer_intent20 fields changed- removed
Input schema / properties / expires_days / defaultRemoved value: -14 - removed
Input schema / properties / expires_days / descriptionRemoved value: -"How many days until this tripwire or intent expires." - removed
Input schema / properties / expires_days / titleRemoved value: -"Expires Days" - removed
Input schema / properties / note / descriptionRemoved value: -"The tripwire note to leave on the given paths/symbols." - removed
Input schema / properties / note / titleRemoved value: -"Note" - removed
Input schema / properties / paths / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / paths / defaultRemoved value: -null - removed
Input schema / properties / paths / descriptionRemoved value: -"Repo-relative file paths this change will touch." - added
Input schema / properties / paths / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / paths / titleRemoved value: -"Paths" - added
Input schema / properties / paths / typeAdded value: +"array" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / symbols / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / symbols / defaultRemoved value: -null - removed
Input schema / properties / symbols / descriptionRemoved value: -"Symbol names referenced by, or being changed in, this edit." - added
Input schema / properties / symbols / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / symbols / titleRemoved value: -"Symbols" - added
Input schema / properties / symbols / typeAdded value: +"array" - removed
Input schema / titleRemoved value: -"defer_intentArguments"
- Changed
differential_check5 fields changed- removed
Input schema / properties / other_user / descriptionRemoved value: -"The teammate (account email) whose in-flight tree to compare against." - removed
Input schema / properties / other_user / titleRemoved value: -"Other User" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"differential_checkArguments"
- Changed
explain_code9 fields changed- removed
Input schema / properties / path / defaultRemoved value: -"" - removed
Input schema / properties / path / descriptionRemoved value: -"Repo-relative file path, e.g. src/app/api.py." - removed
Input schema / properties / path / titleRemoved value: -"Path" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / symbol / defaultRemoved value: -"" - removed
Input schema / properties / symbol / descriptionRemoved value: -"A symbol in the file — function, class, method, or constant name." - removed
Input schema / properties / symbol / titleRemoved value: -"Symbol" - removed
Input schema / titleRemoved value: -"explain_codeArguments"
- Changed
get_briefing6 fields changed- removed
Input schema / properties / days / defaultRemoved value: -7 - removed
Input schema / properties / days / descriptionRemoved value: -"How many days of history to include." - removed
Input schema / properties / days / titleRemoved value: -"Days" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"get_briefingArguments"
- Changed
get_symbol7 fields changed- removed
Input schema / properties / path / descriptionRemoved value: -"Repo-relative file path, e.g. src/app/api.py." - removed
Input schema / properties / path / titleRemoved value: -"Path" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / symbol / descriptionRemoved value: -"A symbol in the file — function, class, method, or constant name." - removed
Input schema / properties / symbol / titleRemoved value: -"Symbol" - removed
Input schema / titleRemoved value: -"get_symbolArguments"
- Changed
graph_export5 fields changed- removed
Input schema / properties / format / defaultRemoved value: -"graphify" - removed
Input schema / properties / format / titleRemoved value: -"Format" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"graph_exportArguments"
- Changed
graph_import5 fields changed- removed
Input schema / properties / graph / additionalPropertiesRemoved value: -true - removed
Input schema / properties / graph / titleRemoved value: -"Graph" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"graph_importArguments"
- Changed
graph_neighbors10 fields changed- removed
Input schema / properties / depth / defaultRemoved value: -1 - removed
Input schema / properties / depth / titleRemoved value: -"Depth" - removed
Input schema / properties / path / descriptionRemoved value: -"Repo-relative file path, e.g. src/app/api.py." - removed
Input schema / properties / path / titleRemoved value: -"Path" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / symbol / defaultRemoved value: -"" - removed
Input schema / properties / symbol / descriptionRemoved value: -"A symbol in the file — function, class, method, or constant name." - removed
Input schema / properties / symbol / titleRemoved value: -"Symbol" - removed
Input schema / titleRemoved value: -"graph_neighborsArguments"
- Changed
graph_path9 fields changed- removed
Input schema / properties / from_path / titleRemoved value: -"From Path" - removed
Input schema / properties / from_symbol / defaultRemoved value: -"" - removed
Input schema / properties / from_symbol / titleRemoved value: -"From Symbol" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / to_path / titleRemoved value: -"To Path" - removed
Input schema / properties / to_symbol / defaultRemoved value: -"" - removed
Input schema / properties / to_symbol / titleRemoved value: -"To Symbol" - removed
Input schema / titleRemoved value: -"graph_pathArguments"
- Changed
heartbeat5 fields changed- removed
Input schema / properties / intent_id / descriptionRemoved value: -"The id returned by declare_intent, identifying the intent to extend or complete." - removed
Input schema / properties / intent_id / titleRemoved value: -"Intent Id" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"heartbeatArguments"
- Changed
inbox_ack4 fields changed- removed
Input schema / properties / ids / titleRemoved value: -"Ids" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"inbox_ackArguments"
- Changed
install_hooks3 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"install_hooksArguments"
- Changed
list_activity3 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"list_activityArguments"
- Changed
move_repo5 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / workspace / descriptionRemoved value: -"The workspace id to bind this credential to." - removed
Input schema / properties / workspace / titleRemoved value: -"Workspace" - removed
Input schema / titleRemoved value: -"move_repoArguments"
- Changed
open_dashboard21 fields changed- removed
Input schema / properties / interval / defaultRemoved value: -"" - removed
Input schema / properties / interval / descriptionRemoved value: -"Billing interval: monthly or annual." - removed
Input schema / properties / interval / titleRemoved value: -"Interval" - removed
Input schema / properties / path / defaultRemoved value: -"" - removed
Input schema / properties / path / descriptionRemoved value: -"Repo-relative file path, e.g. src/app/api.py." - removed
Input schema / properties / path / titleRemoved value: -"Path" - removed
Input schema / properties / plan / defaultRemoved value: -"" - removed
Input schema / properties / plan / descriptionRemoved value: -"Plan name, for a pricing or checkout link." - removed
Input schema / properties / plan / titleRemoved value: -"Plan" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / seats / defaultRemoved value: -0 - removed
Input schema / properties / seats / descriptionRemoved value: -"Seat count, for a pricing or checkout link." - removed
Input schema / properties / seats / titleRemoved value: -"Seats" - removed
Input schema / properties / section / defaultRemoved value: -"overview" - removed
Input schema / properties / section / descriptionRemoved value: -"Dashboard section to deep-link: overview, activity, change, why, worklog, journal, billing, or pricing." - removed
Input schema / properties / section / titleRemoved value: -"Section" - removed
Input schema / properties / seq / defaultRemoved value: -0 - removed
Input schema / properties / seq / descriptionRemoved value: -"Ledger sequence number, for a change deep-link." - removed
Input schema / properties / seq / titleRemoved value: -"Seq" - removed
Input schema / titleRemoved value: -"open_dashboardArguments"
- Changed
pending_reconciliations8 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / resolve / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / resolve / defaultRemoved value: -null - added
Input schema / properties / resolve / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / resolve / titleRemoved value: -"Resolve" - added
Input schema / properties / resolve / typeAdded value: +"array" - removed
Input schema / titleRemoved value: -"pending_reconciliationsArguments"
- Changed
recall13 fields changed- removed
Input schema / properties / limit / defaultRemoved value: -25 - removed
Input schema / properties / limit / titleRemoved value: -"Limit" - removed
Input schema / properties / query / defaultRemoved value: -"" - removed
Input schema / properties / query / titleRemoved value: -"Query" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / tags / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / tags / defaultRemoved value: -null - removed
Input schema / properties / tags / descriptionRemoved value: -"Optional labels to categorize this memory." - added
Input schema / properties / tags / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / tags / titleRemoved value: -"Tags" - added
Input schema / properties / tags / typeAdded value: +"array" - removed
Input schema / titleRemoved value: -"recallArguments"
- Changed
recap6 fields changed- removed
Input schema / properties / days / defaultRemoved value: -1 - removed
Input schema / properties / days / descriptionRemoved value: -"How many days of history to include." - removed
Input schema / properties / days / titleRemoved value: -"Days" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"recapArguments"
- Changed
remember17 fields changed- removed
Input schema / properties / anchor / defaultRemoved value: -"" - removed
Input schema / properties / anchor / descriptionRemoved value: -"Pin this memory to specific code: 'path.py::symbol', 'path.py', or 'src/dir/'." - removed
Input schema / properties / anchor / titleRemoved value: -"Anchor" - removed
Input schema / properties / fact / descriptionRemoved value: -"The durable fact or decision to remember." - removed
Input schema / properties / fact / titleRemoved value: -"Fact" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / supersedes / defaultRemoved value: -"" - removed
Input schema / properties / supersedes / descriptionRemoved value: -"The id of a prior memory this note replaces." - removed
Input schema / properties / supersedes / titleRemoved value: -"Supersedes" - removed
Input schema / properties / tags / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / tags / defaultRemoved value: -null - removed
Input schema / properties / tags / descriptionRemoved value: -"Optional labels to categorize this memory." - added
Input schema / properties / tags / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / tags / titleRemoved value: -"Tags" - added
Input schema / properties / tags / typeAdded value: +"array" - removed
Input schema / titleRemoved value: -"rememberArguments"
- Changed
remove_repo6 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / workspace / defaultRemoved value: -"" - removed
Input schema / properties / workspace / descriptionRemoved value: -"The workspace id to bind this credential to." - removed
Input schema / properties / workspace / titleRemoved value: -"Workspace" - removed
Input schema / titleRemoved value: -"remove_repoArguments"
- Changed
repo_map5 fields changed- removed
Input schema / properties / budget / defaultRemoved value: -12 - removed
Input schema / properties / budget / titleRemoved value: -"Budget" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"repo_mapArguments"
- Changed
report_edit18 fields changed- removed
Input schema / properties / content / descriptionRemoved value: -"The full file contents you wrote or are about to write." - removed
Input schema / properties / content / titleRemoved value: -"Content" - removed
Input schema / properties / draft / defaultRemoved value: -false - removed
Input schema / properties / draft / descriptionRemoved value: -"true while composing: broadcast that symbols are in motion without advancing state." - removed
Input schema / properties / draft / titleRemoved value: -"Draft" - removed
Input schema / properties / expected_hashes / anyOfRemoved value: -[ - { - "additionalProperties": true, - "type": "object" - }, - { - "type": "null" - } -] - removed
Input schema / properties / expected_hashes / defaultRemoved value: -null - removed
Input schema / properties / expected_hashes / descriptionRemoved value: -"{symbol: hash} you read, making the write a compare-and-swap that rejects on drift." - removed
Input schema / properties / expected_hashes / titleRemoved value: -"Expected Hashes" - added
Input schema / properties / expected_hashes / typeAdded value: +"object" - removed
Input schema / properties / idempotency_key / defaultRemoved value: -"" - removed
Input schema / properties / idempotency_key / descriptionRemoved value: -"Optional client-supplied key so a retried call is not applied twice." - removed
Input schema / properties / idempotency_key / titleRemoved value: -"Idempotency Key" - removed
Input schema / properties / path / descriptionRemoved value: -"Repo-relative file path, e.g. src/app/api.py." - removed
Input schema / properties / path / titleRemoved value: -"Path" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"report_editArguments"
- Changed
send_agent_message5 fields changed- removed
Input schema / properties / message / titleRemoved value: -"Message" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / to / titleRemoved value: -"To" - removed
Input schema / titleRemoved value: -"send_agent_messageArguments"
- Changed
setup6 fields changed- removed
Input schema / properties / mode / defaultRemoved value: -"enforce" - removed
Input schema / properties / mode / descriptionRemoved value: -"enforce (block the write on a certain collision) or advise (never block)." - removed
Input schema / properties / mode / titleRemoved value: -"Mode" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"setupArguments"
- Changed
simulate_merge8 fields changed- removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / properties / users / anyOfRemoved value: -[ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / users / defaultRemoved value: -null - added
Input schema / properties / users / itemsAdded value: +{ + "type": "string" +} - removed
Input schema / properties / users / titleRemoved value: -"Users" - added
Input schema / properties / users / typeAdded value: +"array" - removed
Input schema / titleRemoved value: -"simulate_mergeArguments"
- Changed
switch_workspace5 fields changed- removed
Input schema / properties / workspace / defaultRemoved value: -"" - removed
Input schema / properties / workspace / descriptionRemoved value: -"The workspace id to bind this credential to." - removed
Input schema / properties / workspace / titleRemoved value: -"Workspace" - added
Input schema / requiredAdded value: +[] - removed
Input schema / titleRemoved value: -"switch_workspaceArguments"
- Changed
sync_agents_block5 fields changed- removed
Input schema / properties / file_content / descriptionRemoved value: -"The full current contents of the file (AGENTS.md for sync_agents_block)." - removed
Input schema / properties / file_content / titleRemoved value: -"File Content" - removed
Input schema / properties / repo_id / descriptionRemoved value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch." - removed
Input schema / properties / repo_id / titleRemoved value: -"Repo Id" - removed
Input schema / titleRemoved value: -"sync_agents_blockArguments"
6 tool updates
- Added
blast_radius - Added
graph_export - Added
graph_import - Added
graph_neighbors - Added
graph_path - Added
repo_map
28 tool updates
- First observed
blind_spots - First observed
check_collisions - First observed
complete_intent - First observed
compliance_report - First observed
connect_agents - First observed
declare_intent - First observed
defer_intent - First observed
differential_check - First observed
explain_code - First observed
get_briefing - First observed
get_symbol - First observed
heartbeat - First observed
inbox_ack - First observed
install_hooks - First observed
list_activity - First observed
move_repo - First observed
open_dashboard - First observed
pending_reconciliations - First observed
recall - First observed
recap - First observed
remember - First observed
remove_repo - First observed
report_edit - First observed
send_agent_message - First observed
setup - First observed
simulate_merge - First observed
switch_workspace - First observed
sync_agents_block
Publisher details
- Operator
- Lithometric · Publisher source
- Operator website
- https://collidemcp.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://collidemcp.com/docs · Publisher source
- Trust center
- https://collidemcp.com/compliance · Publisher source
- Restrictions
- Collide is free to connect and use. No paid plan, admin approval or workspace provisioning is needed: any developer can add https://mcp.collidemcp.com as a connector in Claude, ChatGPT, Cursor or VS Code, approve through a browser sign in, and start working on the Free tier right away. No API keys, no config, no custom OAuth app to register, and no regional restrictions. Limits are based on plan, not setup. Speed and tokens are the same on every tier. Free ($0 forever): one player, 1 repo per workspace, up to 3 concurrent agents, messaging between your own agents, 7 day ledger and knowledge history, unlimited free viewers. Team ($19/seat/month, or $190/seat/year): unlimited agents and repos, agent knowledge shared across teammates, team wide messaging, 90 day history and a team dashboard. 14 day free trial, no card required. Business ($45/seat/month, or $450/seat/year): unlimited history, unmetered calls, the full compliance ledger of every agent action with audit logs and export, SSO, admin roles and priority support. Enterprise (custom): self hosted in your VPC or on premise, SAML or SCIM provisioning, custom data retention and a dedicated SLA. Prices are grandfathered for life. · Publisher source
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1622 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm37 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.