Skip to main content
Glama
shiftyasan

Shiftyasan MCP Server

by shiftyasan

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a distinct and non-overlapping purpose: validating input, running the solver, and checking async job status. There is no ambiguity in selecting between them.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with lowercase and underscores: validate_shift_input, solve_shift, get_solve_job. The naming is uniform and predictable.

    Tool Count5/5

    Three tools is a well-scoped set for a specialized solver API, covering validation, synchronous invocation, and asynchronous status retrieval without bloat or unnecessary redundancy.

    Completeness5/5

    The tool surface covers the full workflow: validate payload, run solver, and retrieve async result. There are no obvious missing operations for the stated domain of shift scheduling solving.

  • Average 4.3/5 across 3 of 3 tools scored.

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

    • No community issues in the last 6 months
    • 8 commits in the last 12 weeks
    • Last stable release on
    • 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

  • Behavior4/5

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

    With no annotations provided, the description bears full responsibility and does well: it explains the meaning of each status ('running', 'completed', 'failed'), what completed includes (solution and usage), and that failed includes error.code. It also mentions being free of charge, which is helpful 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 three sentences, front-loaded with the purpose, followed by practical status details. Every sentence earns its place—no filler or redundancy.

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

    Completeness4/5

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

    For a simple polling tool, the description covers the key behavioral aspects: when to poll, what statuses mean, and expected output content. It lacks details on invalid job_id or authentication, but given the simplicity and lack of output schema, it is reasonably complete.

    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 already fully describes job_id (100% coverage), including that it comes from the 202 async response of solve_shift. The description adds no additional parameter semantics beyond restating this, so the baseline of 3 is appropriate.

    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 checks the status of an asynchronous solve job created by solve_shift, using a specific verb (check) and resource (job). It also references the sibling tool solve_shift, distinguishing it from validate_shift_input and solve_shift.

    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?

    It provides clear context: this is the polling tool for async jobs from solve_shift, and explicitly advises waiting ~15 seconds and calling again while status is running. It implies the tool should be used after receiving a 202 response, though it doesn't state explicit exclusions.

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

  • Behavior4/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 disclosure. It clearly states the call is synchronous, returns within ~30 seconds, is charged per call, and requires an API key with quota. This covers latency, cost, and authentication—key behavioral aspects beyond the schema.

    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 three concise sentences: the first states the core purpose, the second adds behavioral constraints (synchronous, timeout), and the third gives a usage tip and a link to the full schema. No wasted words; information is front-loaded.

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

    Completeness4/5

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

    For a tool with one complex parameter and no output schema, the description provides adequate context by referencing the external OpenAPI schema for request/response details, covering prerequisites (validation, API key), and describing latency/cost. It does not spell out the return structure directly, but the external link fills that gap.

    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 already thoroughly describes the single `request` parameter (100% coverage) including its contents (schedule_period, shifts, duties, etc.). The description's additional mention of 'solver_timeout_seconds' is useful but not required to understand the parameter, so the baseline of 3 applies.

    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 opens with 'Run the Shiftyasan solver on a shift scheduling request payload,' using a specific verb ('Run') and resource ('Shiftyasan solver') that clearly distinguishes it from sibling tools like validate_shift_input. The intent to actually solve a shift schedule is unmistakable.

    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 'Tip: call validate_shift_input first' gives an explicit alternative to use for validation before invoking this tool. It also states the synchronous behavior and mention of charging helps agents decide when to call it, though it does not explicitly mention when to use get_solve_job.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses that the tool is 'Free of charge (does not run the solver),' implying no side effects, and describes the return format: '{valid: true, ...summary} or an RFC 7807 problem detail.' This provides solid transparency, though it doesn't elaborate on potential errors or rate limits.

    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 three sentences, front-loaded with purpose, then usage guidance, and then return format. Every sentence earns its place with no redundancy or fluff.

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

    Completeness5/5

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

    Given the tool's simplicity (one parameter, no output schema), the description covers everything needed: purpose, usage, behavior, and return value. It points to the external schema for the full payload structure, making it complete for the target use case.

    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 already provides 100% coverage of the single parameter (`request`) with a detailed description pointing to the OpenAPI schema. The tool description adds no extra parameter-level meaning, so baseline 3 is appropriate.

    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's function: 'Validate a shift solver request payload against the Shiftyasan public API schema.' It uses a specific verb ('validate') and resource ('shift solver request'), and distinguishes itself from siblings by noting 'does not run the solver' and pointing to usage before `solve_shift`.

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

    Usage Guidelines5/5

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

    The description explicitly says when to use it: 'Use this before `solve_shift` to confirm the request shape is correct, especially when constructing the payload programmatically.' This names the alternative tool and provides clear contextual guidance.

    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-server MCP server

Copy to your README.md:

Score Badge

mcp-server 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/shiftyasan/mcp-server'

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