Systemonomic
Systemonomic MCP Servers
MCP (Model Context Protocol) servers that expose Systemonomic's Work Domain Analysis, ATSS assessment, and organizational design capabilities to AI agents (Claude Desktop, Cursor, Claude Code, etc.).
Quick Start
1. Install
pip install systemonomic-mcp2. Get an API Key
Log in to Systemonomic
Go to Profile → API Keys
Click Generate API Key
Copy the key (starts with
sk_sys_) — it's shown only once
3. Configure
Set the environment variable:
export SYSTEMONOMIC_API_KEY="sk_sys_your_key_here"Optionally, point to a different API endpoint (defaults to production):
export SYSTEMONOMIC_API_URL="https://your-dev-backend.up.railway.app"4. Add to Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"systemonomic-wda": {
"command": "python",
"args": ["-m", "systemonomic_mcp.wda_server"],
"env": {
"SYSTEMONOMIC_API_KEY": "sk_sys_your_key_here"
}
},
"systemonomic-atss": {
"command": "python",
"args": ["-m", "systemonomic_mcp.atss_server"],
"env": {
"SYSTEMONOMIC_API_KEY": "sk_sys_your_key_here"
}
},
"systemonomic-org": {
"command": "python",
"args": ["-m", "systemonomic_mcp.org_server"],
"env": {
"SYSTEMONOMIC_API_KEY": "sk_sys_your_key_here"
}
}
}
}5. Add to Cursor
In Cursor Settings → MCP Servers, add each server:
Name:
systemonomic-wdaCommand:
python -m systemonomic_mcp.wda_serverEnvironment:
SYSTEMONOMIC_API_KEY=sk_sys_...
Repeat for atss_server and org_server.
Related MCP server: rootcause-mcp
Available Servers
systemonomic-wda — Work Domain Analysis
Tool | Description |
| List all projects |
| Get complete project state |
| Create a new project |
| Get project statistics |
| List WDA nodes |
| Create a node at a WDA level |
| Update a node's label/level/description |
| Delete a node |
| List means-ends links |
| Link two nodes |
| Remove a link |
| AI-generate a full WDA from a text description |
| Export project as JSON |
| Import nodes and links |
systemonomic-atss — Assessment & Tasks
Tool | Description |
| List project tasks |
| Create a task |
| Auto-generate tasks from WDA Objects |
| AI-derived task suggestions |
| List pending suggestions |
| Promote suggestions to tasks |
| Run ATSS assessment on all tasks |
| Get stored assessment results |
| Save assessment results |
| List assessment run history |
systemonomic-org — Organizational Design
Tool | Description |
| Get current roles, org units, allocations |
| Save org design |
| AI-generated restructure proposal |
| Apply a restructure proposal |
| Validate RACI matrix |
| Create version snapshot |
| List snapshots |
| Export as JSON |
| Generate comprehensive PDF report |
| Check report readiness |
Example Conversations
"Help me model our procurement process"
You: Generate a WDA for our university procurement department. They handle purchase requests, vendor management, contract negotiation, and compliance with government regulations.
Claude: Uses
create_project→generate_wda→ returns the generated hierarchy
"Assess which tasks can be automated"
You: For the procurement project, derive tasks from the WDA and run an automation assessment.
Claude: Uses
generate_tasks_from_wda→run_atss_batch→ summarizes automation candidates
"Generate the full report"
You: Create a PDF report for the procurement project.
Claude: Uses
generate_pdf_report→ saves the PDF
Development
# Run a server locally for testing
cd mcp
pip install -e .
SYSTEMONOMIC_API_KEY=sk_sys_... python -m systemonomic_mcp.wda_server
# Use the MCP inspector
SYSTEMONOMIC_API_KEY=sk_sys_... mcp dev src/systemonomic_mcp/wda_server.pyAvailable Tools
10 toolsaccept_suggestionsC
Accept task suggestions, promoting them to actual project tasks.
Args: project_id: The project containing the suggestions suggestion_ids: List of suggestion IDs to accept
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| suggestion_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It implies a mutation ('accept', 'promoting'), but doesn't specify permissions, side effects, or response behavior. This is inadequate for a tool that likely changes system state, warranting a low score.
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 front-loaded with the core purpose, followed by parameter explanations in a structured format. It's efficient with minimal waste, though the parameter section could be slightly more integrated for optimal flow.
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 mutation nature, no annotations, and an output schema (which reduces need to describe returns), the description is minimally viable. It covers purpose and parameters but lacks behavioral and usage context, making it incomplete for safe and effective use.
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 lists and briefly explains the two parameters ('project_id' and 'suggestion_ids'), adding basic meaning beyond the schema. However, it lacks details on format, constraints, or examples, resulting in a baseline adequate score.
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 ('accept task suggestions') and outcome ('promoting them to actual project tasks'), which is specific and meaningful. However, it doesn't explicitly differentiate from sibling tools like 'create_task' or 'derive_task_suggestions', which would require a 5.
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 no guidance on when to use this tool versus alternatives like 'create_task' or 'derive_task_suggestions'. It mentions the parameters but doesn't explain prerequisites, timing, or exclusions, leaving the agent with minimal context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_taskB
Create a new task in a project.
Args: project_id: The project to add the task to name: Task name description: Optional task description mode: One of: manual, semi-auto, auto (default: manual)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| name | Yes | ||
| description | No | ||
| mode | No | manual |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 of behavioral disclosure. It states the tool creates a task but lacks details on permissions required, whether the operation is idempotent, error handling, or what the output contains (though an output schema exists). This leaves significant gaps for a mutation tool with no annotation coverage.
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 front-loaded with the core purpose in the first sentence, followed by a structured 'Args' section that efficiently details parameters. There is minimal waste, though the formatting could be slightly more polished (e.g., integrating the args list more seamlessly).
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, the description does not need to explain return values. However, as a mutation tool with no annotations and multiple siblings, it lacks context on usage scenarios, behavioral traits, and differentiation from alternatives. The parameter semantics are well-covered, but overall completeness is moderate due to these gaps.
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 adds meaningful context for all parameters: 'project_id' specifies the target project, 'name' and 'description' clarify their roles, and 'mode' explains its options and default value. This goes beyond the schema's basic titles and types, providing essential usage semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new task') and the target resource ('in a project'), which is specific and unambiguous. However, it does not explicitly differentiate this tool from its siblings (e.g., 'generate_tasks_from_wda' or 'derive_task_suggestions'), which would require mentioning what makes 'create_task' distinct, such as manual creation versus automated generation.
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 no guidance on when to use this tool versus alternatives. With siblings like 'generate_tasks_from_wda' and 'derive_task_suggestions', there is no indication of scenarios where manual task creation is preferred over automated methods, nor any prerequisites or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
derive_task_suggestionsA
Use AI to derive detailed task suggestions from WDA objects.
More sophisticated than generate_tasks_from_wda — uses an LLM to analyze each WDA object and suggest tasks with descriptions.
Args: project_id: The project to analyze provider: LLM provider — gemini, claude, or openai (default: gemini)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| provider | No | gemini |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 mentions using an LLM and being 'more sophisticated' but lacks critical details: whether this is a read-only analysis or creates data, what permissions are needed, potential costs/rate limits of LLM calls, or what 'WDA objects' are. The description doesn't adequately cover behavioral traits for an AI-powered 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 efficiently structured with a clear purpose statement first, followed by comparison to sibling tool, then parameter explanations. Every sentence adds value with no wasted words. The two-sentence format with bullet-point parameter explanations is appropriately 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?
Given the tool has an output schema (which handles return values), 2 parameters with 0% schema coverage, no annotations, and moderate complexity (AI-powered analysis), the description is partially complete. It covers the basic purpose and parameters but lacks important context about what WDA objects are, how the LLM analysis works, and behavioral aspects. The output schema existence helps, but more operational context 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%, so the description must compensate. It provides basic semantics for both parameters: 'project_id' identifies the project to analyze, and 'provider' specifies the LLM provider with default and options. However, it doesn't explain what format project_id should be, what WDA objects are, or provide examples. The description adds some value but doesn't fully compensate for the schema coverage gap.
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 tool's purpose: using AI to derive detailed task suggestions from WDA objects. It specifies the verb 'derive' and resource 'task suggestions', and distinguishes from sibling 'generate_tasks_from_wda' by noting it's 'more sophisticated' and uses an LLM. However, it doesn't fully explain what makes it more sophisticated beyond LLM usage.
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 clear context by explicitly comparing to sibling 'generate_tasks_from_wda' and stating this is more sophisticated. It implies when to use this vs. the simpler alternative. However, it doesn't mention other potential alternatives like 'run_atss_batch' or provide explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_tasks_from_wdaB
Auto-generate tasks from the WDA Objects level.
Analyzes the Objects (lowest level) of the WDA and creates corresponding control tasks. This is the standard first step before running ATSS.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 mentions the tool 'analyzes' and 'creates,' implying a mutation operation, but doesn't disclose behavioral traits such as permissions needed, whether it's idempotent, rate limits, or what happens if tasks already exist. The description adds minimal context beyond the basic 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 appropriately sized with three sentences that are front-loaded: the first states the purpose, the second elaborates, and the third provides usage context. There's no wasted text, though it could be slightly more structured for clarity.
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 complexity (a mutation tool with no annotations) and the presence of an output schema, the description is somewhat complete but has gaps. It explains the purpose and basic workflow but lacks details on parameters, behavioral traits, and how it interacts with siblings. The output schema may cover return values, but the description doesn't fully address the tool's 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?
The input schema has 1 parameter with 0% description coverage, and the tool description provides no information about the 'project_id' parameter. It doesn't explain what a project ID is, how to obtain it, or its role in the process. The description fails to compensate for the low schema coverage.
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 tool's purpose: 'Auto-generate tasks from the WDA Objects level' and 'creates corresponding control tasks.' It specifies the verb ('generate'/'creates') and resource ('tasks'), though it doesn't explicitly differentiate from siblings like 'create_task' or 'derive_task_suggestions.'
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 some context: 'This is the standard first step before running ATSS,' which implies when to use it relative to ATSS. However, it doesn't explicitly state when to use this tool versus alternatives like 'derive_task_suggestions' or 'create_task,' nor does it mention prerequisites or exclusions beyond the ATSS workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_atss_resultsB
Get stored ATSS results for a project.
Returns previously persisted assessment results, including scores, classifications, and reasoning for each task.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 of behavioral disclosure. It states the tool returns 'previously persisted assessment results,' implying it's a read-only operation that retrieves existing data, which is helpful. However, it lacks details on permissions, rate limits, error handling, or whether it returns all results or paginated data. For a tool with no annotations, this is a significant gap in 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 highly concise and well-structured: two sentences that front-load the core purpose ('Get stored ATSS results for a project') and follow with details on return values. Every sentence earns its place by adding value—no wasted words or 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 tool's complexity (retrieving persisted results), no annotations, and an output schema (which handles return value documentation), the description is reasonably complete. It covers the purpose and return content but lacks usage guidelines and behavioral details like error cases. With an output schema, it doesn't need to explain return values, but the gaps in other areas prevent a perfect score.
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 input schema has 1 parameter ('project_id') with 0% description coverage, meaning the schema provides no semantic context. The description compensates by implying that 'project_id' identifies the project for which to retrieve ATSS results. It doesn't specify format or constraints, but given the low schema coverage and single parameter, this adds meaningful value beyond the schema, warranting a score above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get stored ATSS results for a project.' It specifies the verb ('Get') and resource ('stored ATSS results'), and distinguishes it from siblings like 'persist_atss_results' (which stores results) and 'list_atss_runs' (which lists runs). However, it doesn't explicitly differentiate from 'list_tasks' or 'derive_task_suggestions,' which might also involve task-related data, making it slightly less specific than a perfect 5.
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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., that results must be persisted first), exclusions, or comparisons to siblings like 'list_atss_runs' (which might list runs without detailed results) or 'list_tasks' (which might list tasks without ATSS assessments). This leaves the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_atss_runsB
List all ATSS assessment runs for a project, with timestamps and summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation (implying read-only) and mentions output includes 'timestamps and summaries', but doesn't cover critical aspects like pagination, sorting, error conditions, authentication needs, rate limits, or whether it returns all runs or only recent ones. For a list tool with zero annotation coverage, this leaves significant gaps.
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, efficient sentence that front-loads the core purpose ('List all ATSS assessment runs for a project') and adds useful output details ('with timestamps and summaries'). There is no wasted verbiage or 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 tool has an output schema (which should document return values), the description doesn't need to detail outputs. However, with no annotations and low parameter schema coverage, the description should do more to explain behavior and usage. It adequately covers the basic purpose but lacks guidance and behavioral context, making it minimally complete for a simple list tool.
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 description mentions 'for a project', which aligns with the single parameter 'project_id' in the schema. However, schema description coverage is 0%, so the schema provides no parameter details. The description adds minimal semantic context (it's project-scoped) but doesn't explain what a project ID is, its format, or where to find it. This partially compensates but not fully for the coverage gap.
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 ('List all ATSS assessment runs') and resource ('for a project'), with additional context about what information is returned ('with timestamps and summaries'). It distinguishes from some siblings like 'get_atss_results' (which likely retrieves detailed results) and 'run_atss_batch' (which executes runs), but doesn't explicitly differentiate from all siblings like 'list_tasks' or 'list_suggestions'.
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 no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when-not scenarios, or compare with sibling tools like 'get_atss_results' (for detailed results) or 'persist_atss_results' (for saving results). The agent must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_suggestionsB
List all pending task suggestions for a project.
Suggestions are AI-generated task proposals that haven't been accepted yet.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 of behavioral disclosure. It states this is a listing operation for 'pending' suggestions, implying it's read-only and non-destructive, but doesn't address permissions, rate limits, pagination, or what 'pending' means operationally. For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.
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 appropriately sized and front-loaded. The first sentence directly states the tool's purpose, and the second sentence adds necessary clarification without redundancy. Every sentence earns its place, making it efficient and well-structured.
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 low complexity (one parameter, no nested objects) and the presence of an output schema (which handles return values), the description is mostly complete. It covers the core purpose and clarifies what 'suggestions' are, but lacks usage guidelines and behavioral details that would be helpful despite the output 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?
The description adds minimal semantic context beyond the input schema. It mentions 'for a project,' which aligns with the 'project_id' parameter, but with 0% schema description coverage and only one parameter, the baseline is 4. However, it doesn't explain what a 'project_id' is, its format, or where to find it, so it doesn't fully compensate for the schema gap, warranting a score of 3.
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 tool's purpose: 'List all pending task suggestions for a project' with the clarifying sentence 'Suggestions are AI-generated task proposals that haven't been accepted yet.' This provides a specific verb ('List'), resource ('pending task suggestions'), and scope ('for a project'), though it doesn't explicitly differentiate from sibling tools like 'list_tasks' or 'list_atss_runs'.
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 no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_tasks' (for accepted tasks) or 'derive_task_suggestions' (for generating new suggestions), nor does it specify prerequisites or exclusions. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasksC
List all tasks in a project.
Each task has an id, name, description, mode (manual/semi-auto/auto), and links to WDA nodes.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool returns (tasks with specific fields) but fails to mention critical behaviors like whether this is a read-only operation, if it requires authentication, potential rate limits, or pagination handling. The output schema exists, but the description does not add meaningful behavioral context beyond the basic return structure.
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 brief and front-loaded with the main purpose in the first sentence, followed by details about task fields. There is no wasted text, but the structure could be slightly improved by integrating parameter hints or usage context more seamlessly.
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 simplicity (one parameter, no annotations, but with an output schema), the description is minimally adequate. It explains what the tool does and the structure of returned tasks, but it lacks important contextual details like authentication needs, error handling, or how it differs from sibling tools. The output schema reduces the need to explain return values, but gaps remain in behavioral and usage guidance.
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 description coverage is 0%, so the description must compensate, but it does not mention the 'project_id' parameter at all. However, since there is only one parameter and the tool name implies listing tasks within a project, the purpose is somewhat clear. The baseline is adjusted to 3 due to the single parameter, but the description adds no specific semantic details about the 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 ('List') and resource ('all tasks in a project'), making the purpose specific and understandable. However, it does not explicitly differentiate this tool from sibling tools like 'list_suggestions' or 'list_atss_runs', which prevents a score of 5.
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 no guidance on when to use this tool versus alternatives like 'list_suggestions' or 'create_task'. It lacks context about prerequisites, such as needing a valid project_id, and does not mention any exclusions or specific scenarios for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
persist_atss_resultsC
Persist ATSS assessment results to the project.
Args: project_id: The project to save results to rows: List of ATSS result objects (from run_atss_batch output)
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| rows | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool persists data, implying a write operation, but fails to disclose critical behavioral traits such as required permissions, whether it overwrites existing results, error handling, or side effects. This is inadequate for a mutation tool with zero annotation coverage.
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 front-loaded with the core purpose in the first sentence, followed by a concise Args section. There's no wasted text, but the structure could be slightly improved by integrating the parameter notes more seamlessly or adding a brief usage example.
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 (which reduces need to explain return values) but no annotations and low schema coverage, the description is moderately complete. It covers the basic purpose and parameter hints, but lacks behavioral details and comprehensive usage context, making it insufficient for full agent understanding without external knowledge.
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 adds meaning by specifying that 'rows' are 'List of ATSS result objects (from run_atss_batch output)', which clarifies the source and structure beyond the bare schema. However, it doesn't detail the format of 'project_id' or the exact object schema for 'rows', leaving gaps.
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 ('Persist') and resource ('ATSS assessment results to the project'), distinguishing it from siblings like 'run_atss_batch' (which generates results) and 'get_atss_results' (which retrieves them). However, it doesn't explicitly contrast with all siblings, such as 'create_task' or 'derive_task_suggestions', which may involve related data operations.
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 minimal guidance by mentioning that 'rows' should come from 'run_atss_batch output', but it lacks explicit when-to-use instructions, prerequisites (e.g., after running ATSS), or alternatives (e.g., vs. other persistence tools). No exclusions or comparisons to siblings like 'accept_suggestions' are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_atss_batchA
Run ATSS (Automated Task Suitability Scoring) on all tasks in a project.
Each task is assessed across multiple gates (data availability, rule-base, exception handling, etc.) and scored 0-100 for automation suitability.
Args: project_id: The project whose tasks to assess provider: LLM provider — gemini, claude, or openai (default: gemini) model: Specific model name (optional, uses provider default)
Returns scored results for each task with classification (Automate / Augment / Manual) and reasoning.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | ||
| provider | No | gemini | |
| model | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the tool's behavior: it assesses tasks across gates, scores them 0-100, and returns classifications with reasoning. However, it lacks details on execution time, error handling, rate limits, or authentication needs, which are important for a batch processing 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 well-structured and front-loaded: first sentence states the purpose, second explains the assessment process, then Args and Returns sections clearly organize parameter and output details. Every sentence adds value with no 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 no annotations, 3 parameters with 0% schema coverage, and an output schema present, the description is mostly complete. It covers purpose, parameters, and return value overview, but could improve by mentioning execution characteristics (e.g., batch size, timeouts) or linking to sibling tools for better 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%, so the description must compensate. It adds meaningful semantics: 'project_id' identifies the project to assess, 'provider' specifies the LLM provider with options and default, and 'model' is optional with provider default. This clarifies beyond the bare schema, though it could detail model compatibility or provider-specific behaviors.
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 specific action ('Run ATSS'), the resource ('all tasks in a project'), and the outcome ('assessed across multiple gates...scored 0-100 for automation suitability'). It distinguishes from siblings like 'get_atss_results' or 'list_atss_runs' by specifying it performs the assessment rather than retrieving or listing results.
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 context by specifying it runs ATSS on all tasks in a project, but does not explicitly state when to use this versus alternatives like 'get_atss_results' for retrieving results or 'persist_atss_results' for saving them. It provides clear input requirements but lacks explicit when-not-to-use guidance.
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.
10 tool updates
v0.1.1- First observed
accept_suggestions - First observed
create_task - First observed
derive_task_suggestions - First observed
generate_tasks_from_wda - First observed
get_atss_results - First observed
list_atss_runs - First observed
list_suggestions - First observed
list_tasks - First observed
persist_atss_results - First observed
run_atss_batch
TDQS
Scored across 10 tools
Most tools have distinct purposes, but there is some potential confusion between 'derive_task_suggestions' and 'generate_tasks_from_wda' as both generate tasks from WDA objects, with the former being described as 'more sophisticated.' The other tools are clearly differentiated, covering suggestion management, task creation, ATSS assessment, and listing operations.
All tool names follow a consistent snake_case pattern with clear verb_noun structures (e.g., 'accept_suggestions', 'create_task', 'list_tasks'). This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.
With 10 tools, the server is well-scoped for managing tasks, suggestions, and ATSS assessments in a project automation system. Each tool serves a specific role in the workflow, from creation and listing to analysis and persistence, without feeling bloated or sparse.
The tool set covers core workflows for task and suggestion management, including creation, listing, and assessment, but lacks update and delete operations for tasks or suggestions. This minor gap might require workarounds, but the overall surface supports the domain of project automation and AI-driven task analysis effectively.
Maintenance
Related MCP Connectors
Task and planning workspace for humans collaborating with AI agents
Accountable AI workforce workflows with jobs, skills, rules, evidence, and mentoring.
Provides UX capabilities to enhance the design output and understanding of AI systems.
Multi-expert decision intelligence with transparent synthesis and auditable workflows.
Related MCP Servers
- AlicenseCqualityDmaintenance12 deterministic graph-theory tools for structural analysis. Describe systems in EN syntax (subject do: action needs: inputs yields: outputs) — get topology, bottlenecks, blast radius, critical paths and lot more. No AI inside the computation.121778MIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform structured root cause analysis from clinical incidents and construct learner-ready lesson plans for medical education.21Apache 2.0
- FlicenseAqualityDmaintenanceProvides systems thinking models as composable analysis lenses for architecture, infrastructure, DevOps, incident analysis, and technical decision-making.51-
- FlicenseNot gradedqualityCmaintenanceA person's falsifiable, consent-based model of how they work best with AI (CMP) — read it, refine it, add hunches, and find complementary collaborators. 7 tools.-