Skip to main content
Glama
michaelkrasa

Alpha ESS MCP Server

by michaelkrasa

Server Quality Checklist

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

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. Authentication, data retrieval (statistical, real-time, daily), configuration management (charge/discharge), and system listing are all well-separated. The descriptions clearly differentiate between energy data, power data, and configuration operations.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with clear, descriptive names. The naming convention is uniform throughout: authenticate_alphaess, get_alpha_ess_data, get_charge_config, get_discharge_config, get_ess_list, get_last_power_data, get_one_date_energy_data, get_one_day_power_data, set_battery_charge, set_battery_discharge.

    Tool Count5/5

    With 10 tools, this is well-scoped for an energy management system. Each tool earns its place by covering essential operations: authentication, system listing, data retrieval (statistical, real-time, daily), and configuration management (charge/discharge). The count aligns perfectly with the domain's needs.

    Completeness5/5

    The tool surface provides complete CRUD/lifecycle coverage for Alpha ESS energy systems. It includes authentication, system discovery, comprehensive data retrieval (statistical, real-time, daily), and full configuration management for both charging and discharging. There are no obvious gaps that would hinder agent workflows.

  • Average 3.9/5 across 10 of 10 tools scored. Lowest: 3.1/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 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?

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns energy data with success status and system information, which is helpful, but lacks details on authentication requirements, rate limits, error handling, or data freshness. For a tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior.

    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 main purpose stated clearly in the first sentence. The second sentence adds value by describing the return format. Both sentences earn their place, and there's no unnecessary repetition or fluff, making it efficient for an agent 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 the tool has no parameters, an output schema exists, and annotations are absent, the description is moderately complete. It explains what data is retrieved and the return structure, but it lacks context on authentication needs (implied by sibling 'authenticate_alphaess') and doesn't differentiate from similar tools. For a tool with no inputs and an output schema, this is adequate but could be more comprehensive.

    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 has 0 parameters, and schema description coverage is 100%, so the schema fully documents the absence of inputs. The description doesn't need to add parameter semantics, and it appropriately avoids discussing inputs. This meets the baseline for tools with no parameters, as there's nothing to compensate for.

    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 statistical energy data for all registered Alpha ESS systems.' It specifies the verb ('Get'), resource ('statistical energy data'), and scope ('all registered Alpha ESS systems'), making it easy to understand what the tool does. However, it doesn't explicitly distinguish this tool from siblings like 'get_ess_list' or 'get_last_power_data', which might also retrieve system-related data.

    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 doesn't mention prerequisites (e.g., authentication via 'authenticate_alphaess'), exclusions, or comparisons to siblings like 'get_one_date_energy_data' or 'get_one_day_power_data'. Without such context, an agent might struggle to select the right tool for specific scenarios.

    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 mentions 'auto-selection logic' and 'enhanced system information', which adds some context about what the tool does beyond basic listing. However, it fails to disclose critical behavioral traits such as whether this requires authentication (unlike 'authenticate_alphaess'), rate limits, error handling, or what 'auto-selection' entails operationally. The description is too vague about 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.

    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 action, detailing the return content, and specifying the return type. It is front-loaded with the core purpose. There is minimal waste, though the 'Returns:' label is slightly redundant.

    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 0 parameters, an output schema exists, and no annotations are provided, the description is moderately complete. It explains the tool's purpose and return value, which the output schema will detail further. However, for a tool with 'auto-selection logic' and in a context with multiple sibling tools, more guidance on usage and behavior would improve completeness, especially since annotations are absent.

    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 has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description adds no parameter information, which is appropriate here. The baseline for 0 parameters is 4, as no compensation is needed, and the description doesn't introduce confusion about parameters.

    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 ('Get') and resource ('list of registered Alpha ESS systems'), making the purpose understandable. It distinguishes from siblings by mentioning 'auto-selection logic' and 'enhanced system information', which differentiates it from simpler data retrieval tools like 'get_alpha_ess_data'. However, it doesn't explicitly contrast with all siblings, 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 like 'get_alpha_ess_data' or 'get_last_power_data'. It mentions 'auto-selection logic' but doesn't explain when this is beneficial or what scenarios warrant its use. No exclusions or prerequisites are stated, leaving the agent with minimal usage context.

    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 burden. It discloses the core behavior (authentication and validation) and return type (dict with success status and message), which is helpful. However, it doesn't mention potential side effects (e.g., session creation), error conditions, or rate limits, leaving some behavioral aspects unclear.

    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 and well-structured: one sentence for the purpose and one for the return value. Every sentence earns its place, with no wasted words. It's appropriately sized for a simple authentication 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 the tool's low complexity (0 parameters, authentication-only), the description is reasonably complete. It explains what the tool does and what it returns. With an output schema present, it doesn't need to detail return values further. However, it could benefit from mentioning prerequisites (e.g., required credentials) or error handling for a more complete context.

    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 has 0 parameters, and schema description coverage is 100%. The description doesn't need to add parameter semantics beyond what the schema provides (none). A baseline of 4 is appropriate for zero-parameter tools, as there's no parameter documentation burden.

    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: 'Authenticate with the Alpha ESS Open API to validate credentials.' It specifies the verb ('authenticate') and resource ('Alpha ESS Open API'), and distinguishes it from sibling tools which are all data retrieval or configuration tools. However, it doesn't explicitly differentiate from potential alternative authentication methods, keeping it at 4 rather than 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 (authentication for API access) but doesn't explicitly state when to use this tool versus alternatives. Given that all sibling tools are data/configuration operations, it's reasonable to infer this should be used first for credential validation, but this isn't explicitly stated. No misleading guidance is present.

    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 provided, the description carries the full burden of behavioral disclosure. It describes the return format ('structured configuration with clear period definitions and status') and the auto-selection behavior for missing serials, which are useful. However, it lacks details on error handling, rate limits, or authentication requirements, leaving gaps for a mutation-free but context-sensitive 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 appropriately sized and front-loaded: the first sentence states the core purpose, followed by key behavioral details and parameter explanations. 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.

    Completeness4/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 (1 optional parameter) and the presence of an output schema (which handles return values), the description is largely complete. It covers purpose, usage guidelines, and parameter semantics adequately. However, it could benefit from mentioning authentication needs or error cases, slightly reducing completeness.

    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 description adds significant meaning beyond the input schema, which has 0% description coverage. It explains that 'serial' is optional and clarifies its purpose ('The serial number of the Alpha ESS system') and the auto-selection logic when omitted. This compensates well for the schema's lack of documentation, though it doesn't detail format constraints like serial length or patterns.

    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 battery charging configuration for a specific Alpha ESS system.' It specifies the verb ('Get') and resource ('battery charging configuration'), and distinguishes it from siblings like 'get_discharge_config' and 'set_battery_charge'. However, it doesn't explicitly differentiate from 'get_alpha_ess_data' or 'get_ess_list', which might also retrieve system data, so it's not 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 Guidelines4/5

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

    The description provides clear context for usage: 'If no serial provided, auto-selects if only one system exists.' This guides when to omit the parameter. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_discharge_config' or other data retrieval tools, nor does it mention prerequisites such as authentication, so it's not a full 5.

    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 burden. It discloses key behavioral traits: it's a read operation ('Get'), returns structured configuration, and has auto-selection logic for the serial parameter. However, it lacks details on permissions, rate limits, error handling, or what happens if multiple systems exist without a serial, leaving gaps in 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?

    The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by key behavioral details and parameter/return info. Every sentence adds value, with no wasted words, making it efficient and easy to parse for an AI agent.

    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 the tool's moderate complexity (1 optional parameter) and the presence of an output schema (which handles return values), the description is largely complete. It covers purpose, usage guidelines, and parameter semantics adequately. However, without annotations, it could benefit from more behavioral details like error cases or system prerequisites.

    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 description adds meaningful semantics beyond the input schema, which has 0% coverage. It explains that 'serial' is optional, specifies it's 'The serial number of the Alpha ESS system,' and describes the auto-selection behavior when omitted. This compensates well for the low schema coverage, though it doesn't detail format constraints like length or pattern.

    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 battery discharge configuration for a specific Alpha ESS system.' It specifies the verb ('Get') and resource ('battery discharge configuration'), distinguishing it from siblings like 'get_charge_config' or 'get_alpha_ess_data.' However, it doesn't explicitly differentiate from 'set_battery_discharge,' which is a write operation, though this is implied by the 'Get' verb.

    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 for usage: 'If no serial provided, auto-selects if only one system exists.' This guides when to omit the parameter. It doesn't explicitly mention when not to use this tool or name alternatives among siblings, but the context implies it's for read-only configuration retrieval, not for setting or other data types.

    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 provided, the description carries the full burden. It discloses key behavioral traits: returns structured snapshot with clear field names/units, and auto-selects system if only one exists when serial is omitted. However, it doesn't mention rate limits, authentication requirements (implied by authenticate_alphaess sibling), or error handling for multiple systems without serial.

    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 structured and concise: purpose statement first, return format second, parameter behavior third. Every sentence earns its place with no wasted words. The Args/Returns sections are clear and appropriately brief.

    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 the tool has an output schema (so return values are documented elsewhere), no annotations, and simple parameters, the description is quite complete. It covers purpose, usage context, parameter semantics, and return format. The only minor gap is not explicitly mentioning authentication requirements, though this is somewhat implied by the sibling tools.

    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 adds meaningful context for the single parameter: explains that 'serial' is optional, identifies it as the system serial number, and describes the auto-selection behavior when omitted. This goes well beyond the bare schema, though it doesn't specify format constraints (e.g., length, pattern).

    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 specific action ('Get the latest real-time power data') and resource ('for a specific Alpha ESS system'), distinguishing it from siblings like get_one_day_power_data (which likely retrieves historical data) and get_alpha_ess_data (which is more generic). The verb+resource combination is precise and unambiguous.

    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 for when to use this tool: for real-time power data, with optional serial parameter that auto-selects if only one system exists. However, it doesn't explicitly state when NOT to use it (e.g., vs. get_one_day_power_data for historical data) or name specific alternatives, keeping it from a perfect score.

    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 full burden. It discloses the auto-selection behavior for the serial parameter, which is useful context beyond basic functionality. However, it lacks details on authentication needs, error handling, rate limits, or data format specifics.

    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?

    Three sentences with zero waste: purpose statement, parameter behavior, and return value. Each sentence adds essential information, and the structure is front-loaded with the core functionality.

    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 2 parameters, no annotations, and an output schema exists (so return values are documented elsewhere), the description is reasonably complete. It covers purpose, parameter semantics, and basic behavior, but could improve by mentioning authentication prerequisites or error cases.

    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 adds meaning by specifying the date format (YYYY-MM-DD) and explaining the optional serial's auto-selection logic. This covers both parameters adequately, though it doesn't detail constraints like valid date ranges.

    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 verb 'Get' and resource 'energy data', specifies the scope 'for a specific date and Alpha ESS system', and distinguishes from siblings like 'get_alpha_ess_data' (general) and 'get_one_day_power_data' (power vs energy).

    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 about auto-selection when no serial is provided and only one system exists, which helps determine when to omit the optional parameter. However, it doesn't explicitly state when to use this tool versus alternatives like 'get_alpha_ess_data' or 'get_one_day_power_data'.

    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 provided, the description carries the full burden of behavioral disclosure. It describes the configuration update behavior and mentions the auto-selection logic for serial numbers, which is useful context. However, it doesn't address important behavioral aspects like whether this requires authentication, what permissions are needed, whether changes are reversible, or any rate limits or side effects.

    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 purpose statement followed by organized parameter documentation. Every sentence earns its place, though the formatting with 'Args:' and 'Returns:' sections could be slightly more concise. The information is front-loaded with the core purpose stated first.

    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 the complexity of a 7-parameter configuration tool with no annotations, the description does well by explaining all parameters and mentioning the return type. However, for a mutation tool that changes system behavior, it should ideally mention authentication requirements or permission prerequisites. The existence of an output schema reduces the need to fully document return values.

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

    Parameters5/5

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

    With 0% schema description coverage, the description fully compensates by providing detailed semantic information for all 7 parameters. It explains what each parameter means, provides format constraints (HH:MM with specific minute values), value ranges (0-100 for charge_cutoff_soc), and clarifies which parameters are optional (serial). This adds significant value beyond the bare schema.

    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 verb 'Set' and resource 'battery charging configuration for a specific Alpha ESS system', making the purpose specific and actionable. It distinguishes from sibling tools like 'set_battery_discharge' by focusing on charging rather than discharging.

    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 for when to use this tool: to configure battery charging settings for an Alpha ESS system. It includes the helpful detail about auto-selecting the system if only one exists when no serial is provided. However, it doesn't explicitly mention when NOT to use it or alternatives like 'set_battery_discharge' for discharge configuration.

    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 provided, the description carries the full burden of behavioral disclosure. It describes the mutation action ('Set'), the auto-selection fallback behavior, and the return format ('dict: Result of discharge configuration update'). However, it lacks details about permissions needed, whether changes are reversible, rate limits, or error conditions that would help an agent use it safely.

    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 purpose statement followed by organized parameter explanations and return value documentation. Every sentence adds value, though the parameter explanations could be slightly more concise by grouping format requirements rather than repeating them for each time parameter.

    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 the complexity of a 7-parameter mutation tool with no annotations, the description provides substantial context: purpose, parameter semantics, return format, and system selection logic. The existence of an output schema reduces the need to fully document return values. However, it could better address behavioral aspects like error handling or prerequisites.

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

    Parameters5/5

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

    With 0% schema description coverage, the description fully compensates by providing detailed semantics for all 7 parameters. It explains what each parameter controls, format requirements (HH:MM with specific minute increments), value ranges (0-100 for discharge_cutoff_soc), and the optional nature of the serial parameter with its auto-selection 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 clearly states the specific action ('Set battery discharge configuration') and resource ('for a specific Alpha ESS system'), distinguishing it from sibling tools like 'get_discharge_config' (read-only) and 'set_battery_charge' (different configuration type). It uses precise terminology that avoids tautology.

    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 for when to use this tool (configuring battery discharge) and includes implicit guidance about the optional serial parameter (auto-selects if only one system exists). However, it doesn't explicitly state when NOT to use it or name alternatives like 'get_discharge_config' for checking current settings.

    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 full burden and does well by disclosing key behavioral traits: the auto-select behavior when only one system exists, the structured timeseries format with hourly intervals, and inclusion of summary statistics. It doesn't mention rate limits, authentication requirements, or error conditions, but provides substantial 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.

    Conciseness5/5

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

    The description is perfectly structured and concise: purpose statement first, output format second, behavioral note third, then parameter documentation. Every sentence earns its place with zero waste. The Args/Returns sections are clearly delineated but not redundant.

    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 moderate complexity (2 parameters, no annotations, but has output schema), the description is complete enough. It explains what the tool does, when to use it, parameter semantics, and output characteristics. The output schema exists, so the description doesn't need to detail return values beyond the high-level 'Enhanced response with structured timeseries data and analytics' note.

    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 description coverage is 0%, so the description must compensate. It successfully adds meaning for both parameters: specifying the date format (YYYY-MM-DD) for query_date and explaining that serial is optional with auto-selection behavior when omitted. This provides crucial semantic information beyond the bare schema.

    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 specific action ('Get one day's power data'), target resource ('Alpha ESS system'), and output format ('structured timeseries data with hourly intervals and summary statistics'). It distinguishes from siblings like 'get_last_power_data' by specifying daily granularity and from 'get_one_date_energy_data' by focusing on power rather than energy data.

    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 for when to use this tool: for retrieving power data for a specific date and system. It mentions the auto-select behavior when no serial is provided, which is helpful guidance. However, it doesn't explicitly state when NOT to use it or name alternatives among siblings like 'get_last_power_data' for recent data.

    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

alpha-ess-mcp-server MCP server

Copy to your README.md:

Score Badge

alpha-ess-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/michaelkrasa/alpha-ess-mcp-server'

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