MCP Server

Topology Index

com.topologyindex/topology-index
AI & Agents Knowledge & Documentation Public & reachable MCP 2025-11-25

What this MCP does

Provides searchable reference material on multi-agent LLM topology patterns, aliases, research sources, and starter formations.

fetch
Fetch a public page
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, a one-time use ticket for `report_outcome` (limited rollout).
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['path_or_url'], 'properties': {'path_or_url': {'type': 'string', 'maxLength': 2048, 'minLength': 1, 'description': 'A path such as /patterns/index.md, or https://topologyindex.com/patterns/index.md.'}}, 'additionalProperties': False}
get_pattern
Get a pattern
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. May add a second item, a one-time use ticket for `report_outcome` (limited rollout).
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['pattern'], 'properties': {'pattern': {'type': 'string', 'maxLength': 64, 'minLength': 1, 'description': 'A pattern identifier such as supervisor, or an alias such as orchestrator-worker.'}}, 'additionalProperties': False}
list_patterns
List patterns
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.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'domain': {'enum': ['coding', 'research', 'documents', 'reasoning', 'evaluation', 'operations', 'security'], 'type': 'string', 'description': 'Read the lens of one task domain instead; not together with a family.'}, 'family': {'enum': ['baseline', 'parallelism', 'hierarchy', 'shared_state', 'verification', 'adaptive', 'continuity'], 'type': 'string', 'description': 'Restrict the list to one pattern family.'}}, 'additionalProperties': False}
list_starters
List starter formations
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}).
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'task_class': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'A task class such as coding.bugfix.'}}, 'additionalProperties': False}
report_outcome
Report a use ticket outcome
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: pass, fail or abandoned, never a prompt, code or log. Fields: /docs/api/contributing.md.
Idempotent
Input schema
{'type': 'object', 'required': ['ticket', 'model_id', 'task_class', 'outcome', 'tests_ran', 'tests_passed'], 'properties': {'ticket': {'type': 'string'}, 'outcome': {'enum': ['pass', 'fail', 'abandoned']}, 'model_id': {'type': 'string'}, 'tests_ran': {'type': 'integer'}, 'task_class': {'type': 'string'}, 'input_tokens': {'type': ['integer', 'null']}, 'tests_passed': {'type': 'integer'}, 'output_tokens': {'type': ['integer', 'null']}, 'model_precision': {'enum': ['exact', 'family']}, 'elapsed_milliseconds': {'type': ['integer', 'null']}}, 'additionalProperties': False}
search
Search Topology Index
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`; if no page matches every word, pages matching some; if none, the decision guide. Matches text only; never ranks patterns.
Read only Idempotent
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Words to look for, such as "orchestrator worker", "verification" or "coding".'}}, 'additionalProperties': False}
Output schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['match', 'results'], 'properties': {'match': {'enum': ['all_words', 'any_word', 'none', 'empty'], 'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'url', 'title', 'snippet'], 'properties': {'url': {'type': 'string'}, 'path': {'type': 'string'}, 'title': {'type': 'string'}, 'snippet': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Changed
search
Sept. 28, 2026, 2:40 a.m.
Changed
report_outcome
Sept. 26, 2026, 2:40 a.m.
Changed
get_pattern
Sept. 26, 2026, 2:40 a.m.
Changed
list_patterns
Sept. 26, 2026, 2:40 a.m.
Changed
fetch
Sept. 26, 2026, 2:40 a.m.
Added
report_outcome
Sept. 24, 2026, 2:40 a.m.
Added
list_starters
Sept. 24, 2026, 2:40 a.m.
Added
get_pattern
Sept. 24, 2026, 2:40 a.m.
Added
list_patterns
Sept. 24, 2026, 2:40 a.m.
Added
fetch
Sept. 24, 2026, 2:40 a.m.
Added
search
Sept. 24, 2026, 2:40 a.m.