Topology Index
Server Details
Reference for multi-agent LLM topologies: patterns, aliases, sources, starters; one gated report.
- Status
- Healthy
- Uptime
- 100.0% over 20 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
fetch is a generic page reader that overlaps substantially with get_pattern (which is essentially a specialized read of a pattern page), and list_patterns returns a subset of what fetch can retrieve from /patterns/index.md. Descriptions do clarify the distinctions (alias resolution, execution eligibility, decision-guide framing), so misselection is possible but recoverable.
Most tools follow a verb_noun pattern (get_pattern, list_patterns, list_starters, report_outcome), giving a readable, predictable scheme. Two tools (fetch, search) are bare verbs, a minor deviation from the dominant convention.
Six tools is well-scoped for a pattern/formation index: one generic reader, one specialized pattern reader, two listers, one search, and one feedback tool. Each has a distinct role and none feels redundant given the scope.
The surface covers discovery (search, list_patterns, list_starters), retrieval (fetch, get_pattern), and outcome reporting, which is a coherent lifecycle for a read-oriented index. Minor gaps exist: no direct domain or findings listing tool (only reachable indirectly through list_patterns), but the generic fetch lets agents work around this.
Available Tools
6 toolsfetchFetch a public pageARead-onlyIdempotentInspect
Returns the Markdown document of any public page, exactly as HTTP serves it, from a root-relative path (/patterns/supervisor.md) or a https://topologyindex.com URL. Private tenant routes are not reachable here. A pattern, starter or formation read may add a second item containing a one-time use ticket and an instruction to call report_outcome after applying it; pattern and starter redemptions can return indexed pitfalls, checks or a pairing suggestion.
| Name | Required | Description | Default |
|---|---|---|---|
| path_or_url | Yes | A path such as /patterns/index.md, or https://topologyindex.com/patterns/index.md. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, and the description adds substantial context beyond them: private routes are unreachable, and a read may yield a second item with a one-time-use ticket plus an instruction to call report_outcome. It also discloses that pattern/starter redemptions can return indexed pitfalls, checks, or a pairing suggestion.
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 core action and return value, then adds the constraint and the side-channel behavior. The third sentence is dense with conditional redemption detail but each clause carries distinct information, 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?
With no output schema, the description carries the return-shape burden and does so: Markdown document body plus a possible second item with a ticket and follow-up instruction. Combined with the reachability constraint, an agent has enough to call and interpret it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter, so the schema already documents the accepted path/URL forms. The description restates those formats (root-relative path, https://topologyindex.com URL) with an extra example, but adds no new syntactic or semantic constraint beyond the schema baseline.
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: "Returns the Markdown document of any public page... exactly as HTTP serves it." It also scopes the resource by excluding private tenant routes, which separates it from authenticated retrieval siblings. It does not explicitly contrast with search or get_pattern, so it falls short of full sibling differentiation.
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 context on what is reachable (public pages, root-relative paths or the topologyindex.com domain) and how the result feeds a redemption flow that requires calling report_outcome. It never names search/get_pattern as alternatives or states when to prefer this over them, so the routing guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_patternGet a patternARead-onlyIdempotentInspect
One pattern page (/patterns/{pattern}.md): definition, aliases, when it is hypothesised to fit, failure modes, sources and whether this deployment can execute it. Accepts a pattern identifier or a known alias. Adds a second item with a one-time use ticket and a one-line instruction when this selected read is eligible; report_outcome returns useful indexed follow-up after redemption.
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | A pattern identifier such as supervisor, or an alias such as orchestrator-worker. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral content beyond that: a conditional second output item carrying a one-time use ticket and a one-line instruction, plus the follow-up flow via report_outcome after redemption.
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 what is returned, then the input form, then the conditional ticket behavior. Dense but purposeful; the semicolon-chained second sentence is slightly harder to parse than it needs to be, but no sentence is pure 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 one param, no output schema, and a non-obvious side effect, the description must carry the return shape and it does enumerate the page contents plus the conditional ticket item. It could be slightly clearer about the ticket's purpose and how report_outcome consumes it, but nothing essential for calling the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single param is already fully described in the schema ('A pattern identifier such as supervisor, or an alias such as orchestrator-worker'). The description's 'Accepts a pattern identifier or a known alias' largely restates the schema rather than adding format, resolution, or error semantics.
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+resource ('One pattern page') and enumerates the page's contents (definition, aliases, fit hypotheses, failure modes, sources, executability). It is clearly distinct from list_patterns and search, though it never explicitly separates itself from the sibling `fetch`, which could also retrieve a page.
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?
Usage is only implied: an agent can infer this is a single-item lookup by identifier or alias versus listing/searching. There is no explicit 'use this when...' guidance, and no statement of when to prefer report_outcome or fetch instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_patternsList patternsBRead-onlyIdempotentInspect
The decision guide: where to start by the shape of the task, the pattern to consider next and when to avoid each, plus the pattern families (the choosing rows of /patterns/index.md, without the rest of that page). With a family, /patterns/index.md?family={family}: that family’s patterns and the rows that name them. With a domain, /domains/{domain}.md: the task shapes common in that kind of work, their rows, the sources of the published findings tagged with it (never a ranking; each finding in words at /domains/{domain}/findings.md) and its starters. The response includes exact next calls for the listed patterns and starters.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | No | Read the lens of one task domain instead; not together with a family. | |
| family | No | Restrict the list to one pattern family. |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, not open-world), and the description still adds real context: the domain findings are 'never a ranking,' findings are rendered 'in words,' and the response embeds exact next calls. That is meaningful behavior beyond the annotations, though it omits any pagination/size caveats.
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?
One long, colon-chained sentence-fragment block that mixes purpose, file paths, query-string syntax and return contents. It is information-dense but not front-loaded or skimmable; much of the path plumbing (/patterns/index.md?family={family}) crowds out the essential message.
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 an output schema present, return values need not be explained, and the description still covers both optional parameters and the downstream routing. For a 2-param read-only listing tool this is nearly sufficient; only the missing sibling differentiation keeps it from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both enums described, so baseline is 3. The description goes further by mapping each parameter choice to what it retrieves (a family yields that family's patterns and naming rows; a domain yields task shapes, tagged sources and starters), adding semantic value over the schema 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?
The description frames the tool as a "decision guide" that returns pattern families, task shapes and next-step pointers, and it varies its output by the family/domain argument. However, it never states a clean verb+resource (e.g. "lists available patterns"), instead burying the purpose in path-level detail, so an agent must infer what is actually returned.
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 explains what happens 'with a family' and 'with a domain,' which implies when to pass each, and it promises exact next calls, implicitly routing to get_pattern/fetch. But it never states when to prefer this over siblings like search, fetch, or list_starters, so comparison guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_startersList starter formationsARead-onlyIdempotentInspect
The starter formation index (/starters/index.md): unvalidated, unsigned FORMATION.md documents to copy and register privately. With a task class, only the starters that declare it (/starters/index.md?task_class={task_class}). The response includes exact fetch calls for the starter paths.
| Name | Required | Description | Default |
|---|---|---|---|
| task_class | No | A task class such as coding.bugfix. |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive/openWorld=false, so the description earns credit for added trust context: documents are 'unvalidated, unsigned' and must be registered privately. It also discloses that the response includes exact fetch calls, which is behavior beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact, front-loaded with the resource identity, then the filter behavior, then the response shape. The inline URL syntax is slightly dense but earns its place by showing the exact index path.
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 an output schema present, return values needn't be detailed, and the description covers identity, trust caveat, filtering, and response shape. Nothing critical to calling it correctly appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the param is optional, so baseline would be 3, but the description adds filter semantics the schema lacks: supplying a task_class narrows results to starters that declare it, and it even sketches the query form.
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 resource (the starter formation index of FORMATION.md documents) and what the tool returns. It reads clearly as a listing tool distinct from list_patterns/get_pattern by operating on 'starters/formations' rather than patterns, though it never names the sibling it displaces.
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 'to copy and register privately' phrasing implies the use case, and it explains the task_class filter condition, but there is no explicit when-to-use-this-vs-list_patterns guidance or stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_outcomeReport a use ticket outcomeAIdempotentInspect
Limited rollout: only for a use ticket from a pattern, starter or formation read. If you have no ticket, do not call it. With one, report once after your task: worked, partly or did_not_work, with an optional short note. The response returns a useful follow-up from indexed content when one exists. No prompt, code or log is stored. Terms: /docs/api/contributing.md.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| ticket | Yes | ||
| outcome | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare idempotentHint=true, destructiveHint=false and readOnlyHint=false, so the write-ish, repeat-safe nature is partly covered. The description adds real context beyond that: it is a limited rollout, no prompt/code/log is stored, and the response can return a follow-up from indexed content. It stops short of naming auth or rate-limit constraints, so it is strong but not 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?
Front-loaded with the gating condition before the mechanics, and every sentence carries information (precondition, timing, enum values, privacy, return behavior, terms pointer). It is slightly dense with parenthetical clauses but nothing is 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 helpfully states what comes back (a follow-up from indexed content when one exists) and covers retention/privacy. Combined with the usage gating, an agent has enough to invoke it correctly; only auth/permission expectations are 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 0%, so the description must carry the load, and it does: it explains where `ticket` must originate, enumerates the three `outcome` values (worked/partly/did_not_work) in human terms, and describes `note` as an optional short note. The 280-character cap on `note` remains schema-only, but overall the parameters are meaningfully grounded.
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 verb+resource (report a use ticket outcome) and immediately scopes it to tickets obtained from a pattern, starter or formation read, which none of the sibling tools (fetch, get_pattern, list_patterns, list_starters, search) do. An agent can tell this apart from the read-oriented siblings at a glance.
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 precondition ('only for a use ticket from a pattern, starter or formation read'), an explicit exclusion ('If you have no ticket, do not call it'), and timing guidance ('report once after your task'). The condition that selects this tool versus the siblings is fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch Topology IndexARead-onlyIdempotentInspect
Keyword search, with common synonyms, over pattern names, aliases and families, the decision guide, the domains, sources and benchmarks of published findings, research, starters and guides. At most 10 results, each a path for fetch; canonical pattern results also include the identifier for get_pattern and an exact next call. If no page matches every word, pages matching some; if none, the decision guide. Matches text only; never ranks patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Words to look for, such as "orchestrator worker", "verification" or "coding". |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | No | |
| match | Yes | |
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, it discloses the result cap (at most 10), the fallback cascade (all-words match, then partial, then decision guide), and the matching semantics (text only, never ranks patterns). These are substantive behavioral traits the annotations do not 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?
The scoping phrase is front-loaded and each sentence carries distinct information (coverage, result shape, fallback, matching). The long enumeration of searched surfaces is dense but earns its place; structure is efficient overall.
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 an output schema present and annotations covering the safety profile, the description supplies the remaining essentials: scope, result limit, result shape, and fallback behavior. Nothing an agent needs 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?
There is a single query parameter with 100% schema description coverage, so the schema already carries the semantics. The description adds nothing about query syntax or length 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 specific verb (keyword search) and enumerates the resource surface it searches (pattern names, aliases, families, decision guide, domains, sources, benchmarks, research, starters, guides). An agent can immediately distinguish this from list_patterns/list_starters and understand it targets the topology index.
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 routes the agent by explaining that each result is a path for `fetch` and that canonical pattern results carry the identifier for `get_pattern` plus an exact next call. That gives clear downstream context, but it never states when to prefer this over siblings like list_patterns or list_starters, so the exclusion guidance is implicit.
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.
3 tool updates
- Changed
list_patterns1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "next": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "path_or_url": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "path_or_url" + ], + "type": "object" + }, + "tool": { + "const": "fetch", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "pattern": { + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "pattern" + ], + "type": "object" + }, + "tool": { + "const": "get_pattern", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "tool": { + "const": "list_patterns", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + } + ] + }, + "maxItems": 32, + "type": "array" + } + }, + "required": [ + "next" + ], + "type": "object" +}
- Changed
list_starters1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "next": { + "items": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "path_or_url": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "path_or_url" + ], + "type": "object" + }, + "tool": { + "const": "fetch", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "pattern": { + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "pattern" + ], + "type": "object" + }, + "tool": { + "const": "get_pattern", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "tool": { + "const": "list_patterns", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + } + ] + }, + "maxItems": 32, + "type": "array" + } + }, + "required": [ + "next" + ], + "type": "object" +}
- Changed
search4 fields changed- added
Output schema / properties / nextAdded value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "path_or_url": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "path_or_url" + ], + "type": "object" + }, + "tool": { + "const": "fetch", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "pattern": { + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "pattern" + ], + "type": "object" + }, + "tool": { + "const": "get_pattern", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "tool": { + "const": "list_patterns", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + } + ] +} - added
Output schema / properties / results / items / properties / nextAdded value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "path_or_url": { + "maxLength": 2048, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "path_or_url" + ], + "type": "object" + }, + "tool": { + "const": "fetch", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": { + "pattern": { + "maxLength": 64, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "pattern" + ], + "type": "object" + }, + "tool": { + "const": "get_pattern", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "arguments": { + "additionalProperties": false, + "properties": {}, + "type": "object" + }, + "tool": { + "const": "list_patterns", + "type": "string" + } + }, + "required": [ + "tool", + "arguments" + ], + "type": "object" + } + ] +} - added
Output schema / properties / results / items / properties / patternAdded value: +{ + "maxLength": 64, + "type": "string" +} - changed
Output schema / properties / results / items / requiredPrevious value: -[ - "path", - "url", - "title", - "snippet" -]New value: +[ + "path", + "url", + "title", + "snippet", + "next" +]
1 tool update
- Changed
report_outcome11 fields changed- removed
Input schema / properties / elapsed_millisecondsRemoved value: -{ - "type": [ - "integer", - "null" - ] -} - removed
Input schema / properties / input_tokensRemoved value: -{ - "type": [ - "integer", - "null" - ] -} - removed
Input schema / properties / model_idRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / model_precisionRemoved value: -{ - "enum": [ - "exact", - "family" - ] -} - added
Input schema / properties / noteAdded value: +{ + "maxLength": 280, + "type": "string" +} - changed
Input schema / properties / outcome / enumPrevious value: -[ - "pass", - "fail", - "abandoned" -]New value: +[ + "worked", + "partly", + "did_not_work" +] - removed
Input schema / properties / output_tokensRemoved value: -{ - "type": [ - "integer", - "null" - ] -} - removed
Input schema / properties / task_classRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / tests_passedRemoved value: -{ - "type": "integer" -} - removed
Input schema / properties / tests_ranRemoved value: -{ - "type": "integer" -} - changed
Input schema / requiredPrevious value: -[ - "ticket", - "model_id", - "task_class", - "outcome", - "tests_ran", - "tests_passed" -]New value: +[ + "ticket", + "outcome" +]
1 tool update
- Changed
search1 field changed- changed
Output schema / properties / match / enumPrevious value: -[ - "all_words", - "any_word", - "none" -]New value: +[ + "all_words", + "any_word", + "none", + "empty" +]
1 tool update
- Changed
report_outcome27 fields changed- removed
Input schema / $schemaRemoved value: -"https://json-schema.org/draft/2020-12/schema" - removed
Input schema / properties / elapsed_milliseconds / anyOfRemoved value: -[ - { - "maximum": 2678400000, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } -] - removed
Input schema / properties / elapsed_milliseconds / descriptionRemoved value: -"Omit when unknown." - added
Input schema / properties / elapsed_milliseconds / typeAdded value: +[ + "integer", + "null" +] - removed
Input schema / properties / input_tokens / anyOfRemoved value: -[ - { - "maximum": 1000000000000, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } -] - removed
Input schema / properties / input_tokens / descriptionRemoved value: -"Omit when unknown; never guess 0." - added
Input schema / properties / input_tokens / typeAdded value: +[ + "integer", + "null" +] - removed
Input schema / properties / model_id / descriptionRemoved value: -"The model that did the work, never an alias such as latest: its exact pin when known, otherwise its family (claude-sonnet) with model_precision family." - removed
Input schema / properties / model_id / maxLengthRemoved value: -128 - removed
Input schema / properties / model_id / minLengthRemoved value: -1 - removed
Input schema / properties / model_precision / descriptionRemoved value: -"exact (the default) or family. A family is accepted at lower confidence, counted apart from exact pins." - removed
Input schema / properties / model_precision / typeRemoved value: -"string" - removed
Input schema / properties / outcome / descriptionRemoved value: -"pass needs tests_ran > 0 and tests_passed = tests_ran." - removed
Input schema / properties / outcome / typeRemoved value: -"string" - removed
Input schema / properties / output_tokens / anyOfRemoved value: -[ - { - "maximum": 1000000000000, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } -] - removed
Input schema / properties / output_tokens / descriptionRemoved value: -"Omit when unknown; never guess 0." - added
Input schema / properties / output_tokens / typeAdded value: +[ + "integer", + "null" +] - removed
Input schema / properties / task_class / descriptionRemoved value: -"The kind of work as {domain}.{task}, the domain one of coding, research, documents, reasoning, evaluation, operations, security: coding.bugfix, research.literature_review. A machine name, never a task description." - removed
Input schema / properties / task_class / maxLengthRemoved value: -128 - removed
Input schema / properties / task_class / patternRemoved value: -"^(?:coding|research|documents|reasoning|evaluation|operations|security)(?:\\.[a-z][a-z0-9_]{0,31}){1,3}$" - removed
Input schema / properties / tests_passed / maximumRemoved value: -1000000000 - removed
Input schema / properties / tests_passed / minimumRemoved value: -0 - removed
Input schema / properties / tests_ran / maximumRemoved value: -1000000000 - removed
Input schema / properties / tests_ran / minimumRemoved value: -0 - removed
Input schema / properties / ticket / descriptionRemoved value: -"The ticket exactly as received (starts with \"ut1.\")." - removed
Input schema / properties / ticket / maxLengthRemoved value: -1024 - removed
Input schema / properties / ticket / minLengthRemoved value: -1
1 tool update
- Changed
report_outcome6 fields changed- changed
Input schema / properties / model_id / descriptionPrevious value: -"The exact model identifier that did the work, never an alias."New value: +"The model that did the work, never an alias such as latest: its exact pin when known, otherwise its family (claude-sonnet) with model_precision family." - added
Input schema / properties / model_precisionAdded value: +{ + "description": "exact (the default) or family. A family is accepted at lower confidence, counted apart from exact pins.", + "enum": [ + "exact", + "family" + ], + "type": "string" +} - added
Input schema / properties / task_class / descriptionAdded value: +"The kind of work as {domain}.{task}, the domain one of coding, research, documents, reasoning, evaluation, operations, security: coding.bugfix, research.literature_review. A machine name, never a task description." - removed
Input schema / properties / task_class / enumRemoved value: -[ - "coding.bugfix" -] - added
Input schema / properties / task_class / maxLengthAdded value: +128 - added
Input schema / properties / task_class / patternAdded value: +"^(?:coding|research|documents|reasoning|evaluation|operations|security)(?:\\.[a-z][a-z0-9_]{0,31}){1,3}$"
4 tool updates
- Changed
list_patterns1 field changed- added
Input schema / properties / domainAdded value: +{ + "description": "Read the lens of one task domain instead; not together with a family.", + "enum": [ + "coding", + "research", + "documents", + "reasoning", + "evaluation", + "operations", + "security" + ], + "type": "string" +}
- Changed
list_starters3 fields changed- added
Input schema / $schemaAdded value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / task_classAdded value: +{ + "description": "A task class such as coding.bugfix.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
report_outcome6 fields changed- changed
Input schema / properties / elapsed_milliseconds / descriptionPrevious value: -"Wall time of the work; omit or null when unknown."New value: +"Omit when unknown." - changed
Input schema / properties / input_tokens / descriptionPrevious value: -"Omit or null when unknown; never guess 0."New value: +"Omit when unknown; never guess 0." - changed
Input schema / properties / model_id / descriptionPrevious value: -"The exact model identifier that did the work, never an alias like \"latest\"."New value: +"The exact model identifier that did the work, never an alias." - changed
Input schema / properties / output_tokens / descriptionPrevious value: -"Omit or null when unknown; never guess 0."New value: +"Omit when unknown; never guess 0." - removed
Input schema / properties / task_class / descriptionRemoved value: -"The task class of the work." - changed
Input schema / properties / ticket / descriptionPrevious value: -"The Use-Ticket header value, exactly as received (starts with \"ut1.\")."New value: +"The ticket exactly as received (starts with \"ut1.\")."
- Changed
search3 fields changed- changed
Input schema / properties / query / descriptionPrevious value: -"Words to look for, such as \"orchestrator worker\" or \"debate\"."New value: +"Words to look for, such as \"orchestrator worker\", \"verification\" or \"coding\"." - added
Output schema / properties / matchAdded value: +{ + "enum": [ + "all_words", + "any_word", + "none" + ], + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "results" -]New value: +[ + "match", + "results" +]
1 tool update
- Added
report_outcome
5 tool updates
- First observed
fetch - First observed
get_pattern - First observed
list_patterns - First observed
list_starters - First observed
search
Related MCP Connectors
Agent-first resource directory for AI agents: protocols, security, RAG, memory, evals, and more.
AI Agent Source Registry. 288K+ curated sources for agentic search and discovery.
Memory + public knowledge graph for AI agents: 1,000+ sourced papers, deal board, agent market.
191The cross-LLM AI agent marketplace
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnterprise-grade asynchronous multi-agent orchestration and MCP router mesh framework, enabling DAG-based workflows, consensus-driven agent swarms, and REST/telemetry gateway.MIT
- AlicenseAqualityDmaintenanceMulti-advisor debate, institutional memory, trust scoring, and cognitive governance for AI agents, all running locally.513 npm1MIT
- AlicenseNot gradedqualityCmaintenanceOpen coordination network for AI agents and their humans. 13 tools for structured coordination, job marketplace, reputation system. Dual-protocol: MCP + A2A. MIT licensed.1MIT
- AlicenseNot gradedqualityCmaintenanceLocal-first AI agent for approval-gated automation and verifiable LLM workflows.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.