Topology Index
Server Details
Reference for multi-agent LLM topologies: patterns, aliases, sources, starters; one gated report.
- Status
- Healthy
- Uptime
- 100.0% over 34 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The core split is clear: `search` (keyword lookup), `list_patterns`/`list_starters` (browse indexes), `get_pattern` (single pattern detail), `fetch` (arbitrary page), `report_outcome` (feedback loop). The one real overlap is `fetch` versus `get_pattern`, since `fetch` can also retrieve /patterns/{pattern}.md; the descriptions mitigate this by explaining that `get_pattern` adds aliases, failure modes, execution eligibility and a redemption ticket, but an agent could still reach for `fetch` and lose the ticket flow.
Four tools follow verb_noun (`get_pattern`, `list_patterns`, `list_starters`, `report_outcome`) while two are bare verbs (`fetch`, `search`). The pattern is readable and the bare verbs are conventional for generic retrieval, but the set is not uniformly predictable.
Six tools is tight and well-scoped for a content index: retrieval, browsing, detail lookup, keyword search and an outcome-reporting loop. Each tool has a distinct role and nothing looks like filler or a versioned duplicate.
Coverage is good: browse indexes, single-item reads, free-form page fetch, search, and a feedback mechanism with verification follow-ups. Minor gaps exist — there is no dedicated domain or findings index tool (domains are reachable only as an argument to `list_patterns` or via `fetch`), and research/guide/benchmark listings depend on `search` or knowing the path.
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; a pattern or starter redemption returns a verification checklist, or the pattern to test next when it did not work.
| 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 the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, yet the description adds real substance: what is unreachable (private tenant routes), that a read may emit a second item with a one-time-use ticket, and that report_outcome should then be called. It omits how a caller should handle a failed/404 fetch, but the added side-effect context is well 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?
The main purpose is front-loaded in the first sentence and every clause carries information. The second sentence is dense and stacks several distinct behaviors (ticket item, report_outcome, checklist) into one run-on, which slightly hurts scannability.
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 must carry return-value burden, and it does: Markdown document, possible second item with a ticket, and either a verification checklist or the next pattern to test. Given a single well-documented parameter and full annotation coverage, this is nearly complete, though the shape of error responses 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 coverage is 100% and the single parameter is fully documented in the schema, so the baseline is 3. The description's path/URL examples ('/patterns/supervisor.md') duplicate what the schema already provides and add no new syntax or validation 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?
States a specific verb and resource ('Returns the Markdown document of any public page, exactly as HTTP serves it') plus the accepted input forms. It implicitly distinguishes itself from get_pattern by emphasizing raw-as-served content, but never names or contrasts with the sibling tools, so an agent must infer which of fetch vs get_pattern to prefer.
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 exclusion 'Private tenant routes are not reachable here' is an explicit when-not, and the notes about pattern/starter reads imply when the ticket/checklist behavior applies. However, there is no statement of when to choose fetch over get_pattern, list_patterns, or search, so the routing decision is left implied.
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 applying it when you know the outcome: 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 account or API key is needed. 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?
Goes well beyond the annotations: discloses no account or API key required, that no prompt/code/log is stored, and that the response may return a follow-up from indexed content. Adds privacy and auth context that readOnlyHint/idempotentHint alone cannot convey.
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 eligibility constraint is front-loaded, followed by when to call, the payload, and the response behavior. Every sentence carries information; the terms link is a minor but reasonable trailing addition.
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 3-param tool with no output schema, the description covers eligibility, timing, payload values, privacy, and a loose description of the return ('useful follow-up from indexed content when one exists'). The return shape is only characterized qualitatively, a minor 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?
With 0% schema description coverage, the description compensates by explaining all three params: the source of 'ticket', the three 'outcome' values verbatim, and that 'note' is optional and short. It does not mention the 280-char limit, which remains discoverable only in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (report) and resource (a use ticket outcome), plus the exact accepted values. The gating sentence about tickets from a pattern, starter, or formation read separates it clearly from the read-only siblings (fetch, get_pattern, list_patterns, list_starters, search).
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?
Explicit when-to-use and when-not: 'only for a use ticket from a pattern, starter or formation read' and 'If you have no ticket, do not call it.' It also specifies timing ('report once after applying it when you know the outcome'), leaving nothing to inference.
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 | No | Words to look for, such as "orchestrator worker", "verification" or "coding". Only the first 200 characters are searched. |
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?
Goes well past the readOnly/idempotent annotations by disclosing fallback behavior (all-words match, then partial match, then decision guide), the 10-result cap, and the semantic limit that it matches text only and never ranks patterns. These are behavioral traits an agent cannot infer from the annotations or 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?
Front-loaded with purpose, then result shape, then fallback semantics; nearly every clause carries information. The middle sentence is densely packed with multiple ideas, but nothing 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 single-parameter search with an output schema and full annotation coverage, the description supplies everything additional an agent needs: scope of the index, synonym behavior, result cap, result-to-next-tool mapping, and degradation order. Nothing material 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% (including the 200-character search window), so the baseline is 3. The description adds real value by disclosing synonym expansion, which directly changes how an agent should phrase the query.
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 with synonym expansion) and enumerates the resource surfaces searched: pattern names, aliases, families, decision guide, domains, sources, benchmarks, research, starters, guides. This makes it clearly distinct from fetch, get_pattern, and list_patterns, which the description references by name.
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 routes the agent: each result is a path for `fetch`, canonical pattern results carry the identifier for `get_pattern` plus an exact next call. That is strong forward guidance, but it never states when NOT to use this tool (e.g., when to prefer list_patterns for browsing), so it sits just below the top mark.
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.
1 tool update
- Changed
search5 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Input schema / properties / query / descriptionPrevious value: -"Words to look for, such as \"orchestrator worker\", \"verification\" or \"coding\"."New value: +"Words to look for, such as \"orchestrator worker\", \"verification\" or \"coding\". Only the first 200 characters are searched." - changed
Input schema / properties / query / maxLengthPrevious value: -200New value: +4096 - removed
Input schema / properties / query / minLengthRemoved value: -1 - removed
Input schema / requiredRemoved value: -[ - "query" -]
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.
Patterns for designing and reviewing AI skills, agents, and multi-agent workflows. Find guidance on context economy, delegation, verification, and tool design; inspect claims, worked examples, maturity labels, and source references. Five read-only tools let agents discover relevant patterns, compare concise cards, read specific sections, and explore relationships. Hosted Streamable HTTP at https://agentic-atlas.dev/mcp/ — no installation, account, or API key required. Browse the atlas at https://agentic-atlas.dev/.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnterprise-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.512 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.