Skip to main content
Glama
HeptaneL

stardew-mcp-server

by HeptaneL

Server Quality Checklist

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

  • Disambiguation4/5

    Tools are mostly distinct by scope (today, specific day, week, season), but get_todays_events overlaps with get_events_on_day for the current date. Similarly, get_week_birthdays overlaps with get_birthdays_on_day and get_month_calendar for birthday data.

    Naming Consistency5/5

    All tools use lower_snake_case with a verb-first pattern (check_health, get_*). The only deviation is check_health versus the get_ prefix, but it still follows verb_noun and is appropriate for a health check.

    Tool Count5/5

    7 tools is well-suited for a focused calendar/event lookup server. Each tool covers a distinct granularity or health check without bloat.

    Completeness4/5

    Covers current date, today's events, day/week birthdays, day events, and full season calendar, which satisfies most calendar queries. Minor gaps exist for event details like time/location or week-level all-event queries, but the core surface is solid.

  • Average 3.7/5 across 7 of 7 tools scored.

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

    • No community issues in the last 6 months
    • 5 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
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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

  • Behavior3/5

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

    No annotations are provided, so the description carries the disclosure burden. It does signal that this is a read/query of game calendar data and enumerates the categories of events returned, which is useful, but it says nothing about ordering, empty results, or scope limits beyond the stated season/day.

    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 front-loaded sentence with the action first and the returned event categories parenthetically listed. 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 two-parameter read-only lookup with an output schema, the description is nearly sufficient: it names the resource, scope, and returned categories. It stops short of full marks only because it does not differentiate itself from the calendar siblings that overlap in purpose.

    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 coverage is 50%: 'day' is documented (1-28) and 'season' is an enum. The description only restates that a season and date are supplied, adding no format or constraint detail beyond the schema. Baseline 3 is appropriate since the schema covers most of the semantics.

    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?

    States a specific verb (查询/query) and resource (events on a day), and enumerates the event categories returned (festivals, passive festivals, fishing derby, bookseller, birthdays). This clearly distinguishes it from a plain birthday lookup, though it does not explicitly name the sibling get_todays_events or get_birthdays_on_day to route the agent.

    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?

    There is no when-to-use guidance and no mention of alternatives. With siblings like get_todays_events and get_birthdays_on_day, the description should clarify that this tool takes an arbitrary season+day rather than only the current date, but it leaves that inference to the agent.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It discloses the default-parameter behavior (current season), which is useful, but says nothing about whether this is a read-only operation, rate limits, or auth requirements. The 'get_' prefix and the existence of an output schema imply a read, but this is left to inference.

    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?

    A single efficient sentence that front-loads the resource and scope before the default-behavior clause. No filler, though it is terse enough to leave adjacent questions unanswered.

    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?

    An output schema exists, so return values need not be described. The description covers scope and default but omits any routing against the six sibling tools, which is the main remaining ambiguity for an agent choosing among calendar/event retrievals.

    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 key semantic that omitting 'season' yields the current season, which the schema's bare 'default: null' does not convey, but it does not explain the enum values beyond what the schema lists.

    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?

    States a specific verb+resource: retrieve the full calendar for a season (28 days). The scope quantifier '(28 days)' is helpful, though the tool name 'get_month_calendar' conflicts with the description's 'season' framing, which could cause momentary confusion about the exact span.

    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 documents the default behavior when 'season' is omitted (defaults to the current season), which is implied usage guidance. It does not, however, say when this tool should be used instead of siblings like get_week_birthdays or get_events_on_day.

    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, and it discloses nothing beyond the content categories. It does not state that this is a read-only lookup, whether results are sorted, whether it reflects a timezone, or how the enumerated categories are returned. For a zero-parameter read tool the omission is tolerable but still a 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?

    One short sentence that front-loads the verb and scope and then lists the covered categories without padding. It is efficiently sized, though the scope qualifier could precede the category enumeration more explicitly.

    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?

    With an output schema present, the description needn't explain return values, and the zero-parameter surface means little call syntax is required. What remains missing is routing guidance relative to the sibling get_events_on_day, but the tool is otherwise complete for its low complexity.

    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 tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool applies. The description's category list is the only semantic content needed and it is present.

    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?

    States a specific verb and resource with the scope fixed to 'today', and enumerates the included event categories (birthdays, holidays, passive holidays, fishing tournaments, booksellers). It doesn't explicitly name the near-sibling get_events_on_day, but 'today' is a clear scope signal that separates it from the date-parameterized alternatives.

    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 word 'today' implies the usage context, so an agent can infer this is the shortcut when no date argument is needed. However, it never states when to prefer this over get_events_on_day or get_birthdays_on_day, nor any exclusions, leaving the routing decision to inference.

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

  • 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 disclosure burden. It is a read-only lookup by nature, but the description does not state that, nor does it cover failure modes (e.g., what happens for an invalid or empty day), leaving a gap for an unannotated 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?

    A single front-loaded sentence with no filler. It is appropriately sized for a simple two-parameter query, though it sacrifices some clarification that a slightly longer description could provide.

    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 two-parameter read tool with an output schema, the description is nearly sufficient; return values need not be explained because the output schema covers them. The season enum documentation gap is the main remaining hole.

    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 50%: the day parameter has a documented 1-28 range, while the season enum lacks any description of its values. The description only restates the parameters at a high level and adds no syntax, format, or constraint detail beyond the schema.

    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?

    States a specific verb (查询) and resource (村民生日) scoped to a season and day, so the agent can distinguish it from the sibling get_week_birthdays at the level of time granularity. It is clear but does not explicitly name the week-level sibling as the alternative.

    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 (when a specific season+day pair is known), and the sibling get_week_birthdays hints at the complement, but no explicit when-to-use or when-not-to-use guidance is given. Adequate but with a clear gap.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It does disclose the two things checked (service liveness, save loaded), which is genuine behavioral context, but says nothing about failure modes, timeouts, or whether it requires the mod to be running.

    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?

    One economical sentence covering both checks with no filler and the primary check 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?

    An output schema exists, so return values need not be explained, and the tool is trivially parameterized. The only gap is behavioral guidance around failure handling, which is minor for a simple probe.

    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 tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-arg tool 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?

    States a specific verb (check) and two concrete resources: the mod's HTTP service being online and whether the save has been loaded. This is plainly distinct from the date/event siblings, so an agent can identify it without opening the schema.

    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 health-check nature implies it should be called before relying on the other tools, but the description never says when to use it, when to skip it, or what to do if it fails. Usage is inferable rather than stated.

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

  • Behavior3/5

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

    No annotations exist, so the description must carry behavioral disclosure. It states the default filtering behavior (include_past=false returns today and later), which is useful, but it does not mention read-only nature, permissions, or error 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?

    Two sentences plus a compact Args section. Purpose is front-loaded and there is no redundant text.

    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 low complexity (one boolean parameter) and the presence of an output schema, the description provides everything needed to call the tool: purpose, scope, and parameter behavior. No critical 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?

    Schema description coverage is 0%, so the description must explain include_past. It does: 是否包含本周已经过去的日子,默认只返回今天及之后. This fully clarifies the parameter's semantics and default behavior.

    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 states a specific verb (获取) and resource (本周村民生日列表), and defines the week scope (游戏内周,周一到周日), which inherently differentiates it from day- or month-scoped siblings like get_birthdays_on_day and get_month_calendar.

    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 gives clear context (this week's birthdays, default excludes past days) but does not explicitly name alternatives or state when not to use it. Usage is implied from the scope, not spelled out.

    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?

    No annotations are provided, so the description carries the full burden. It discloses the returned information types (date, season, day-of-week), which is useful behavioral context. It still doesn't mention whether the result is cached or reflects a specific game state, but for a simple read-only query this is reasonably transparent.

    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, front-loaded sentence that delivers all necessary information without any filler or redundancy. It's appropriately sized for a zero-parameter query tool.

    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?

    Given that there is an output schema (which likely documents the return fields) and no parameters, the description is nearly complete. It clearly states what is retrieved, though it doesn't explicitly note the read-only nature or that the output schema defines the exact structure.

    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?

    There are zero parameters, so parameter semantics is not applicable and the baseline is 4. The description properly avoids discussing parameters and focuses on the output instead.

    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 states a specific verb+resource: it retrieves the in-game current date, season, and day-of-week. This clearly distinguishes it from siblings like get_todays_events or get_month_calendar, which focus on events or calendars rather than raw date/time state.

    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: use this when you need the current in-game temporal context. However, the description provides no explicit when-to-use guidance, no exclusions, and no named alternatives, leaving the agent to infer that get_todays_events is for events rather than the base date.

    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

stardew-mcp-server MCP server – quality and maintenance score on Glama

Copy to your README.md:

Score Badge

stardew-mcp-server MCP server – quality and maintenance score on Glama

Copy to your README.md: