Skip to main content
Glama
paultaki
by paultaki

AI Loop Library MCP server

A read-only MCP server that gives coding agents the AI Loop Library: 63+ bounded, verifiable work loops with a trigger, one-change-per-round discipline, a verification check, durable state, a stop condition, a budget, and human approval gates.

The design premise: the calling agent is the best ranker available — it knows the operator's repo, data, and constraints, and this server doesn't. So the tools hand the agent clean, compact evidence instead of pretending to judge for it: browse_catalog returns the whole library as a ~2k-token digest to judge from, pick_loop_for_goal returns an honest lexically-ranked shortlist with a confidence signal (never a single blind verdict), and render_run_protocol turns the chosen loop into an executable markdown protocol with a state-file skeleton, stop conditions, and a paste-ready prompt. critique_loop lints any loop design against the anti-pattern rubric, and design_loop scaffolds a new spec when nothing in the catalog fits.

Single file, Python 3.9+ standard library only. No dependencies, no auth, no write tools.

Install

From a clone of this repo:

python3 server.py --self-test   # verify: 43 offline checks
python3 server.py --eval        # 20 golden ranking queries vs the live catalog

Or grab the single file straight from the live site:

mkdir -p ~/.ai-loop-library
curl -fsSL https://ailooplibrary.com/mcp/server.py -o ~/.ai-loop-library/server.py
python3 ~/.ai-loop-library/server.py --self-test

Claude Code

claude mcp add ai-loop-library -- python3 ~/.ai-loop-library/server.py

Cursor / generic MCP client

{
  "mcpServers": {
    "ai-loop-library": {
      "command": "python3",
      "args": ["/absolute/path/to/server.py"],
      "env": {
        "AI_LOOP_LIBRARY_CATALOG_URL": "https://ailooplibrary.com/catalog.json"
      }
    }
  }
}

Optional: pip install

pip install -e .             # installs the ai-loop-library-mcp console script
claude mcp add ai-loop-library -- ai-loop-library-mcp

Related MCP server: DPS-Superskills-MCP

Catalog source

Resolution order:

  1. AI_LOOP_LIBRARY_CATALOG_PATH — local JSON file (catalog.json or data/loops.json shape)

  2. AI_LOOP_LIBRARY_CATALOG_URL — defaults to https://ailooplibrary.com/catalog.json

  3. Repo-local fallback (../catalog.json, ../data/loops.json) when the server runs inside the site repo; otherwise an embedded 2-loop sample keeps --self-test fully offline

Fetched catalogs are cached in memory for 5 minutes.

Tools

Tool

What it does

browse_catalog(category?)

The whole catalog as a ~2k-token digest (id, category, use_when, verifier strength) — one call, then the agent judges against operator context

search_loops(query, category?, limit?)

Ranked loops with a one-line why-matched

get_loop(id_or_slug)

Full loop spec + canonical URL, with verifier strength and loop kind

pick_loop_for_goal(goal, constraints?, limit?)

Lexically ranked shortlist (5 by default) with use_when, verification, and an honest confidence signal — the agent makes the final call

render_run_protocol(id_or_slug, goal?, risk_posture?, kind?, max_rounds?, max_minutes?)

Executable markdown protocol: done contract, one-change-per-round, verification, state files, stop conditions, budget, risk-colored approval boundary, proof format. Scheduled-tick business loops (SEO, ads, product metrics) get experiment logs, undo-losers discipline, and notify-the-human ticks

critique_loop(loop_description)

Deterministic lint against the anti-pattern rubric (verifier, stop condition, budget, one-change-per-round, state, MVL, risk gates…) — 0–10 score with per-check fixes

design_loop(goal, constraints?, cadence?, context?)

Scaffold a new loop spec from a stated bottleneck, with a domain-matched verifier suggestion and the nearest catalog loops

list_categories()

Category counts with library filter URLs

catalog_stats()

Loop count, featured loops, last_updated, catalog source

All tools declare readOnlyHint. Resources: ailooplibrary://catalog and ailooplibrary://loop/{id}.

Ranking is a transparent lexical heuristic — IDF-weighted keyword overlap (computed from the catalog at load, so template boilerplate scores near zero) with light stemming, a small documented synonym/expansion map, damped brand tokens, and a goal-term-to-category map. It is documented in server.py (_score_loop, SYNONYMS_RAW, CATEGORY_HINTS) and labeled as such in tool output. --eval holds it to 20 golden queries at a ≥85% top-3 hit rate. No model, no magic — and when confidence is low, the output says so.

Design constraints

  • Read-only. No write tools, no shell execution of user code, no posting, no auth, no PII.

  • stdio transport only (newline-delimited JSON-RPC 2.0, MCP protocol 2024-11-05 through 2025-06-18).

  • Errors from tools return isError: true with a plain-text explanation, never a crash.

License

MIT

Available Tools

9 tools
browse_catalogA
Read-onlyIdempotent

The entire AI Loop Library as a compact digest (~2k tokens): every loop's id, category, one-line use_when, and verifier strength. This is the highest-signal single call here — you know the operator's repo, data, and recurring pain, so scan the digest against that context and make the pick yourself. Follow with get_loop for depth or render_run_protocol to run one.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional exact category filter, e.g. Engineering, Growth

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint. The description adds context about the output size (~2k tokens) and content, which is useful beyond annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. First sentence describes output, second gives usage guidance and next steps. Perfectly front-loaded and concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (one optional param, no output schema), the description covers the main purpose, output format, and next steps. It lacks detail on how the category filter affects the digest, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is self-documenting (100% coverage) with a clear description of the optional category parameter. The description does not add additional parameter information, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a compact digest of all loops with specific fields (id, category, use_when, verifier strength). This distinguishes it from siblings like search_loops (filtered) and get_loop (single item).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use this as the first step ('highest-signal single call') and directs to follow up with get_loop or render_run_protocol. However, it does not explicitly state when not to use it (e.g., if you already know the exact loop id).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

catalog_statsA
Read-onlyIdempotent

Catalog overview: loop count, categories, featured loops, last_updated, and where the catalog was loaded from.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior. The description adds value by specifying the exact data fields returned, which is useful behavioral context 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, clearly communicates the tool's purpose and output in a compact manner.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no output schema, and annotations covering safety, the description is entirely adequate—it lists all returned fields and leaves no gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so the baseline is 4. The description does not need to add parameter details since the schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly lists the fields returned (loop count, categories, etc.) and clearly distinguishes this overview tool from siblings like browse_catalog or search_loops by focusing on summary statistics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the description implies usage for getting a catalog overview, it does not explicitly state when to use this tool versus alternatives or provide any when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

critique_loopA
Read-onlyIdempotent

Lint any loop design — the operator's own, or one you drafted — against the AI Loop Library anti-pattern rubric: verifier present and objective, stop condition, budget, one-change-per-round, durable state, same-check-every-round, micro-metric objective (MVL), human gates on risky surfaces, defined trigger. Returns a 0–10 score, per-check fixes, and related catalog loops. Deterministic text lint, not a model — 'missing' means 'not stated'.

ParametersJSON Schema
NameRequiredDescriptionDefault
loop_descriptionYesThe loop design in plain words: objective, trigger, action, verification, stop condition, budget, risk handling

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only and idempotent hints, the description reveals that it is 'deterministic text lint, not a model', and explains that 'missing' means 'not stated'. It also discloses the return format (0–10 score, per-check fixes, related catalog loops), which is critical since there is no output schema. This adds substantial 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the verb and resource, followed by a compact list of rubric areas and a parenthetical clarification. It is about 45 words, with no redundancy; every clause adds information, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description covers all necessary context: purpose, input, behavioral nature, and output. It explicitly states what is returned and the meaning of 'missing', so no important information is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully describes the single parameter (loop_description) with 100% coverage. The tool description does not add additional detail about format, length, or examples beyond what the schema provides, so it meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description immediately states the tool's function with a specific verb and resource: 'Lint any loop design'. It clearly distinguishes itself from siblings like design_loop (which creates) and search_loops (which searches), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies the intended use context: 'the operator's own, or one you drafted', and notes that it is deterministic lint. It does not explicitly name alternatives or exclusions, but the scope is clear enough to guide correct usage among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

design_loopA
Read-onlyIdempotent

Scaffold a NEW loop spec from a stated bottleneck when no catalog loop fits: returns a draft with every required field (trigger, scope, one-round action, suggested verifier for the domain, state files, stop conditions, budget, risk colors), an MVL sanity check on the objective, and the nearest existing loops to steal structure from. Follow with critique_loop on the completed draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesThe bottleneck or outcome, in plain words
cadenceNoOptional trigger/cadence, e.g. 'nightly', 'monthly tick'
contextNoOptional operator context: stack, data sources, what already exists
constraintsNoOptional constraints, e.g. 'read-only', 'no budget for APIs'

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint and idempotentHint. The description adds valuable behavioral context by detailing the output content (trigger, scope, etc.) and the MVL sanity check. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. The core purpose is front-loaded, and every sentence adds value (purpose, output details, follow-up). No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given strong annotations and no output schema, the description adequately covers the tool's behavior and output. It mentions the return fields and a sanity check. Slightly incomplete regarding error conditions or return format, but acceptable for a design tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and schema descriptions are clear. The description essentially paraphrases the schema (e.g., 'bottleneck or outcome' for goal) without adding significant new meaning beyond the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Scaffold a NEW loop spec'), the resource ('loop spec'), and the condition ('when no catalog loop fits'). It effectively distinguishes from siblings like browse_catalog and search_loops.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit context for when to use the tool ('when no catalog loop fits') and a follow-up step ('Follow with critique_loop'). It does not explicitly list when not to use, but the condition implies alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_loopA
Read-onlyIdempotent

Fetch one loop's full spec by id or slug: objective, trigger, allowed actions, verification (+ verifier strength), stop condition, budget, approval boundary, copyable prompt, and canonical URL. Use after browse_catalog or search_loops.

ParametersJSON Schema
NameRequiredDescriptionDefault
id_or_slugYesLoop id, e.g. 'ci-optimization', or its title

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description adds value by listing the returned fields (objective, trigger, etc.). No contradiction. Could mention error handling, but adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first densely packs return fields and purpose, second gives usage guidance. No wasted words, well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description compensates by listing all expected return fields comprehensively. Also provides usage context. Fully adequate for a single-parameter fetch tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description. The description adds minimal extra meaning (confirming by id or slug) but largely repeats the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Fetch' and the resource 'one loop's full spec', listing key fields. It distinguishes itself from siblings by specifying usage after browse_catalog or search_loops.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use after browse_catalog or search_loops', providing clear context for when to invoke. Could be improved by mentioning when not to use, but it's sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_categoriesA
Read-onlyIdempotent

List loop categories with live counts and library filter URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description's addition of 'live counts' and 'library filter URLs' adds some behavioral context beyond safety, but does not explain their meaning or format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with action and resource, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only tool with no output schema, the description sufficiently explains what it returns (categories with counts and URLs) and is complete given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so schema coverage is 100%. Baseline for 0 parameters is 4, and the description does not need to add parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'loop categories', and adds specifics 'with live counts and library filter URLs', which distinguishes it from siblings like 'browse_catalog'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'search_loops' or 'catalog_stats'. The description is purely declarative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pick_loop_for_goalA
Read-onlyIdempotent

Shortlist the best-matching loops for a stated goal (lexical ranking with an honest confidence signal) — you make the final call. Returns 5 candidates with use_when, verification, and why-matched so you can judge against operator context the server can't see. When confidence is low, trust your own read of browse_catalog over this ranking. Follow with render_run_protocol for the executable version.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesThe outcome the operator wants, in plain words
limitNo
constraintsNoOptional constraints, e.g. 'read-only', 'no production access'

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, the description reveals that ranking is lexical and includes an 'honest confidence signal,' acknowledges a server-side blind spot for operator context, and describes the return structure (5 candidates with use_when, verification, why-matched). This is valuable 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first states the action and method, the second explains the return value, and the third gives decision guidance and next step. No wasted words, excellent front-loading.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 listing the return fields (use_when, verification, why-matched) and how to interpret them against operator context. It also addresses when to trust the tool vs. browse_catalog, and the follow-up render_run_protocol, making it self-contained for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% (goal and constraints are described, but limit is not). The description implies a default limit by saying 'Returns 5 candidates,' but this is already in the schema as default=5. It doesn't add meaningful parameter-level guidance beyond what the schema provides, so it scores at the baseline for moderate coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Shortlist the best-matching loops for a stated goal.' It clearly distinguishes this from browsing (browse_catalog), searching (search_loops), or fetching a specific loop (get_loop), and the 'stated goal' scope sets it apart as a recommendation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides an alternative and usage caveat: 'When confidence is low, trust your own read of browse_catalog over this ranking.' It also tells the agent to follow with render_run_protocol for the executable version, giving a clear next step.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_run_protocolA
Read-onlyIdempotent

Render a loop as an executable markdown run protocol an agent can follow directly: objective/done contract, allowed actions, one-change-per-round rule, the same verification every round, a durable state-file skeleton, stop conditions, budget, risk-colored approval boundary, proof format, and a paste-ready Claude Code prompt. Session loops get bounded rounds; scheduled-tick business loops (SEO, ads, product metrics) get experiment logs, undo-losers discipline, and notify-the-human ticks.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNoOptional operator goal to embed in the protocol
kindNoauto infers from the loop's trigger; override to force a session or tick protocolauto
id_or_slugYesLoop id or title
max_roundsNoSession loops: round budget
max_minutesNoSession loops: time budget
risk_postureNostrict treats every shared-surface action as approval-gateddefault

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the description adds value by detailing behavioral traits: different protocol structures for session vs. scheduled-tick loops, inclusion of risk-colored approval boundaries, budget constraints, and state-file skeletons. This goes beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is comprehensive but verbose, with a long list of protocol components packed into a single paragraph. It front-loads the main purpose but could be more concise by grouping or shortening the enumerated items. Adequate but not minimal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description fully explains what the rendered protocol contains (objective/done contract, allowed actions, verification rules, state-file skeleton, stop conditions, budgets, etc.). It covers behavioral differences based on loop kind, making it complete for an agent to understand and use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaning by explaining how the 'kind' parameter affects the output (bounded rounds for sessions, experiment logs for scheduled-ticks) and how 'risk_posture' changes approval gating. This contextualizes parameters beyond enum labels and defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool renders a loop as an executable markdown run protocol an agent can follow, with a specific verb and resource. It distinguishes from sibling tools like get_loop or search_loops by focusing on generating an actionable protocol rather than retrieving or designing loops.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (e.g., when an agent needs to execute a loop), but it does not explicitly state when to use this tool versus alternatives like get_loop or design_loop. No exclusions or direct comparisons are provided, leaving the agent to infer the appropriate use case from the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_loopsA
Read-onlyIdempotent

Search AI Loop Library's bounded, verifiable work loops by job-to-be-done, keyword, or category. Each loop ships with a trigger, one-change-per-round discipline, a verification check, a stop condition, a budget, and a human approval boundary — so an agent can run it without thrashing. Returns ranked matches with a one-line why-matched.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesJob to be done or keywords, e.g. 'flaky tests' or 'source-check a draft'
categoryNoOptional exact category filter, e.g. Engineering, Knowledge, Operations

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true and idempotentHint=true, so the description's mention of ranked matches with a why-matched line adds value. The detailed loop components (trigger, discipline, etc.) provide extra context beyond annotations, without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: first states purpose, second explains loop concept, third notes return format. The second sentence is lengthy but informative. Could be tighter, but no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 3 params and no output schema, the description covers search inputs (query/category), loop nature, and output format (ranked matches with why-matched). Lacks mention of pagination or limit behavior, but sufficient for a search intent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (query and category have descriptions, limit does not). The description mentions 'keyword' and 'category' matching schema terms but adds no new semantics for limit. No compensation for the missing limit description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for 'bounded, verifiable work loops' by 'job-to-be-done, keyword, or category.' This precise verb-resource pairing distinguishes it from sibling tools like browse_catalog (browsing) or get_loop (single retrieval).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool for discovery, but it does not explicitly state when not to use it or mention alternatives. Given sibling names like browse_catalog and get_loop, the context is reasonably clear.

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. 2 tool updatesv2.0.0
    • Addedcritique_loop
    • Addedpick_loop_for_goal
  2. 7 tool updatesv0.1.0
    • First observedbrowse_catalog
    • First observedcatalog_stats
    • First observeddesign_loop
    • First observedget_loop
    • First observedlist_categories
    • First observedrender_run_protocol
    • First observedsearch_loops

TDQS

A4.3/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct action on the loop library: browsing the digest, searching by keyword, fetching one spec, recommending for a goal, rendering an executable protocol, critiquing a design, viewing stats, designing new loops, and listing categories. While browse, search, and pick overlap somewhat in discovery, their descriptions clarify distinct use cases, so an agent can reliably choose the right tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: browse_catalog, search_loops, get_loop, pick_loop_for_goal, render_run_protocol, critique_loop, design_loop, catalog_stats, list_categories. The verbs are precise and the nouns are clear, making the naming predictable and readable.

Tool Count5/5

With 9 tools, the server is well-scoped. Each tool covers a different aspect of working with the loop library—discovery, retrieval, execution, design, and analysis—without redundancy or excessive granularity. This is within the ideal range for a focused MCP server.

Completeness4/5

The tool surface covers the full workflow from browsing and searching to fetching specs, rendering run protocols, critiquing designs, and creating new loop drafts. The only notable gap is the absence of update/delete operations, but since this is a read-only library rather than a CRUD system, those are not necessary. The coverage is robust for the stated purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    B
    maintenance
    Agent-first programming language: agents produce JSON AST, the compiler validates, type-checks, effect-checks, verifies contracts via Z3/SMT, and compiles to WASM. 19 MCP tools for the full compile-and-execute loop.
    22
    36 npm
    11
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Exposes 31 high-assurance agentic coding skills as MCP tools and resources, enabling AI agents to invoke structured workflows across DISCIPLINE, TECHNIQUE, KNOWLEDGE LAYER, and REFERENCE registers.
    5
    Apache 2.0