Skip to main content
Glama
simeptk

mcp-migration-tools

by simeptk

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool targets a unique aspect of migration: API extraction, SQL conversion, stack detection, and effort estimation. No two tools perform similar or overlapping functions, making selection unambiguous.

    Naming Consistency4/5

    The naming style is consistent with lowercase snake_case and mostly follows a verb_noun pattern (extract_api_contract, detect_stack, estimate_migration_effort). One tool (sql_to_flyway) uses a noun_to_noun pattern, which is a minor deviation but still clear and readable.

    Tool Count4/5

    With 4 tools, the set is within the ideal 3-15 range and feels appropriately scoped for a focused migration utility. It is slightly sparse but each tool serves a distinct purpose.

    Completeness3/5

    The tools cover analysis, conversion, and estimation, but lack any migration execution or validation operations. There are notable gaps in the end-to-end migration workflow, though the existing tools are sound.

  • Average 3.4/5 across 4 of 4 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 3 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • 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 does not explain how the stack is inferred, what the output format is (beyond an output schema existing), or any edge cases like empty file lists. The description is generic and lacks insight into the tool's behavior.

    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 a single, focused sentence that is front-loaded with the core action. It contains no extraneous information and is appropriately sized for the tool's simplicity.

    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?

    Despite having one parameter and an output schema, the description provides minimal context. It lacks any guidance on when to use the tool relative to siblings, what constitutes 'dominant,' or any limitations. For an Agent, this is insufficient for confident tool selection, especially with no annotations to fill 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?

    The schema defines 'files' as an array of strings with no description, and the overall schema coverage is 0%. The description adds the semantic that these strings are 'file paths,' which clarifies the parameter's purpose. However, it does not specify path types, constraints (e.g., non-empty), or how the array is interpreted, leaving some ambiguity.

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

    Purpose5/5

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

    The description clearly states the tool infers the dominant technology stack from file paths, using a specific verb ('infer') and resource ('technology stack'). It distinguishes itself from siblings like extract_api_contract and sql_to_flyway by focusing on stack detection rather than contract extraction or migration conversion.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives, nor are any exclusions or prerequisites mentioned. The single-sentence description implies usage only through its function, leaving the agent to infer context.

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

  • 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. It mentions 'portable' and 'Flyway migration' but does not disclose whether DML is supported, how output is returned, or any limitations with unsupported SQL Server syntax. Minimal behavioral context.

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

    Conciseness5/5

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

    A single sentence of nine words, front-loaded with the action and outcome. No filler or redundant content.

    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?

    Despite an output schema existing, the description provides no guidance on expected outputs or usage scenarios. With three parameters and no annotations, this short description is under-specified for an agent to confidently invoke the tool correctly.

    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 needed to compensate. It only hints at the 'ddl' parameter via 'SQL Server DDL', but says nothing about 'version' or 'description' parameters, leaving their semantics unexplained.

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

    Purpose5/5

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

    The description uses a specific verb 'Convert' with a clear resource 'SQL Server DDL' and target 'portable Flyway migration file'. It clearly distinguishes itself from sibling tools that handle API contracts, stack detection, and migration effort estimation.

    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?

    Usage is implied by the description: when you have SQL Server DDL and want a Flyway migration. However, there is no explicit statement of when to use this tool versus alternatives, nor any exclusions or prerequisites.

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

  • Behavior2/5

    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 estimates effort, but does not disclose the model, assumptions, accuracy, or nature of the output. There is no mention of whether the estimate is deterministic, what formula is used, or what the result contains. This is a significant gap for a tool that produces a derived value.

    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 a single, front-loaded sentence with zero wasted words. It perfectly balances brevity with conveying the core purpose and input characteristics.

    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?

    The tool is relatively simple with five optional numeric parameters and an output schema present. The description conveys the main purpose, but lacks context about the output format, assumptions, or how to interpret the result. Since no annotations exist, the description alone is slightly too minimal for full completeness, but the output schema mitigates some 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 0%, so the description must compensate. It adds the collective meaning 'coarse inventory counts' to the numeric parameters, indicating they are approximate inputs rather than precise figures. This adds some value beyond the raw schema, but it does not explain individual parameters or their units in detail.

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

    Purpose5/5

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

    The description uses a specific verb ('Estimate') and a clear resource ('migration effort') with a unit ('person-days'). It clearly distinguishes from sibling tools like extract_api_contract and sql_to_flyway, which are about code transformation and contract extraction, not effort estimation.

    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 phrase 'from coarse inventory counts' implies when to use: when you have approximate counts of code, pages, etc., and need an effort estimate. However, it does not explicitly state when not to use it or mention alternatives. It provides an implied usage context but lacks explicit exclusion or alternative guidance.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It states the action ('extract') but does not explicitly mention whether the operation is read-only, how errors are handled, or any side effects. This leaves the agent without important context.

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

    Conciseness5/5

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

    The description is a single, concise sentence that is front-loaded with the verb 'Extract'. It contains no unnecessary words and is 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?

    The tool has one parameter and an output schema, simplifying the description's job. However, the description is still incomplete because it omits input format specifics (path vs content) and the exact scanning behavior. It meets the minimum bar but lacks depth.

    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 lists a single 'source' string with 0% description coverage. The description adds meaning by specifying the source is 'Spring controller source', which clarifies the parameter's purpose. However, it does not clarify whether 'source' is a file path or inline code, leaving ambiguity.

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

    Purpose5/5

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

    The description uses the specific verb 'Extract' and defines the exact output format ({method, path}) and input type ('Spring controller source'). This clearly distinguishes it from siblings like 'detect_stack' or 'sql_to_flyway', which have different purposes.

    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 phrase 'from Spring controller source' implies it is meant for analyzing Spring controllers, giving a clear use case. However, no explicit guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

mcp-migration-tools MCP server

Copy to your README.md:

Score Badge

mcp-migration-tools MCP server

Copy to your README.md:

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/simeptk/mcp-migration-tools'

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