Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes: get_execution and get_task retrieve specific items, list_tasks and list_workflows list collections, and run_task and run_workflow execute operations. However, get_task and list_tasks could potentially be confused if an agent isn't clear on whether it needs a single task or multiple tasks, as both relate to tasks in the same domain.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (e.g., get_execution, list_tasks, run_workflow). The naming is uniform across all six tools, with clear and predictable conventions that make it easy for agents to understand the action and target resource.

    Tool Count5/5

    With 6 tools, the count is well-scoped for a server focused on union execution, tasks, and workflows. It covers key operations like retrieval, listing, and execution without being overly sparse or bloated, fitting typical MCP server ranges of 3-15 tools.

    Completeness4/5

    The tool set provides good coverage for core operations in a union management domain, including getting items, listing collections, and running tasks/workflows. A minor gap exists in the lack of update or delete operations for tasks or workflows, which might limit full lifecycle management, but agents can still perform essential workflows with the available tools.

  • Average 2.5/5 across 6 of 6 tools scored. Lowest: 1.5/5.

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

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under Apache 2.0.

  • 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

  • Behavior1/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 but fails to deliver. It does not indicate whether this is a read-only operation, if it has side effects, requires authentication, involves rate limits, or what the return format might be. The vague phrase 'personalized union execution' adds no practical 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.

    Conciseness3/5

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

    The description is concise—a single phrase—but this brevity leads to under-specification rather than efficiency. While front-loaded, it lacks necessary detail, making it more of a placeholder than a helpful summary. It earns a mid-score as it avoids verbosity but fails to provide substantive information.

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

    Completeness1/5

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

    Given the tool's complexity (3 required parameters, no annotations, no output schema, and 0% schema coverage), the description is severely incomplete. It does not explain what the tool does, how to use it, what parameters mean, or what to expect in return, making it inadequate for effective agent operation.

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

    Parameters1/5

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

    The description adds no meaning beyond the input schema, which has 0% description coverage. Parameters 'domain', 'name', and 'project' are undocumented in both the schema and description, leaving their semantics unclear. For a tool with three required parameters and no schema descriptions, this is a critical gap.

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

    Purpose2/5

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

    The description 'Get personalized union execution' is vague and tautological—it essentially restates the tool name 'get_execution' with minimal added meaning. While 'get' implies retrieval and 'personalized union execution' hints at a specific resource, it lacks clarity on what an 'execution' entails (e.g., a process, result, or status) or how it relates to siblings like 'get_task' or 'run_task', failing to distinguish purpose effectively.

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

    Usage Guidelines1/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. The description does not mention context, prerequisites, or exclusions, and it offers no comparison to sibling tools such as 'get_task', 'list_tasks', or 'run_workflow'. This leaves the agent without direction on appropriate usage scenarios.

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

  • Behavior1/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 fails to describe any behavioral traits: it doesn't indicate if this is a read-only operation, what permissions might be required, how errors are handled, or what the response format entails. The description adds no value beyond the minimal purpose statement.

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

    Conciseness2/5

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

    While concise with a single sentence, the description is under-specified rather than efficiently informative. It lacks front-loaded critical details and wastes its minimal content on a tautological statement that doesn't help the agent understand or use the tool effectively.

    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 (3 required parameters, no annotations, 0% schema coverage) and the presence of an output schema, the description is incomplete. It fails to compensate for the lack of parameter documentation or behavioral context, and while the output schema might cover return values, the description doesn't provide enough information for the agent to invoke the tool correctly or understand its role among siblings.

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

    Parameters1/5

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

    The schema description coverage is 0%, meaning none of the three required parameters (domain, name, project) are documented in the schema. The description provides no information about these parameters—it doesn't explain what they represent, their expected formats, or how they relate to retrieving a 'union task'. This leaves all parameters completely undocumented.

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

    Purpose2/5

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

    The description 'Get a union task' is a tautology that essentially restates the tool name 'get_task' with minimal additional meaning. It doesn't specify what 'union task' means or what resource is being retrieved, nor does it distinguish this tool from sibling tools like 'get_execution' or 'list_tasks'. The purpose remains vague and unhelpful for agent selection.

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

    Usage Guidelines1/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. There's no mention of prerequisites, context, or comparisons to sibling tools like 'list_tasks' (for listing multiple tasks) or 'run_task' (for executing tasks). This leaves the agent with no usage direction.

    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 provided, the description carries full burden for behavioral disclosure. It mentions 'determine the task to run' and 'format the inputs dictionary' which suggests some processing logic, but doesn't explain authentication needs, error handling, rate limits, or what happens if the task fails. For a tool that executes tasks, this is a significant gap.

    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 reasonably structured with a clear opening statement followed by bullet points and an Args/Returns section. However, the 'Based on the prompt' phrase is ambiguous and could be more precise. Overall, it's efficient but not perfectly front-loaded.

    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 4 parameters with 0% schema coverage and no annotations, but with an output schema present, the description provides basic parameter explanations and mentions returns. However, for a task execution tool with complex inputs (dictionary with additionalProperties), more context about input formatting, error cases, and execution behavior would be helpful.

    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 lists all 4 parameters in the Args section with brief explanations, but doesn't provide examples, constraints, or format details. The description adds basic meaning beyond the bare schema but doesn't fully compensate for the complete lack of schema descriptions.

    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 'Run a task with natural language' which indicates the verb (run) and resource (task), but it's vague about what 'natural language' means in this context. It doesn't clearly differentiate from sibling tools like 'run_workflow' or 'get_task' beyond the basic resource name.

    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 about when to use this tool versus alternatives like 'run_workflow' or 'get_task'. The description mentions 'Based on the prompt and inputs dictionary' but doesn't clarify what constitutes a 'prompt' or when this approach is preferred over more specific tools.

    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 provided, the description carries the full burden of behavioral disclosure. It states this is a list operation, implying read-only behavior, but doesn't address critical aspects like pagination, sorting, filtering beyond the two parameters, rate limits, authentication needs, or what the output contains. 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.

    Conciseness5/5

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

    The description is a single, efficient sentence with zero waste—it directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse 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 low complexity (simple list operation with 2 parameters) and the presence of an output schema (which handles return values), the description is somewhat complete but lacks depth. It covers the basic purpose but misses behavioral details (e.g., pagination) and parameter semantics, making it adequate but with 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.

    Parameters2/5

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

    Schema description coverage is 0%, so the schema provides no parameter descriptions. The description mentions 'project and domain' as context but doesn't explain what these parameters mean (e.g., domain types, project identifiers), their formats, or examples. It adds minimal value beyond naming the parameters, failing to compensate for the coverage 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 action ('List all tasks') and the target resource ('in a project and domain'), providing a specific verb+resource combination. However, it doesn't differentiate from sibling tools like 'get_task' or 'list_workflows', which would require explicit comparison to earn 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 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 'get_task' (for single tasks) or 'list_workflows' (for workflows instead of tasks). It mentions the context ('in a project and domain') but lacks explicit when/when-not instructions or named alternatives.

    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 'List all workflows' but doesn't disclose behavioral traits such as pagination, rate limits, authentication needs, or what 'all' entails (e.g., includes archived workflows). The description is minimal and misses key operational details for a listing tool.

    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, efficient sentence with zero waste. It is front-loaded with the core action and scope, making it easy to parse quickly. Every word contributes directly to the tool's purpose without redundancy.

    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 low complexity (2 simple parameters) and the presence of an output schema (which handles return values), the description is somewhat complete for basic understanding. However, with no annotations and poor parameter coverage, it lacks sufficient context for safe and effective use, such as error handling or behavioral nuances.

    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. It mentions 'project and domain' but doesn't explain what these parameters mean (e.g., domain as organizational scope, project as container). No format, examples, or constraints are provided, leaving parameters largely undocumented beyond their names.

    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 ('List') and resource ('all workflows'), specifying the scope ('in a project and domain'). It distinguishes from siblings like 'get_execution' or 'run_workflow' by focusing on listing rather than retrieving or executing. However, it doesn't explicitly differentiate from 'list_tasks', which might cause ambiguity in sibling selection.

    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 'list_tasks' or 'get_execution'. It lacks context on prerequisites (e.g., needing valid project/domain) or exclusions (e.g., not for filtered workflows). This leaves the agent with minimal direction for tool selection.

    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 provided, the description carries full burden but offers limited behavioral insight. It mentions the tool determines workflows and formats inputs, hinting at automation, but doesn't disclose critical traits like permissions needed, rate limits, error handling, or whether it's read-only or destructive. For a tool that likely performs mutations (running workflows), 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.

    Conciseness4/5

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

    The description is well-structured with a clear opening sentence, bullet points for steps, and separate Args/Returns sections. It's appropriately sized without fluff, though the bullet points could be more concise. Every sentence adds value, but minor tightening could improve efficiency.

    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 4 parameters with 0% schema coverage, an output schema exists, and no annotations, the description is moderately complete. It covers parameters and return values, but lacks behavioral details (e.g., side effects, auth needs) and doesn't fully explain parameter semantics or usage context. The output schema reduces burden, but more context is needed for a complex execution tool.

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

    Parameters4/5

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

    Schema description coverage is 0%, so the description must compensate. It lists all 4 parameters (project, domain, name, inputs) in the Args section and explains 'inputs' as a dictionary matching the workflow function signature, adding meaningful context beyond the bare schema. However, it doesn't detail what 'project' or 'domain' represent or provide examples, leaving some ambiguity.

    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: 'Run a workflow with natural language' and explains it determines, formats, and invokes workflows based on prompt and inputs. It distinguishes from siblings like 'get_execution' or 'list_workflows' by focusing on execution rather than retrieval or listing. However, it doesn't explicitly contrast with 'run_task', which might be a similar execution 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 implies usage when needing to execute a workflow with natural language inputs, but provides no explicit guidance on when to use this vs. alternatives like 'run_task' or other siblings. It mentions determining the workflow based on prompt, which suggests context, but lacks clear when/when-not instructions 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

union-mcp MCP server

Copy to your README.md:

Score Badge

union-mcp 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/unionai-oss/union-mcp'

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