Skip to main content
Glama

MCP Agile Flow

Coverage

A comprehensive system for managing AI-assisted agile development workflows with a modern, resource-based API using FastMCP.

Status

Migration Complete: The migration from legacy server to FastMCP implementation is fully complete. All legacy code and tests have been removed.

Related MCP server: AI Pull Request Generator

Overview

The MCP Agile Flow project uses a resource-based approach with FastMCP from the official MCP SDK, focusing on:

  • RESTful API Design - Clean, intuitive resource URIs for data access

  • Resource-First Architecture - Optimized for data retrieval and state representation

  • Action-Oriented Tools - Tools used only for operations that modify state

Key Features

  • Agile Documentation: Generate and maintain comprehensive AI documentation

  • Project Structure: Organize your project with AI-generated files and directories

  • IDE Integration: Direct integration with various AI IDEs (Cursor, Windsurf, Cline)

  • Workflow Management: Track agile stories and progress

  • Intuitive API Structure: Resources organized in a RESTful hierarchy

  • Simplified Integration: Direct mapping to resource URIs

  • Improved Performance: Optimized for data access patterns

Getting Started

To use MCP Agile Flow:

  1. Install the package:

    pip install mcp-agile-flow
  2. Import in your code:

    from mcp_agile_flow import call_tool, call_tool_sync
    
    # Use async interface
    result = await call_tool("get-project-settings", {})
    
    # Or use sync interface
    result = call_tool_sync("get-project-settings", {})

MCP Client Configuration

Important: Configuration Update Required

If you had previously configured MCP Agile Flow, you need to update your configuration. The fastmcp_server.py module has been removed as part of code cleanup, and functionality has been consolidated into the main package.

Update your MCP client configuration from:

{
    "name": "mcp-agile-flow",
    "server": {
        "type": "module",
        "module": "mcp_agile_flow.fastmcp_server",
        "entry_point": "run"
    }
}

To:

{
    "name": "mcp-agile-flow",
    "server": {
        "type": "module",
        "module": "mcp_agile_flow",
        "entry_point": "main"
    }
}

For Cursor users, also update the mcp.json file (typically at ~/.cursor/mcp.json):

"mcp-agile-flow": {
  "command": "/path/to/python",
  "args": [
    "-m",
    "mcp_agile_flow"  // Updated from "mcp_agile_flow.fastmcp_server"
  ],
  "autoApprove": [
    // ...
  ]
}

Command Line Usage

You can also run the server directly from the command line:

# Using Python (logs disabled by default)
python -m mcp_agile_flow

# Enable normal logging
python -m mcp_agile_flow --verbose

# Debug mode (most verbose logging)
python -m mcp_agile_flow --debug

Available Tools

The MCP Agile Flow provides several tools:

  • get-project-settings: Get project settings including paths and environment variables

  • initialize-ide: Initialize project directory structure for specific IDEs

  • initialize-ide-rules: Initialize AI rule files for specific IDEs

  • prime-context: Analyze project documentation and build contextual understanding

  • migrate-mcp-config: Migrate MCP configuration between different IDEs

  • think: Record a thought for complex reasoning and step-by-step analysis

  • get-thoughts: Retrieve all thoughts recorded in the current session

  • clear-thoughts: Clear all recorded thoughts from the current session

  • get-thought-stats: Get statistics about the thoughts recorded in the current session

  • process-natural-language: Process natural language commands and route to appropriate tools

Natural Language Commands

MCP Agile Flow supports natural language commands, making it easier to interact with the tools without remembering exact command names. Simply use conversational phrases, and the system will automatically detect your intent and map them to the appropriate tools with the correct parameters.

Supported Command Types

Migration Commands

To migrate MCP configuration between different IDEs:

  • "migrate mcp config to claude-desktop"

  • "migrate config from cursor to claude-desktop"

  • "copy mcp settings to windsurf"

  • "transfer config to cline"

  • "move mcp settings from cursor to roo"

If the source IDE is not specified, it defaults to "cursor".

Note: Valid IDE names are: "cursor", "windsurf-next", "windsurf", "cline", "roo", and "claude-desktop".

Initialization Commands

To initialize a project with rules for a specific IDE:

  • "initialize ide for claude"

  • "setup rules for windsurf"

  • "create ide for cline"

  • "initialize rules for copilot"

Project Settings Commands

To get comprehensive project settings:

  • "get project settings"

  • "show settings"

  • "project settings"

Context Analysis Commands

To analyze project documentation:

  • "prime context"

  • "analyze project context"

  • "build context"

Thinking Commands

To record a thought:

  • "think about [your thought here]"

Usage Examples

Here are some examples of how to use these commands:

from mcp_agile_flow import process_natural_language

# Migrate configuration from Cursor to Claude
result = process_natural_language("migrate mcp config to claude-desktop")

# Initialize rules for Windsurf
result = process_natural_language("initialize ide for windsurf")

# Get project settings
result = process_natural_language("get project settings")

# Prime the context
result = process_natural_language("prime context")

# Record a thought
result = process_natural_language("think about how to improve code quality")

Using from Command Line

You can also use natural language commands with the MCP Agile Flow CLI:

python -m mcp_agile_flow process-natural-language "migrate mcp config to claude-desktop"

Error Handling

If the system cannot recognize a command, it will return an error message explaining that no command was detected and suggesting to use more specific wording.

Extending Commands

The natural language command detection is implemented in utils.py using regular expressions. To add support for new command patterns, add appropriate regex patterns to the detect_mcp_command function.

Development

To set up for development:

  1. Clone the repository:

    git clone https://github.com/yourusername/mcp-agile-flow.git
    cd mcp-agile-flow
  2. Create a virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. Install development dependencies:

    pip install -e ".[dev]"
  4. Run tests:

    pytest
  5. Common Makefile commands:

    make test             # Run all tests
    make test-nl-commands # Test natural language command functionality
    make test-core        # Run core tests only
    make coverage         # Generate coverage report
    make clean            # Clean build artifacts
    make clean-all        # Clean everything including venv
    make clean-archived   # Remove archived legacy files

License

This project is licensed under the MIT License - See LICENSE file for details.

Available Tools

13 tools
clear_thoughtsA

Clear recorded thoughts.

This tool removes previously recorded thoughts, optionally filtered by category. If no category is specified, all thoughts will be cleared.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter to clear thoughts from a specific category only

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It clearly discloses the destructive behavior ('removes', 'cleared') and the optional filtering capability. However, it lacks details about permissions needed, whether deletion is reversible, confirmation prompts, or rate limits. The behavioral disclosure is adequate but minimal.

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

Conciseness5/5

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

The description is perfectly concise: three sentences with zero waste. The first states the core action, the second explains the parameter's role, and the third clarifies the default case. Each sentence earns its place by adding critical information, and the structure is front-loaded with the main purpose.

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

Completeness3/5

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

Given no annotations and no output schema, the description adequately covers the tool's destructive nature and parameter logic. However, for a mutation tool, it lacks details on error conditions, success responses, or side effects. It's minimally complete but leaves gaps an agent might need, such as what 'cleared' means operationally.

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

Parameters4/5

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

The schema has 100% description coverage, so the baseline is 3. The description adds value by explaining the parameter's effect: 'If no category is specified, all thoughts will be cleared' clarifies the default behavior beyond the schema's 'Filter to clear thoughts from a specific category only'. This semantic context elevates the score above baseline.

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

Purpose4/5

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

The description clearly states the verb ('Clear'/'removes') and resource ('recorded thoughts'), making the purpose immediately understandable. It distinguishes the tool's destructive nature from sibling tools like 'get_thoughts' (read-only) and 'think' (creation). However, it doesn't explicitly contrast with all siblings, so it falls short of 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.

Usage Guidelines3/5

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

The description implies when to use it (to remove thoughts) and provides conditional logic (with/without category filter), but doesn't explicitly state when NOT to use it or name alternatives. For example, it doesn't contrast with 'get_thoughts' for viewing thoughts or warn against accidental deletion. This leaves some ambiguity for the agent.

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

detect_thinking_directiveB

Detect thinking directives.

This tool analyzes text to detect directives suggesting deeper thinking, such as "think harder", "think deeper", "think again", etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe text to analyze for thinking directives

TDQS

B3.3/5.0
Behavior2/5

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 'analyzes text' and detects specific phrases, but doesn't describe what the analysis entails, the format or confidence of results, whether it's read-only or has side effects, or any performance characteristics. For a detection tool with zero annotation coverage, this leaves significant behavioral gaps.

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

Conciseness5/5

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

The description is extremely concise with only two sentences: one stating the purpose and one providing concrete examples. Every word earns its place with zero redundancy. It's front-loaded with the core function and efficiently supplements with illustrative phrases.

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

Completeness3/5

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

Given the tool's moderate complexity (text analysis for pattern detection), no annotations, no output schema, and 100% schema coverage, the description is minimally adequate. It explains what the tool does but doesn't cover behavioral aspects, output format, or edge cases. The completeness is borderline viable but has clear gaps for effective agent use.

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

Parameters3/5

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

The input schema has 100% description coverage, clearly documenting the single 'text' parameter. The description adds minimal value beyond the schema, only reinforcing that the text is 'to analyze for thinking directives'. No additional semantics about text format, length limits, or preprocessing are provided. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'analyzes text to detect directives suggesting deeper thinking' with specific examples like 'think harder', 'think deeper', 'think again'. It distinguishes itself from sibling tools like 'think', 'think_more', or 'should_think' by focusing on detection rather than execution. However, it doesn't explicitly contrast with 'should_think' which might also involve directive evaluation.

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

Usage Guidelines3/5

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

The description implies usage when analyzing text for thinking directives, but provides no explicit guidance on when to use this versus alternatives like 'should_think' or 'process_natural_language'. It doesn't mention prerequisites, limitations, or scenarios where this tool is preferred over siblings. The context is clear but lacks comparative guidance.

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

get_project_settingsB
Get the project settings for the current working directory or a proposed path.

Returns configuration settings including project path, type, and metadata.
If proposed_path is not provided or invalid, uses the current directory.
ParametersJSON Schema
NameRequiredDescriptionDefault
proposed_pathNo

TDQS

B3.4/5.0
Behavior2/5

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 describes the return values ('configuration settings including project path, type, and metadata') and fallback behavior for invalid paths, which adds useful context. However, it doesn't cover potential errors, permissions needed, or rate limits, leaving gaps for a tool that interacts with file systems or projects.

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

Conciseness5/5

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

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by details on returns and parameter behavior. Every sentence adds value without redundancy, making it efficient and easy to parse.

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

Completeness3/5

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

Given no annotations, no output schema, and low schema coverage (0%), the description provides basic completeness by explaining the tool's purpose, parameter usage, and return values. However, it lacks details on error handling, authentication, or operational limits, which are important for a tool that likely accesses file systems. This makes it adequate but with clear gaps.

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

Parameters4/5

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

The input schema has 1 parameter with 0% description coverage, so the description must compensate. It explains the parameter 'proposed_path' by stating its purpose ('a proposed path') and behavior ('If proposed_path is not provided or invalid, uses the current directory'), adding meaningful semantics beyond the schema's title. This effectively covers the single parameter, though it could detail format or constraints.

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

Purpose4/5

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 the project settings for the current working directory or a proposed path.' It specifies the verb ('Get') and resource ('project settings'), and distinguishes the scope (current directory vs. proposed path). However, it doesn't explicitly differentiate from sibling tools, which are unrelated to project settings (e.g., clear_thoughts, think).

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

Usage Guidelines3/5

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

The description implies when to use the tool: to retrieve project settings for a directory. It specifies that if 'proposed_path is not provided or invalid, uses the current directory,' providing some context for parameter usage. However, it lacks explicit guidance on when to use this tool versus alternatives, as no sibling tools appear to serve a similar purpose, so no clear alternatives are mentioned.

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

get_thoughtsB

Retrieve recorded thoughts.

This tool retrieves all previously recorded thoughts, optionally filtered by category. You can also choose to organize them hierarchically by depth.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter to get thoughts from a specific category
organize_by_depthNoWhether to organize thoughts by depth relationships

TDQS

B3.1/5.0
Behavior2/5

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. While it indicates this is a retrieval operation, it doesn't describe what 'recorded thoughts' means, whether there are access restrictions, pagination behavior, rate limits, or what format the thoughts are returned in. The description provides basic functionality but lacks important operational context.

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

Conciseness4/5

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

The description is appropriately concise with three sentences that each add value: stating the core purpose, mentioning filtering capability, and describing organization option. It's front-loaded with the main purpose first. No wasted words, though it could be slightly more structured.

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

Completeness2/5

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

Given no annotations and no output schema, the description should do more to compensate. While it covers basic functionality, it doesn't explain what 'thoughts' are in this context, how they're structured, whether there are limitations on retrieval, or what the return format looks like. For a retrieval tool with zero annotation coverage, this leaves significant gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds marginal value by mentioning 'optionally filtered by category' and 'organize them hierarchically by depth', which aligns with but doesn't expand beyond the schema's parameter descriptions. Baseline 3 is appropriate when schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Retrieve recorded thoughts' with the verb 'retrieve' and resource 'recorded thoughts'. It distinguishes from siblings like 'clear_thoughts' (deletion) and 'think' (creation), but doesn't explicitly differentiate from 'get_thought_stats' which might provide aggregated data rather than the thoughts themselves.

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

Usage Guidelines3/5

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

The description implies usage through optional filtering parameters ('optionally filtered by category', 'organize them hierarchically'), but provides no explicit guidance on when to use this tool versus alternatives like 'get_thought_stats' or 'detect_thinking_directive'. No when-not-to-use scenarios or prerequisites are mentioned.

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

get_thought_statsB

Get statistics about recorded thoughts.

This tool provides statistics about recorded thoughts, such as count and depth distribution. Results can be filtered by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter to get stats for a specific category

TDQS

B3.1/5.0
Behavior2/5

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 provides statistics but doesn't describe what the output looks like (e.g., format, structure), whether it's read-only (implied by 'get'), or any performance considerations like rate limits. This leaves significant gaps for a tool with no output schema.

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

Conciseness4/5

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

The description is concise and front-loaded, with the core purpose in the first sentence and additional details in the second. Both sentences earn their place by clarifying scope and functionality. However, it could be slightly more structured by explicitly separating purpose from usage notes.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what statistics are returned (beyond 'count and depth distribution'), how results are formatted, or any behavioral traits. For a tool with no structured output documentation, this leaves too much ambiguity for effective agent use.

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

Parameters3/5

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

Schema description coverage is 100%, with the single parameter 'category' well-documented in the schema. The description adds minimal value beyond the schema by mentioning 'Results can be filtered by category,' which aligns with the schema's description. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.

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

Purpose4/5

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 statistics about recorded thoughts' with specific examples ('such as count and depth distribution'). It distinguishes itself from sibling tools like 'get_thoughts' (which likely retrieves the thoughts themselves) by focusing on statistical analysis. However, it doesn't explicitly contrast with all siblings, so it doesn't reach the highest score.

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

Usage Guidelines3/5

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

The description implies usage context by mentioning 'Results can be filtered by category,' suggesting this tool is for statistical analysis rather than raw data retrieval. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'get_thoughts' or 'detect_thinking_directive,' nor does it specify prerequisites or exclusions.

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

initialize_ideB
Initialize IDE project structure with appropriate directories and config files.

This tool sets up the necessary directories and configuration files for IDE
integration, including .ai-templates directory and IDE-specific rules.

Note: If project_path is omitted, not a string, invalid, or the directory doesn't exist,
the current working directory will be used automatically.
ParametersJSON Schema
NameRequiredDescriptionDefault
ide_typeNoThe type of IDE to initialize (cursor, windsurf-next, windsurf, cline, roo, copilot)cursor
project_pathNoPath to the project. If not provided, invalid, or directory doesn't exist, the current working directory will be used automatically

TDQS

B3.4/5.0
Behavior3/5

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 adds useful context about the fallback behavior for invalid project_path (using current working directory) and mentions what gets created (directories and config files). However, it doesn't cover other important aspects like whether this is a read-only or destructive operation, potential side effects, error handling, or permissions required, which are gaps for a tool that modifies file systems.

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

Conciseness4/5

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

The description is appropriately sized with three sentences: a clear purpose statement, elaboration on what's included, and a behavioral note. It's front-loaded with the core purpose and avoids redundancy. The note about project_path could be slightly more integrated, but overall it's efficient with minimal waste.

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

Completeness3/5

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

Given the tool's complexity (file system operations with 2 parameters), lack of annotations, and no output schema, the description is moderately complete. It covers the purpose and some behavioral aspects but misses details like output format, error conditions, or confirmation of changes. For a tool that creates directories and files, more context on success/failure responses would be beneficial.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters (ide_type and project_path). The description adds minimal value beyond the schema by reiterating the project_path fallback behavior in the note, but doesn't provide additional semantic context for ide_type choices or parameter interactions. This meets the baseline for high schema coverage.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Initialize IDE project structure with appropriate directories and config files.' It specifies the verb ('initialize') and resource ('IDE project structure'), and mentions specific components like '.ai-templates directory and IDE-specific rules.' However, it doesn't explicitly distinguish this tool from its sibling 'initialize_ide_rules,' which appears to be a related but distinct tool.

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

Usage Guidelines3/5

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

The description provides some implied usage context through the note about handling invalid project_path, but it doesn't explicitly state when to use this tool versus alternatives like 'initialize_ide_rules' or other sibling tools. There's no guidance on prerequisites, ideal scenarios, or comparisons with similar tools, leaving the agent to infer usage from the purpose alone.

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

initialize_ide_rulesB
Initialize IDE rules for a project.

This tool sets up IDE-specific rules for a project, creating the necessary
files and directories for AI assistants to understand project conventions.

Note: If project_path is omitted, not a string, or invalid, the current working
directory will be used automatically.
ParametersJSON Schema
NameRequiredDescriptionDefault
ideNoThe IDE to initialize rules for (cursor, windsurf-next, windsurf, cline, roo, copilot)cursor
project_pathNoPath to the project. If not provided or invalid, the current working directory will be used automatically

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses that the tool creates files/directories (implying mutation) and handles invalid project_path by defaulting to current directory. However, it doesn't mention permission requirements, error conditions, or what specific files are created, leaving behavioral gaps.

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

Conciseness4/5

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

The description is appropriately concise with three sentences: purpose statement, elaboration, and behavioral note. Each sentence adds value, though the second sentence could be slightly more specific about what 'understand project conventions' entails.

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

Completeness3/5

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

For a mutation tool with no annotations and no output schema, the description is moderately complete. It covers the basic purpose and one behavioral aspect (default fallback), but lacks details on what rules are initialized, success/failure outcomes, or side effects, which would be helpful given the context.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are fully documented in the schema. The description adds minimal value beyond the schema: it reiterates the project_path default behavior but doesn't provide additional context about ide parameter choices or project_path validation.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Initialize IDE rules for a project' and elaborates that it 'sets up IDE-specific rules... creating necessary files and directories.' This specifies the verb (initialize/set up) and resource (IDE rules), though it doesn't explicitly differentiate from sibling tools like 'initialize_ide' or 'get_project_settings'.

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

Usage Guidelines3/5

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

The description provides implied usage context through the note about project_path defaults, but lacks explicit guidance on when to use this tool versus alternatives like 'initialize_ide' or 'get_project_settings'. No when-not-to-use scenarios or prerequisites are mentioned.

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

migrate_mcp_configB
Migrate MCP configuration between different IDEs.

This tool helps migrate configuration and rules between different IDEs,
ensuring consistent AI assistance across different environments.

Note: If project_path is omitted, not a string, or invalid, the current working
directory will be used automatically.
ParametersJSON Schema
NameRequiredDescriptionDefault
from_ideNoSource IDE to migrate from. Valid options: cursor, windsurf-next, windsurf, cline, roo, claude-desktopcursor
project_pathNoPath to the project. If not provided or invalid, the current working directory will be used
to_ideNoTarget IDE to migrate to. Valid options: cursor, windsurf-next, windsurf, cline, roo, claude-desktop

TDQS

B3.2/5.0
Behavior2/5

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 the tool 'helps migrate configuration and rules' but doesn't specify what 'migrate' entails operationally (e.g., copy, transform, overwrite), whether it requires specific permissions, what happens to existing configurations, or error handling. The note about project_path fallback adds some context, but overall behavioral traits are under-specified for a mutation tool.

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

Conciseness4/5

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

The description is appropriately sized with three sentences: purpose statement, benefit explanation, and parameter note. It's front-loaded with the core purpose first. The note about project_path is necessary but could be slightly more integrated. Overall efficient with minimal waste.

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

Completeness3/5

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

Given no annotations and no output schema, the description provides basic purpose and one parameter clarification. However, for a tool that performs configuration migration (implied mutation), it lacks details on what 'migrate' entails operationally, success/failure responses, or side effects. It's minimally viable but has clear gaps in behavioral context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents all three parameters (from_ide, project_path, to_ide) with descriptions, defaults, and valid options. The description adds a note clarifying project_path fallback behavior ('If project_path is omitted, not a string, or invalid, the current working directory will be used automatically'), which provides additional semantic context beyond the schema. This earns a baseline 3 with slight enhancement.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Migrate MCP configuration between different IDEs' with the specific verb 'migrate' and resource 'MCP configuration'. It distinguishes from siblings like 'initialize_ide' or 'get_project_settings' by focusing on migration rather than initialization or retrieval. However, it doesn't explicitly differentiate from all siblings, keeping it at a 4 rather than a 5.

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

Usage Guidelines3/5

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

The description implies usage context ('ensuring consistent AI assistance across different environments') but doesn't explicitly state when to use this tool versus alternatives like 'initialize_ide' or 'get_project_settings'. It provides some guidance with the note about project_path behavior, but lacks clear when/when-not directives or named alternatives for migration scenarios.

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

prime_contextB
Prime project context by analyzing documentation and structure.

This tool analyzes the project structure and documentation to provide
context information for AI assistants working with the project.

Note: If project_path is omitted, not a string, or invalid, the current working
directory will be used automatically.
ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoDepth of analysis (minimal, standard, deep)standard
project_pathNoPath to the project. If not provided or invalid, the current working directory will be used automatically

TDQS

B3.4/5.0
Behavior3/5

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 describes the core behavior (analyzing project structure/documentation) and adds useful context about the automatic fallback to current working directory when project_path is omitted/invalid. However, it doesn't disclose important behavioral traits like whether this is a read-only operation, potential performance implications of different depth levels, what specific context information is provided, or any rate limits/authentication requirements.

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

Conciseness4/5

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

The description is appropriately sized with three sentences that each serve a purpose: stating the core function, elaborating on the analysis purpose, and providing important behavioral context about parameter handling. It's front-loaded with the main purpose and avoids unnecessary verbosity while covering essential information.

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

Completeness3/5

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

Given the tool has 2 parameters with full schema coverage but no annotations and no output schema, the description provides adequate basic context about what the tool does and parameter handling. However, for a tool that presumably returns analyzed context information, the lack of output schema means the description should ideally provide more information about what kind of context is returned. The description is minimally complete but could be more comprehensive.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both parameters. The description adds marginal value by reinforcing the project_path fallback behavior in the note, but doesn't provide additional semantic context beyond what's in the schema descriptions. The baseline of 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Prime project context by analyzing documentation and structure' and 'analyzes the project structure and documentation to provide context information for AI assistants working with the project.' This specifies the verb (analyze/prime), resource (project structure/documentation), and outcome (provide context for AI assistants). However, it doesn't explicitly differentiate from siblings like 'get_project_settings' or 'initialize_ide', which might have overlapping functionality.

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

Usage Guidelines3/5

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

The description provides some implied usage context: it's for AI assistants working with a project, and the note about project_path handling gives practical guidance. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_project_settings' or 'initialize_ide', nor does it provide clear exclusions or prerequisites for usage.

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

process_natural_languageA

Process natural language command and route to appropriate tool.

This tool takes a natural language query and determines which tool to call with what parameters, providing a way to interact with the MCP Agile Flow tools using natural language.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe natural language query to process into a tool call

TDQS

A3.5/5.0
Behavior2/5

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 describes the tool's function but lacks details on behavioral traits such as error handling, response format, rate limits, or any side effects. For a tool that processes and routes commands, 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.

Conciseness5/5

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

The description is concise and front-loaded, with two sentences that directly state the tool's purpose and usage. Every sentence earns its place by providing essential information without redundancy or fluff, making it easy to understand quickly.

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

Completeness3/5

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

Given the tool's complexity (processing natural language to route to other tools), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and usage but lacks details on behavior, output, or integration with siblings, leaving gaps in completeness for effective agent use.

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

Parameters3/5

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

The input schema has 100% description coverage, with the 'query' parameter well-documented as 'The natural language query to process into a tool call.' The description adds minimal value beyond this, mentioning 'takes a natural language query' but not elaborating on syntax or constraints. Baseline 3 is appropriate given the schema's thorough coverage.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Process natural language command and route to appropriate tool.' It specifies the verb ('process'), resource ('natural language command'), and outcome ('route to appropriate tool'). However, it doesn't explicitly differentiate from sibling tools like 'detect_thinking_directive' or 'should_think', which might also process language for specific purposes.

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

Usage Guidelines4/5

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

The description provides clear context: 'providing a way to interact with the MCP Agile Flow tools using natural language.' This indicates when to use it—for natural language interaction with the toolset. It doesn't explicitly state when not to use it or name alternatives among siblings, but the context is sufficiently clear for general usage.

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

should_thinkC

Assess whether deeper thinking is needed for a query.

This tool analyzes a query to determine if it requires deeper thinking, based on complexity indicators and context.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe query to assess for deep thinking requirements

TDQS

C2.9/5.0
Behavior2/5

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 'analyzes' and 'determines' based on 'complexity indicators and context,' but doesn't explain what these indicators are, how the analysis works, or what the output entails (e.g., a boolean, score, or reasoning). For a tool with no annotations, this leaves significant gaps in understanding its behavior and limitations.

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

Conciseness5/5

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

The description is appropriately sized and front-loaded, with two concise sentences that directly state the tool's purpose and method. Every sentence earns its place by providing essential information without redundancy, making it efficient and well-structured.

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

Completeness2/5

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

Given the complexity of assessing query thinking needs, the description is incomplete. No annotations or output schema exist to clarify behavior or results, and the description lacks details on analysis criteria, output format, or error handling. This leaves the tool's functionality vague, making it inadequate for an AI agent to use effectively without further context.

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

Parameters3/5

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

The input schema has 100% description coverage, with the 'query' parameter clearly documented. The description adds no additional meaning beyond the schema, as it doesn't elaborate on query format, examples, or constraints. According to the rules, with high schema coverage (>80%), the baseline is 3, which applies here since the description doesn't compensate with extra param details.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'analyzes a query to determine if it requires deeper thinking, based on complexity indicators and context.' This specifies the verb (analyzes/determines) and resource (query), making it understandable. However, it doesn't explicitly differentiate from sibling tools like 'detect_thinking_directive' or 'think', which might have overlapping functions, preventing a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It mentions analyzing queries for deeper thinking needs but doesn't specify scenarios, prerequisites, or exclusions. With siblings like 'detect_thinking_directive' and 'think', the lack of comparative context leaves usage ambiguous, scoring low for guidelines.

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

thinkC

Record a thought for later reference and analysis.

This tool allows you to record thoughts during development or analysis processes. Thoughts can be organized by category and depth to create a hierarchical structure of analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNodefault
depthNo
metadataNo
referencesNo
thoughtYes
timestampNo

TDQS

C2.9/5.0
Behavior2/5

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 records thoughts for later reference, implying persistence and non-destructive behavior, but doesn't clarify where thoughts are stored (e.g., database, memory), whether recording is idempotent, or if there are rate limits. The description adds basic context about organization but misses critical operational details for a tool with 6 parameters.

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

Conciseness4/5

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

The description is appropriately sized with three sentences that are front-loaded (core purpose first) and avoid redundancy. Each sentence adds value: the first states the primary function, the second reinforces the action, and the third explains organizational capabilities. No wasted words, 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.

Completeness2/5

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

Given the tool's complexity (6 parameters, no annotations, no output schema), the description is incomplete. It covers the basic purpose and hints at organization but lacks details on storage behavior, error handling, return values, and parameter usage. For a tool with rich input schema and sibling tools, more contextual guidance is needed to ensure correct invocation.

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

Parameters2/5

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 for all 6 parameters. It mentions 'category' and 'depth' for hierarchical organization, which adds meaning beyond schema titles, but doesn't explain 'thought' (required), 'metadata', 'references', or 'timestamp'. With 4 parameters undocumented in the description, it fails to adequately compensate for the schema gap.

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

Purpose4/5

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

The description clearly states the tool's purpose as 'Record a thought for later reference and analysis' with the specific verb 'record' and resource 'thought'. It distinguishes from siblings like 'get_thoughts' (retrieval) and 'clear_thoughts' (deletion) by focusing on creation. However, it doesn't explicitly differentiate from 'think_more' which might be a similar recording operation.

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

Usage Guidelines3/5

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

The description provides implied usage context ('during development or analysis processes') and mentions organization by category and depth, suggesting when hierarchical structuring is beneficial. However, it lacks explicit guidance on when to use this tool versus alternatives like 'think_more' or 'should_think', and doesn't mention prerequisites or exclusions.

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

think_moreC

Get guidance for thinking more deeply.

This tool provides suggestions and guidance for thinking more deeply about a specific query or thought.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe query to think more deeply about

TDQS

C2.6/5.0
Behavior2/5

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 the tool 'provides suggestions and guidance' but doesn't describe what form these take (e.g., text responses, structured advice, examples), whether it's interactive, or any limitations. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

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

Conciseness4/5

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

The description is appropriately concise with two sentences that directly address the tool's function. It's front-loaded with the core purpose and avoids unnecessary elaboration. However, the second sentence could be slightly more specific to improve clarity without sacrificing brevity.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete for understanding this tool's behavior. It doesn't explain what the output looks like (e.g., text suggestions, structured data), any constraints on the input query, or how it differs from similar tools. For a guidance-providing tool with no structured metadata, more context is needed.

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

Parameters3/5

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

The schema description coverage is 100%, with the single parameter 'query' clearly documented as 'The query to think more deeply about'. The description adds no additional parameter information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting.

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

Purpose3/5

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

The description states the tool 'provides suggestions and guidance for thinking more deeply about a specific query or thought', which gives a general purpose but lacks specificity about what kind of suggestions or guidance it provides. It doesn't clearly distinguish from sibling tools like 'think' or 'should_think', making it somewhat vague about its exact function within the toolset.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'think' or 'should_think'. There's no mention of prerequisites, appropriate contexts, or exclusions. The agent must infer usage based on the name and description alone without explicit direction.

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

TDQS

B3.1/5.0
Disambiguation3/5

The tools have some clear distinctions but significant overlap exists. Tools like think, think_more, should_think, and detect_thinking_directive all relate to thinking processes with unclear boundaries. Similarly, initialize_ide and initialize_ide_rules appear to serve very similar purposes. The descriptions help differentiate them somewhat, but an agent could easily misselect between these overlapping tools.

Naming Consistency4/5

The naming follows a consistent snake_case pattern throughout, which is good. Most tools use verb_noun or verb_adjective_noun patterns (e.g., clear_thoughts, get_project_settings). The main deviation is process_natural_language which uses a verb_adjective_noun pattern that still fits the overall style, keeping the naming mostly predictable and readable.

Tool Count4/5

With 13 tools, the count is reasonable for a server focused on agile development workflows and thinking assistance. It's slightly on the higher side but still manageable. The tools cover multiple aspects of the domain without feeling excessively bloated, though some consolidation might improve coherence.

Completeness3/5

The server covers thinking processes and IDE/project setup reasonably well, but there are notable gaps. For thinking workflows, there's good recording and analysis but limited action-oriented tools. For project management, there are initialization tools but no ongoing management, update, or collaboration features. The natural language processing tool provides routing but doesn't complete the surface for a comprehensive agile flow system.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smian0/mcp-agile-flow'

If you have feedback or need assistance with the MCP directory API, please join our Discord server