champollion-sulcal-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@champollion-sulcal-mcprun the cortical tiles stage for subject S001"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
champollion-sulcal-mcp
A FastMCP server wrapping the Champollion sulcal embedding pipeline — exposes each pipeline stage as an MCP tool so an agent can run, monitor, and debug the pipeline without shelling out manually.
Overview
This is a stdio MCP server (not a web service). It doesn't run the pipeline in-process — each start_* tool launches one of the pipeline's CLI scripts as a subprocess and tracks it as a background job (status + log file on disk), which callers poll until it reaches a terminal state.
It's consumed by the technician agent in the sibling champollion_agents repo, and also ships its own Claude Code subagent definition and skills so it can be driven directly from Claude Code.
Related MCP server: Botverse
How it works
A caller (an MCP client, or the Technician agent via
claude-code-sdk) invokes a tool such asstart_cortical_tiles.The tool validates its arguments (paths must be absolute), resolves the pipeline's script location via
preflight.detect(), and builds anargvmatching that script's real CLI.runner.launch()spawns the script as a subprocess with an environment built by_build_env()(selectively passesHF_TOKEN, injectsBRAINVISA_SHARE, prepends BrainVISA/pixi bins toPATH), and returns immediately with ajob_id.The subprocess's combined stdout/stderr is streamed line-by-line into a log file; progress lines matching
fold N/Mupdate the job's progress.The caller polls
get_job_status(output_dir, job_id)(and can tailget_job_log) until the job issucceeded,failed, orcancelled.
Pipeline stages
Stage | Tool | Purpose |
1 |
| Generate sulcal graphs from T1 MRI using Morphologist |
2 |
| Extract 28 standardized sulcal region crops |
3 |
| Generate Champollion dataset YAML configuration |
4 |
| Compute 56-fold sulcal embeddings (28 regions × 2 hemispheres) |
5 |
| Collect per-region embedding CSVs into a single output directory |
6 |
| Render sulcal graph meshes, cortical tile masks, and UMAP plots |
— |
| Run stages 1–6 sequentially as one umbrella job (stages skippable) |
— |
| Scan-centric mode: one worker per scan runs stages 2–4 in parallel; combine runs once after all workers drain |
— |
| Train a self-supervised |
Project layout
src/champollion_sulcal_mcp/
├── server.py # FastMCP instance, tool registration, entry point (main())
├── preflight.py # locates the champollion_pipeline repo + its scripts/submodules
├── job_store.py # JobState/JobProgress models, JSON job file persistence
├── runner.py # subprocess launch, log streaming, progress parsing, cancel
└── tools/
├── stages.py # one start_<stage> tool per pipeline stage + maintenance tools
├── pipeline.py # start_pipeline composite/umbrella job orchestration
├── jobs.py # get_job_status, list_jobs, cancel_job, get_job_log
└── utils.py # get_pipeline_info, preflight_check
agents/
└── champollion-pipeline.md # Claude Code subagent definition for this MCP server
skills/
├── run-pipeline/ # SKILL.md guiding stage-centric vs streaming execution
├── monitor/ # SKILL.md for the job-polling loop
└── debug/ # SKILL.md + known error patterns for failure diagnosis
docs/
└── agents_architecture.md # early design doc for the champollion_agents repo (historical, superseded — see note below)
tests/ # pytest suite with fake_pipeline_dir / recording_runner fixturesMCP tools reference
Registered in server.py:
Stage launchers — start_morphologist, start_cortical_tiles, start_config, start_training, start_embeddings, start_combine, start_snapshots
Composite pipeline — start_pipeline
Streaming — start_streaming
Maintenance — purge_subject (remove a subject's cortical_tiles derivatives), prune_failed_subjects (remove outputs for subjects that failed QC)
Job lifecycle — get_job_status, list_jobs, cancel_job, get_job_log
Utilities — get_pipeline_info (server/stage metadata), preflight_check (verify the pipeline is correctly configured and accessible)
Requirements
Python 3.11 or 3.12
The sibling
champollion_pipelinerepository (not included here) — must contain the stage scripts undersrc/(generate_morphologist_graphs.py,run_cortical_tiles.py,generate_champollion_config.py,generate_embeddings.py,put_together_embeddings.py,generate_snapshots.py,train_champollion.py,run_streaming.py) and theexternal/champollion_V1andexternal/cortical_tilessubmodules.
Installation
pixi installConfiguration
Variable | Purpose | Default |
| Absolute path to the | Falls back to |
| HuggingFace token | Passed through only to the |
| BrainVISA install location / share dir | Auto-injected from the pipeline's pixi environment if not already set in the environment |
Running
This is a stdio server meant to be launched by an MCP client (e.g. the Technician agent's ClaudeCodeOptions.mcp_servers config in champollion_agents), not run interactively on its own:
pixi run run # python -m champollion_sulcal_mcp.server
# or, once installed:
champollion-sulcal-mcpClaude Code integration
Beyond the raw MCP tools, this repo ships assets for using the pipeline directly from Claude Code:
agents/champollion-pipeline.md— a subagent scoped to exactly the MCP tools it needs, with an operational playbook: always preflight first, never guess paths, default output layout, per-stage required parameters, a known-error-pattern table, and the exact CLI invocation each tool wraps.skills/run-pipeline— guides choosing stage-centric vs. streaming execution and gathering the right parameters.skills/monitor— a poll-every-30-seconds monitoring loop with per-job-type progress reporting.skills/debug— systematic failure diagnosis: read the full log, match against known error patterns, report root cause and fix.
Job tracking
Each job is persisted as <output_dir>/.mcp_jobs/<job_id>.json (atomic write) with its combined stdout/stderr log at <output_dir>/.mcp_jobs/<job_id>.log. Status lifecycle: pending → running → one of succeeded / failed / cancelled. start_pipeline additionally writes an "umbrella" job whose progress tracks current_stage / stages_done / stages_total and the currently active child job_id.
Testing
pixi run test # full suite
pixi run test-unit # unit-marked tests only
pixi run test-fast # stop on first failure
pixi run test-cov # with coverage reporttests/conftest.py provides fake_pipeline_dir (a temp dir with stub stage scripts and submodule folders) and recording_runner (stubs runner.launch to record calls instead of spawning real subprocesses), so most tool behavior can be tested without a real champollion_pipeline checkout.
Linting
pixi run lint # ruff check
pixi run lint-fix # ruff check --fix
pixi run format # ruff formatNote on docs/agents_architecture.md
That document is an early architecture proposal for the champollion_agents repo (ACP/acp-sdk, OpenAI-compatible LLM backend, in-process ChromaDB indexing). It predates and does not reflect the current implementation of either repo — champollion_agents now runs its agents through claude-code-sdk rather than a custom ACP/LangGraph stack, and this repo has no LLM or ACP code at all. Kept for historical context only.
Available Tools
17 toolscancel_jobC
Cancel a running job by sending SIGTERM to its process.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| output_dir | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions sending SIGTERM, which implies process termination, but lacks details on side effects (e.g., job state changes, irreversibility, resource cleanup, or impact on other jobs).
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 description is a single sentence (9 words) that efficiently conveys the core action. No extraneous text; every word contributes to purpose.
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?
Given the tool's destructive nature (cancelling a job), the description omits important context: is it reversible, what happens to output, does it require ownership? The output schema exists but doesn't cover behavioral context. The minimal description leaves gaps for an AI agent to make safe decisions.
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%, yet the description adds no meaning beyond the bare schema. The parameters job_id and output_dir are not described; the agent must infer their purpose from names alone, risking misunderstanding (e.g., output_dir role is unclear).
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 clearly states the verb 'cancel', the resource 'running job', and the method 'SIGTERM'. It distinguishes itself from sibling tools like get_job_status or list_jobs by indicating an action that modifies the job state.
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?
No guidance is provided on when to use this tool versus alternatives such as get_job_status or the start_* tools. The description does not mention prerequisites, conditions, or when not to cancel a job.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_logB
Retrieve the last N lines of a job's log output.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| output_dir | Yes | ||
| tail_lines | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It indicates a read operation (retrieve) but does not mention potential limitations (e.g., maximum lines retrievable, performance impact, availability of logs after job completion) or error scenarios.
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 description is a single, front-loaded sentence with no unnecessary words. Every word contributes to conveying the core functionality.
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?
Given the tool has an output schema (not detailed but present) and only three simple parameters, the description is adequate but leaves gaps: it does not specify the format or size of the returned log, nor behavior for invalid job IDs or non-existent logs.
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 0%, yet the description only implicitly references the 'tail_lines' parameter via 'last N lines'. Required parameters 'job_id' and 'output_dir' are not explained, and their meanings or constraints are missing.
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 clearly states the action 'retrieve' and the resource 'job's log output', with a specific qualifier 'last N lines'. It effectively distinguishes from sibling tools like get_job_status (status) and list_jobs (listing) by focusing on log content.
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 description implies usage when wanting to see recent log output, but provides no explicit guidance on when to use this tool vs. alternatives like get_job_status or cancel_job. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_statusB
Get the current status and progress of a running or completed job.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| output_dir | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It mentions 'current status and progress' but does not disclose whether the operation is read-only, what the response contains (though an output schema exists), or any authentication or side effects.
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 description is a single sentence, concise and front-loaded with the core action. It could be improved by structuring parameter details, but it is not verbose.
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?
Given the presence of an output schema, return values need not be described, but the description lacks parameter explanations and behavioral context. For a two-parameter tool, more detail is expected to guide correct invocation.
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%, leaving the description to explain parameters. However, the description does not mention job_id or output_dir at all, failing to add meaning beyond the schema's field names.
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 clearly states the verb 'Get' and the resource 'status and progress of a running or completed job', distinguishing it from sibling tools like list_jobs (lists all jobs) and get_job_log (gets logs).
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 description implies usage for checking job status, but does not explicitly state when to use this versus alternatives like get_job_log or cancel_job, nor provides any exclusions or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pipeline_infoA
Get metadata about the Champollion pipeline and available MCP tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. 'Get metadata' suggests a read-only operation without side effects, which is likely safe, but it does not explicitly state that the tool is non-destructive or clarify authentication requirements. The description is adequate but could be more explicit.
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 description is a single, concise sentence that communicates the tool's purpose without unnecessary detail. Every word is relevant and earns its place.
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?
Given the tool has no parameters and an output schema exists, the description sufficiently conveys the tool's role as a metadata provider. It does not explain return values, but the output schema presumably covers that. It is complete for its simplicity.
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 are zero parameters and schema coverage is 100% (trivially). The description adds no parameter information, which is acceptable since none exist. Baseline is high, and no additional info is needed.
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 uses the specific verb 'Get' and clearly identifies the resource as 'metadata about the Champollion pipeline and available MCP tools'. This distinguishes it from sibling tools, which are primarily task starters (e.g., start_training) or job management tools.
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 description implies usage for retrieving metadata but does not provide explicit guidance on when to use this tool versus alternatives like get_job_status or list_jobs. Given the tool has no parameters, the context is straightforward, but exclusion criteria or preferred scenarios are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_jobsB
List all jobs for a given output directory, optionally filtered by status.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| status | No | ||
| output_dir | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It states the read-like list operation but fails to disclose limitations, ordering, pagination, or side effects. The behavioral profile is minimal.
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 description is a single concise sentence of 12 words, directly stating the core action. While efficient, it could be slightly expanded to cover key details.
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?
Given the lack of annotations, an output schema exists but is unused, and parameter coverage is zero, the description is too sparse. It misses expected guidance on return values, defaults, and usage context.
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%. The description mentions output_dir and status, but omits limit entirely. It adds minimal value beyond the schema—only clarifies that status is optional.
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 clearly states the verb 'List' and the resource 'jobs for a given output directory', with an optional filter by status. It distinguishes from siblings like get_job_status (which targets a specific job) and cancel_job.
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 description implies when to use (listing jobs by directory) but does not explicitly contrast with other tools like get_job_status or specify when not to use. No alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preflight_checkA
Check whether the Champollion pipeline is correctly configured and accessible.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose all behavioral traits. Only states high-level purpose; fails to mention what exactly is checked, side-effects, error handling, or output nature.
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?
Single sentence, front-loaded verb, zero waste. Efficient and to the point.
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?
Simple tool with zero params and an output schema. Description is mostly complete for a check action, though could clarify what aspects of configuration are verified.
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?
No parameters (empty schema, 100% coverage). Description appropriately focuses on tool action without needing parameter details.
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?
Description states specific verb 'check' and resource 'pipeline configuration and accessibility'. Clearly distinguishes from sibling start/status tools.
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?
Implied usage as a pre-run validation but no explicit guidance on when to use versus alternatives or when to skip.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prune_failed_subjectsA
Remove cortical_tiles outputs for all subjects that failed QC.
Reads a QC TSV/CSV file with 'participant_id' and 'qc' columns and deletes all files belonging to subjects with qc==0 or absent from the QC file. Equivalent to having run cortical_tiles with --sk_qc_path from the start.
Use dry_run=True to preview what would be deleted without modifying anything.
| Name | Required | Description | Default |
|---|---|---|---|
| qc | Yes | ||
| output | Yes | ||
| dry_run | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool deletes files (destructive), reads a QC file, and supports dry-run preview. It also specifies the scope (only cortical_tiles outputs) and the deletion condition. It could be more explicit about side effects or reversibility, but the information is sufficient for safe invocation.
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 description is three concise sentences: purpose, detailed behavior, and usage tip. It front-loads the verb-resource pair and avoids fluff. Every sentence adds essential information without redundancy.
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?
Given the existence of an output schema, the description does not need to explain return values. It covers the input format, behavior, and a safety preview. Missing context includes dependencies (e.g., QC file must exist) and scope confirmation (ensures it only deletes cortical_tiles outputs), but overall it adequately prepares an agent for correct invocation.
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?
The schema coverage is 0%, so the description must compensate. It explains the 'qc' parameter (TSV/CSV with specific columns) and 'dry_run' (preview mode), but 'output' is not explicitly defined—only implied as the cortical_tiles output directory. This adds some value but leaves a gap for one required parameter.
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 clearly states the verb (remove), resource (cortical_tiles outputs), and condition (subjects that failed QC). It explains how failure is determined (qc==0 or absent from QC file), making the tool's purpose precise and distinct from siblings like purge_subject.
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 description provides context for when to use this tool: after cortical_tiles if the QC flag was not used initially, and it offers a preview option (dry_run=True). It does not explicitly list alternatives or when not to use it, but the equivalence to a flag and the sample use case are clear enough for an agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purge_subjectA
Remove all cortical_tiles derivatives for a single subject.
Deletes per-subject NIfTI files (crops, labels, extremities, distbottom), per-subject subdirectories (skeletons/, foldlabels/, transforms/, distmaps/), and filters the subject's row from aggregated .npy arrays and their subject CSVs.
Use dry_run=True to preview what would be deleted without modifying anything.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | ||
| subject | Yes | ||
| derivatives | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description fully discloses the destructive behavior by listing specific files and directories deleted, and mentions the dry_run preview.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-loading the core purpose, followed by details and a usage tip, with no fluff.
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?
Covers behavior and parameters adequately; an output schema exists so return values are not needed, but lacks prerequisites or error conditions.
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 coverage, the description explains the dry_run and subject parameters implicitly through context, but the 'derivatives' parameter is not explicitly described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Remove' and the specific resource 'all cortical_tiles derivatives for a single subject', distinguishing it from sibling tools like prune_failed_subjects.
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?
Provides a dry_run option to preview deletions, guiding safe usage, but does not explicitly compare to alternatives or give when-not-to-use scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_combineB
Launch Stage 5: collect all per-region embedding CSVs into a single output directory.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | ||
| path_models | No | ||
| embeddings_subpath | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden. It does not disclose side effects (e.g., overwriting existing output), required permissions, or whether previous stages must be completed. The description only states the basic operation.
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 description is a single clear sentence with no unnecessary words. It is front-loaded with the stage identifier and action.
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?
While an output schema exists (reducing need to describe return values), the description lacks context about the pipeline stage, prerequisites, input format constraints, and any behavioral side effects. For a tool with 3 parameters and no annotations, more detail is needed.
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%. The description partially explains 'embeddings_subpath' and 'output_path' by linking them to per-region CSVs and the output directory, but does not explain 'path_models' (optional, default null) or expected formats for the required parameters.
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 clearly states the verb 'Launch Stage 5' and specifies the action: collecting per-region embedding CSVs into a single output directory. It distinguishes from sibling tools like start_embeddings by naming the stage and resource.
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?
No guidance on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., previous stages must be complete) or scenarios where this tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_configC
Launch Stage 3: generate Champollion dataset YAML configuration files.
| Name | Required | Description | Default |
|---|---|---|---|
| output | No | ||
| dataset | Yes | ||
| crop_path | Yes | ||
| external_crops | No | ||
| champollion_loc | No | ||
| external_config | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose all behavioral traits, but it lacks any mention of side effects, idempotency, error handling, destuctiveness, or authorization needs. The agent has no clue what happens when the tool runs.
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 description is a single concise sentence, which is efficient, but it sacrifices essential details. A few more sentences would improve clarity without harming conciseness.
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 tool with 6 parameters and an output schema, this single sentence is insufficient. The description does not explain the return value or how the configuration generation works, despite the complexity indicated by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0% description coverage for its 6 parameters. The description does not explain any parameters or their roles, leaving the agent to guess from parameter names alone.
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 specifies 'generate Champollion dataset YAML configuration files' and mentions 'Stage 3', which gives a clear verb and resource. However, 'Launch Stage 3' is ambiguous—it could mean initiating a pipeline step or just generating files for that stage, and it does not explicitly distinguish from other 'start_*' sibling tools.
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?
No guidance on when to use this tool versus alternatives like other 'start_*' tools. There is no mention of prerequisites, order of operations, or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_cortical_tilesC
Launch Stage 2: extract 28 sulcal region crops with cortical_tiles.
| Name | Required | Description | Default |
|---|---|---|---|
| masks | No | ||
| njobs | No | ||
| regions | No | ||
| input_dir | Yes | ||
| output_dir | Yes | ||
| sk_qc_path | No | ||
| path_to_graph | Yes | ||
| path_sk_with_hull | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey all behavioral traits. It only states that the tool launches a stage, but does not disclose side effects (e.g., file creation), blocking behavior, or error handling. This is insufficient for safe invocation.
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 description is a single sentence with no waste, achieving high conciseness. However, it sacrifices necessary detail for brevity.
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?
Given 8 parameters, 4 required, and no output schema visible, the description is insufficiently complete. It fails to indicate return value (e.g., job ID), required inputs, or how the tool fits into the pipeline, despite the pipeline context implied by sibling tools.
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%, and the description does not explain any parameter meaning beyond the schema property names. With 8 parameters (4 required), the agent has no insight into what 'input_dir', 'path_to_graph', etc., represent or how to set them.
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 clearly states the action ('Launch Stage 2: extract') and the resource ('28 sulcal region crops with cortical_tiles'), making the purpose unambiguous and distinct from sibling tools that handle different stages.
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?
No guidance is provided on when to use this tool vs. alternatives. Sibling tools include many 'start_*' tools for different pipeline stages, but the description offers no context for when this specific stage should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_embeddingsC
Launch Stage 4: compute sulcal embeddings across all 56 model folds (28 regions × 2 hemispheres).
| Name | Required | Description | Default |
|---|---|---|---|
| cpu | No | ||
| labels | No | ||
| nb_jobs | No | ||
| datasets | No | ||
| overwrite | No | ||
| short_name | Yes | ||
| config_path | No | ||
| models_path | Yes | ||
| datasets_root | Yes | ||
| embeddings_only | No | ||
| dataset_localization | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the action (compute embeddings) but omits key traits such as side effects, required permissions, idempotency, runtime expectations, or whether data is read-only or modified. This is insufficient for a computational tool.
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 description is a single, front-loaded sentence with no wasted words. It is concise but lacks any structural elements (e.g., parameter highlights, usage notes). Given the complexity, some expansion would be beneficial without sacrificing conciseness.
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 tool with 11 parameters, no schema documentation, no annotations, and no parameter explanations in the description, the description is severely incomplete. It does not explain return values (even though output schema exists), parameter roles, or how this step fits into the larger pipeline. The agent would need significant external knowledge to use this tool 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 0% (none of the 11 parameters are documented beyond names/types). The description provides zero parameter-level meaning, leaving the agent to guess the role of required fields like models_path, dataset_localization, datasets_root, and short_name, as well as optional ones.
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 uses a specific verb 'Launch' and clearly identifies the resource 'Stage 4: compute sulcal embeddings across all 56 model folds (28 regions × 2 hemispheres)'. It distinguishes this tool from siblings (other start_* stages and pipeline tools) by naming the exact computation and scope.
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?
No guidance on when to use this tool versus alternatives like start_pipeline or other stages. The description does not indicate prerequisites, ordering, or when not to use it. With siblings covering different pipeline steps, the agent needs more context to decide correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_morphologistC
Launch Stage 1: generate sulcal graphs with Morphologist from raw T1 MRI data.
| Name | Required | Description | Default |
|---|---|---|---|
| parallel | No | ||
| input_dir | Yes | ||
| output_dir | Yes | ||
| enable_sulcal_recognition | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool generates sulcal graphs but does not explain side effects, auth needs, or whether it modifies input data. Lack of detail on execution behavior limits transparency.
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 description is a single, concise sentence (13 words) with no filler. However, it is overly minimal and could be expanded without losing conciseness to include more useful context.
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?
Given four parameters, the absence of annotations or output schema details in the description, and no examples, the description is incomplete. It does not explain what the tool returns or how to configure it beyond the basic function.
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 compensate. It only implies that 'input_dir' contains raw T1 MRI data, but does not explain other parameters ('output_dir', 'parallel', 'enable_sulcal_recognition') or their purposes. This is insufficient for correct invocation.
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 clearly states the action 'Launch Stage 1: generate sulcal graphs with Morphologist from raw T1 MRI data.' It uses a specific verb ('Launch') and identifies the resource and output, distinguishing it from sibling tools like 'start_cortical_tiles' which target different stages or outputs.
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?
No guidance on when to use this tool versus alternatives (e.g., start_pipeline, start_cortical_tiles). The description does not mention prerequisites, exclusions, or context for selection, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_pipelineB
Launch the full Champollion pipeline (all 6 stages sequentially). Returns a pipeline job_id immediately.
| Name | Required | Description | Default |
|---|---|---|---|
| cpu | No | ||
| njobs | No | ||
| dataset | Yes | ||
| nb_jobs | No | ||
| parallel | No | ||
| crop_path | Yes | ||
| input_dir | Yes | ||
| output_dir | Yes | ||
| short_name | Yes | ||
| sk_qc_path | No | ||
| models_path | Yes | ||
| skip_stages | No | ||
| datasets_root | Yes | ||
| path_to_graph | Yes | ||
| embeddings_only | No | ||
| path_sk_with_hull | Yes | ||
| embeddings_subpath | Yes | ||
| dataset_localization | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It mentions that the pipeline runs sequentially and returns a job_id immediately, indicating async behavior. However, no annotations are provided, so the description carries the full burden but lacks details on resource usage, prerequisites, or effects.
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 description is concise (one sentence) but too brief for the tool's complexity. It could list key parameters or stages.
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?
Given the high parameter count, many required, and numerous sibling tools, the description is incomplete. It lacks explanation of pipeline stages, parameter dependencies, and output schema details.
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 18 parameters, 11 required, and 0% schema description coverage, the description provides no explanation of any parameter. This is a major gap for correct invocation.
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 clearly states it launches the full Champollion pipeline (all 6 stages sequentially) and returns a job ID. This distinguishes it from sibling tools that launch individual stages.
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 description implies usage for running the full pipeline, but does not explicitly state when to use vs alternatives like start_cortical_tiles or start_training. No guidance on when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_snapshotsC
Launch Stage 6: render sulcal graph meshes, cortical tile masks, and UMAP scatter plots.
| Name | Required | Description | Default |
|---|---|---|---|
| subject | No | ||
| umap_only | No | ||
| output_dir | Yes | ||
| tiles_only | No | ||
| acquisition | No | ||
| sulcal_only | No | ||
| umap_region | No | ||
| embeddings_dir | No | ||
| morphologist_dir | No | ||
| cortical_tiles_dir | No | ||
| champollion_data_root | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states what the tool renders. It does not disclose side effects, permissions, or whether it is destructive. The agent has no behavioral context beyond the basic rendering action.
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 description is a single sentence, which is concise but fails to convey necessary information for a tool with 11 parameters. It is too short relative to the complexity.
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?
Given the high parameter count and absence of schema descriptions or annotations, the description is extremely incomplete. It does not explain how parameters interact, the expected output, or prerequisites. The existence of an output schema is not referenced.
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% (no parameter descriptions in schema), and the tool description does not mention any parameters. With 11 parameters including 'umap_only', 'tiles_only', 'sulcal_only', etc., the agent receives no help understanding their meaning or usage.
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 clearly states the action ('Launch Stage 6') and the specific outputs ('render sulcal graph meshes, cortical tile masks, and UMAP scatter plots'). It provides a specific verb and resource. However, it does not distinguish from sibling tools like start_cortical_tiles, which might overlap.
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?
No guidance is given on when to use this tool versus alternatives. The mention of 'Stage 6' implies a pipeline sequence, but no explicit context or prerequisites are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_streamingA
Launch scan-centric streaming pipeline: one worker per scan runs stages 2-4 in parallel.
Each worker owns one ScanId and processes cortical_tiles → config → embeddings sequentially for its scan, using file-presence barriers between stages. Stage 5 (combine) runs once after all workers drain.
Requires embeddings_only mode (training aggregates all subjects and cannot be parallelised per-scan).
| Name | Required | Description | Default |
|---|---|---|---|
| bids | No | ||
| dataset | Yes | ||
| dry_run | No | ||
| input_dir | Yes | ||
| n_workers | No | ||
| output_dir | Yes | ||
| short_name | No | eval | |
| sk_qc_path | No | ||
| models_path | No | ||
| datasets_root | No | ||
| path_to_graph | Yes | ||
| poll_interval | No | ||
| worker_timeout | No | ||
| embeddings_path | No | champollion_V1 | |
| path_sk_with_hull | Yes | ||
| dataset_localization | No | local |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes worker-per-scan processing, sequential stages, file-presence barriers, and post-processing combine stage. No annotations provided, so description fully covers behavioral traits.
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?
Highly concise with zero wasted sentences. Important information is front-loaded, and the structure efficiently conveys complex workflow.
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?
Despite good behavioral coverage, the tool has 16 parameters with no documentation and an output schema not described. For a complex pipeline tool, this is insufficient to guide invocation.
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 and 16 parameters, the description fails entirely to explain what each parameter does or how they relate to the pipeline behavior. Only mode constraint is mentioned implicitly.
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 clearly states it launches a scan-centric streaming pipeline with specific stages, distinguishing it from sibling tools that handle individual stages or other pipelines.
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 specifies when to use (embeddings_only mode) and when not (training mode cannot be parallelised), providing clear context over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_trainingB
Launch encoder training: train a champollion_V1 self-supervised encoder for one sulcal region.
Dataset configs must exist before calling this tool — run start_config first (or supply config_dir if configs live outside the champollion_V1 submodule).
| Name | Required | Description | Default |
|---|---|---|---|
| cpu | No | ||
| swf | No | ||
| mode | No | encoder | |
| njobs | No | ||
| region | Yes | ||
| dataset | Yes | ||
| overwrite | No | ||
| config_dir | No | ||
| output_dir | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions config existence requirement, but does not disclose side effects (e.g., file modifications, resource usage, idempotency, failure behavior). A mutation tool like this should state whether it overrides existing outputs or requires network access.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Purpose front-loaded. Could benefit from list format for prerequisites, but overall concise.
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 9 parameters, 0% schema coverage, no annotations, and minimal description, the tool is underdocumented. The output schema exists but description doesn't reference it. Missing details like what 'mode: encoder' implies or what 'overwrite' does. Insufficient for an agent to reliably invoke.
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 description must explain parameters. It only mentions dataset, region, and config_dir. The other 6 parameters (cpu, swf, mode, njobs, overwrite, output_dir) are completely undocumented, leaving the agent guessing.
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?
Description clearly states it launches encoder training for a specific region and model (champollion_V1). The verb 'Launch' plus resource 'encoder training' is specific and distinguishes from siblings like start_cortical_tiles or start_embeddings.
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 provides prerequisite: dataset configs must exist, and mentions run start_config first or supply config_dir. This gives clear guidance on when to use this tool. No explicit when-not-to-use, but helpful context.
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.
17 tool updates
v0.1.0- First observed
cancel_job - First observed
get_job_log - First observed
get_job_status - First observed
get_pipeline_info - First observed
list_jobs - First observed
preflight_check - First observed
prune_failed_subjects - First observed
purge_subject - First observed
start_combine - First observed
start_config - First observed
start_cortical_tiles - First observed
start_embeddings - First observed
start_morphologist - First observed
start_pipeline - First observed
start_snapshots - First observed
start_streaming - First observed
start_training
TDQS
Scored across 17 tools
Each tool targets a distinct operation: launching pipeline stages (start_*), subject management (purge_subject, prune_failed_subjects), job control (get_job_status, list_jobs, cancel_job, get_job_log), and pipeline info (get_pipeline_info, preflight_check). Minimal overlap; even similar tasks like subject removal are differentiated by scope.
Most tools follow a consistent pattern: launch verbs (start_*) for pipeline stages, get_* for retrieval, and descriptive verbs for actions. Deviations include 'purge_subject' vs. 'prune_failed_subjects' (different delete verbs) and 'preflight_check' (no prefix), but overall naming is clear and predictable.
17 tools is appropriate for a multi-stage neuroimaging pipeline with job management and utility functions. Each tool earns its place, covering all stages and supporting operations without being excessive or sparse.
The tool set covers the full pipeline lifecycle: stage launches, job monitoring, subject cleanup, and configuration checks. All essential operations are present with no obvious gaps for the stated purpose.
Maintenance
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
- WauldoOAuthcom.wauldo
Stateless agentic tools over MCP: concept extraction, long-context, knowledge graph, planning.
Remote MCP for RunComfy: ComfyUI deployments, hosted models, LoRA training. 31 tools.
Multiple MCP tools, persistent graph memory, token-saving data pointers, and more.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceExposes a set of CLI tools (test generation, documentation generation, linting, test running, code search) to AI assistants via MCP, allowing them to perform these tasks through natural language.3-
- AlicenseAqualityBmaintenanceMCP tools for video transcoding, document conversion, and multi-step pipelines — callable by any AI agent.124291MIT
- AlicenseNot gradedqualityBmaintenanceExposes RAG and document intelligence pipelines as 8 composable tools for MCP-compatible clients, enabling querying, indexing, classifying, extracting, and assessing documents.1MIT
- AlicenseAqualityBmaintenanceExposes 12 robotics/simulation tools from robosimtools.com as MCP tools, enabling AI agents to perform conversions (quaternion, URDF, MJCF), validation, and CAD imports locally.121MIT