Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose. Potential overlaps (e.g., attach_emt vs load_model) are resolved by descriptions specifying different types of calculators. Similarly, build_structure vs load_structure, and the various start_* tools are differentiated by their specific computational tasks.

    Naming Consistency4/5

    Tools mostly follow a verb_noun pattern (e.g., build_structure, load_model, start_relaxation). A few exceptions like execute and introspect are verb-only, but overall the naming is predictable and well-organized with prefixes like get_, start_, load_.

    Tool Count5/5

    With 17 tools, the server covers the essential workflows for computational chemistry (structure handling, calculator setup, multiple simulation types, monitoring, and introspection) without being bloated. Each tool earns its place.

    Completeness5/5

    The tool set provides complete lifecycle coverage: structure creation/loading, calculator attachment, running various simulations (relaxation, MD, NEB, phonons, minima search), job control (steering, status, results), and introspection. No obvious gaps for typical usage.

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

    With no annotations provided, the description bears the full burden of disclosing behavioral traits. It only mentions the file format support (ASE-readable) but does not disclose potential errors, file size limits, or whether partial loading is supported (e.g., via 'index').

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that directly states the action and supported formats. No extraneous words.

    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 two parameters, no output schema, and no annotations, the description is too brief. It does not explain the 'index' parameter, return value, or error behavior, making it incomplete for an agent to use correctly in complex scenarios.

    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?

    The input schema has zero description coverage (0%), so the description must add meaning. It only mentions file types in the main description, but does not clarify the 'path' or 'index' parameters. The 'index' parameter (default '-1') is left unexplained—whether it selects a specific frame or uses last frame in a trajectory.

    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 action ('Load'), the resource ('a structure'), and the source ('from any ASE-readable file (cif, xyz, traj, POSCAR, ...)'). It distinguishes this tool from siblings like 'build_structure' (which constructs structures) and 'load_model' (which loads ML models).

    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 for loading structures from supported file formats, but does not explicitly specify when to use this tool over alternatives like 'build_structure' or 'load_model'. No exclusions or prerequisites are mentioned.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden. It only mentions an installation prerequisite and gives example model names. There is no disclosure of side effects, performance implications, or return format, which is minimal for behavioral transparency.

    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 sentence that conveys the core action, resource, and a key prerequisite. Every word adds value, with no fluff 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?

    Given no parameters and no output schema, the description is fairly complete for a simple listing tool. However, it could be enhanced by noting whether the list includes all available models or only those accessible, but it is adequate.

    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 no parameters, so the schema coverage is 100% trivially. Per guidelines, baseline score of 4 is appropriate as there is no need for additional parameter details.

    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 the resource 'FAIRChem pretrained models' with examples (UMA, eSEN). However, it does not explicitly differentiate from sibling tools like load_model, which is acceptable given the distinct action.

    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 includes a prerequisite ('if FAIRChem is installed'), which guides usage. But it lacks explicit when-to-use or when-not-to-use guidance compared to alternatives, leaving the agent to infer context.

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

  • 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 that the tool runs 'in the background' and that step_delay throttles steps, giving basic behavioral insight. However, it does not detail side effects, resource usage, blocking behavior, or what happens at the end of the run.

    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 concise with two sentences, front-loading the core action and immediately providing key detail about step_delay. No redundant or unnecessary information is present.

    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 tool has 7 parameters and no output schema or annotations, the description is too brief. It does not explain how to monitor the simulation (e.g., using get_status or get_results), what the return value is, or constraints like units. Important context for a complex simulation tool is missing.

    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 description adds meaning beyond the schema by explaining step_delay (throttling for observation) and implicitly listing possible ensemble values ('NVT Langevin or NVE'). With 0% schema coverage and 7 parameters, it adds value for two parameters but leaves the rest (structure_id, calculator_id, temperature_K, timestep_fs, steps) without additional context.

    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 'start' and the resource 'molecular dynamics', specifying the ensemble types ('NVT Langevin or NVE') and that it runs in the background. This distinguishes it from sibling tools like start_minima_search or start_relaxation, which are different simulation types.

    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 mentions step_delay to throttle steps for observation, providing some usage context, but lacks explicit guidance on when to use this tool versus alternatives (e.g., other start_* tools) or when to choose NVT vs NVE. It does not include exclusion criteria or prerequisites.

    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?

    The description discloses key behavioral traits: background execution, number of force evaluations (1 + 6*natoms), polling via get_status, and output from get_results. It also mentions the default supercell size. However, it does not cover potential side effects or authorization needs, but the nature of the tool suggests minimal risks.

    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 two sentences, front-loading the purpose and then providing behavior details. No unnecessary words; every sentence adds value. It is optimally concise.

    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 lack of output schema and annotation, the description covers the workflow and result types adequately. However, it omits explanations for required parameters (structure_id, calculator_id), which are essential for correct invocation. The description is partially complete.

    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?

    With 0% schema description coverage, the description only adds meaning for the supercell parameter (default [2,2,2]). It does not explain structure_id, calculator_id, delta, or step_delay, leaving agents without guidance on critical required parameters.

    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 starts a phonon calculation using the finite-displacement method, distinguishing it from other start_* tools. It specifies that it runs in the background and provides details on the calculation type and output.

    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 explicit guidance on when to use this tool versus alternatives like start_md or start_relaxation. The description implies usage for phonon calculations but does not provide context for when it is appropriate or contraindicated.

    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 provided, so description carries full burden. It discloses the data returned and the 'last_n' scope but lacks details on prerequisites, side effects, or whether the job must be completed.

    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?

    Single, front-loaded sentence with no redundant words. All information is essential and efficiently presented.

    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?

    For a simple two-parameter tool without output schema, the description covers purpose and one parameter partially, but omits return format, error conditions, and limits on 'last_n'. Adequate but not fully 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?

    Schema description coverage is 0%. Description adds meaning to 'last_n' by linking it to snapshots, but 'job_id' remains unexplained. Baseline is low, and description partially compensates.

    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?

    Description specifies a clear verb 'Return' and resource 'recent energy/force history of a job' with scope 'last_n snapshots', distinguishing it from sibling tools like get_results or get_status.

    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?

    No explicit when-to-use or when-not-to-use guidance, nor alternatives are mentioned. The context is implied by the name and description, but a definitive usage guideline is missing.

    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 bears full responsibility. It mentions 'fast' and 'no GPU/model needed', which implies lightweight behavior, but does not disclose potential side effects, state changes, or prerequisites beyond the metals list.

    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 two sentences, front-loads the core action, and contains no unnecessary words. Every sentence adds value.

    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 no parameters and no output schema, the description covers the tool's purpose and usage context adequately. It could mention that it attaches the calculator to a structure, but this is implicit from the sibling tool ecosystem.

    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 no parameters, so the schema coverage is 100% trivially. Per the guidelines, a baseline of 4 is applied since the description does not need to add parameter details.

    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 verb ('Attach') and resource ('fast EMT calculator'), and specifies the supported metals (Cu/Ag/Au/Ni/Pd/Pt/Al/Pb), effectively distinguishing it from siblings like 'load_model' or 'start_md' which involve different actions.

    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 provides context for when to use it ('quick tests', 'method development'), but lacks explicit guidance on when not to use it or alternatives among the sibling tools.

    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?

    Describes the shared namespace and stdout capture, but does not detail error handling, side effects on the namespace, or security implications beyond the trust warning. Without annotations, more behavioral context would be beneficial.

    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 concise sentences that front-load the core purpose, follow with context, and end with a usage caution. Every sentence adds value with no 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?

    Covers basic purpose, namespace sharing, and output, but given the tool's nature as an escape hatch, it leaves out important details such as how to reference existing objects, error recovery, and limitations. Adequate but not fully complete.

    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?

    The description does not elaborate on the 'code' parameter beyond the overall context of executing Python. Since schema coverage is 0%, the description should provide details on format, restrictions, or examples, but it does not.

    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?

    Clearly states that the tool executes Python code in a persistent session namespace, explicitly calling it an 'escape hatch' and contrasting with other tools. It specifies the resource and action without ambiguity.

    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?

    Provides a clear usage constraint ('Trusted local-dev use only'), which helps the agent decide when to invoke it. However, it does not explicitly list alternatives or when not to use, leaving some 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.

  • Behavior2/5

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

    No annotations provided; the description does not disclose potential side effects of evaluating arbitrary expressions, nor does it mention security or session state modifications.

    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 concise: two sentences and an example line, with no unnecessary words.

    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 single-parameter tool, the description explains the purpose, parameter, and return value (repr). Lacks details on error handling but is adequate.

    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 only parameter 'expr' has no schema description, but the tool description clarifies it is a Python expression evaluated in the session namespace, with concrete examples, adding significant meaning.

    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 the tool evaluates an expression in the session namespace and returns its repr, with clear examples. This distinguishes it from sibling tools like 'execute' or simulation tools.

    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 for quick expression evaluation but does not specify when to use this over 'execute' or other tools, nor when not to use it.

    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 provided; description lists output fields (status, step, etc.) but does not disclose side effects, permissions, or whether it is read-only. The term 'snapshot' suggests immutability, but not confirmed.

    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?

    Single sentence, 25 words, front-loaded with purpose and output list; no wasted words.

    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 status tool with one parameter, the description covers what it returns (with fields) and purpose, but lacks detail on return format or possible values (e.g., trend verdicts).

    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 coverage is 0% and description does not elaborate on the job_id parameter beyond its name. The meaning of job_id is implied but not explained.

    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?

    Description clearly states the tool gets a live snapshot of a job, listing specific fields (status, step, energy, max_force, trend) which distinguishes it from sibling tools like get_results or get_trajectory.

    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?

    Implies usage for decision-making ('decide whether to intervene'), but does not explicitly contrast with alternatives or state when not to use.

    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 explains the tool's read-only nature, return content (signature, docstring, members), and special trailing dot behavior. It omits error handling or performance notes, but is sufficiently transparent for a simple introspection 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?

    The description is a single structured paragraph with examples, front-loading the core purpose. It efficiently conveys key details, though could be slightly condensed without losing clarity.

    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 no output schema, the description mentions return values (signature, docstring, members) and the trailing dot completion feature. It does not address error cases or overlap with 'inspect_expr', but is largely complete for the tool's complexity.

    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?

    Schema has 0% description coverage, so the description fully compensates by explaining both parameters: 'target' with examples of static paths and live expressions, and 'live' boolean clarifying its effect. This adds significant meaning beyond the raw 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?

    The description clearly states the tool introspects code or live objects and returns signature, docstring, and members, with distinct static/live modes and trailing dot behavior. However, it does not distinguish itself from the sibling 'inspect_expr', which likely has overlapping functionality.

    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 provides context on when to use static vs live mode and mentions trailing dot for completions, but does not explicitly state when to use this tool over alternatives like 'inspect_expr' or give when-not-to-use guidance.

    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 must fully disclose behavioral traits. It details parameter mappings for each command but does not mention error states, side effects, or prerequisites (e.g., job must be running). This leaves some ambiguity about behavior in edge cases.

    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 relatively concise, with the first sentence stating the purpose and the second covering parameter details. It could be slightly more compact, but it efficiently communicates essential information without unnecessary 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 no annotations and no output schema, the description covers core functionality and parameter relationships. However, it lacks details on return values, error handling, and prerequisites (e.g., job must be running, valid job ID). This leaves gaps for an agent to fully understand the tool's 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?

    Despite 0% schema description coverage, the description compensates by explaining how 'command', 'value', and 'optimizer' parameters interact. It lists the specific values for 'command' and 'optimizer', and clarifies when 'value' is used. This adds significant meaning beyond the schema's minimal structure.

    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 purpose: 'Steer a running job mid-flight.' This uses a specific verb (steer) and resource (running job), and distinguishes it from sibling tools like start_* and get_* which handle starting or retrieving job 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 by listing the valid commands and their associated parameters. However, it does not explicitly state when not to use this tool or direct the user to alternative tools for other scenarios, missing exclusion guidance.

    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 provided, so description carries full burden. It mentions that adding 'rattle' perturbs positions, giving some behavioral context. However, it does not disclose side effects (e.g., overwriting existing structures), authentication requirements, 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?

    Description is concise: one introductory sentence plus examples. No wasted words. Front-loaded with purpose. Every sentence adds value.

    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 complexity (nested object spec, no output schema), description provides examples covering key kinds and optional rattle. It mentions 'register it' but does not explain return value or registration effect. Slightly incomplete, but mostly adequate.

    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?

    Schema has 0% description coverage, but description compensates with detailed examples showing valid spec structures (kind, name, crystalstructure, etc.). This adds substantial meaning beyond the empty object schema, guiding correct parameter usage.

    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?

    Description clearly states 'Build an ASE structure from a declarative spec and register it', specifying verb, resource, and action. This distinguishes it from siblings like load_structure (load existing) and start_relaxation (run relaxation).

    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?

    Description provides examples for bulk, molecule, surface kinds, showing usage context. However, it does not explicitly state when to use this tool versus alternatives, nor specify when not to use it (e.g., if structure already exists).

    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 provided, so description carries full burden. It discloses that results are final, may be empty if none, and are only available after job completion. Could mention mutability or side effects, but none expected.

    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?

    Single sentence with list of result types is efficient and front-loaded. Minor improvement possible by separating examples into a bulleted list.

    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?

    Lists result types despite no output schema and gives timing condition. Missing failure behavior or clarification that no results means job might not have produced them. Adequate for a simple retrieval tool.

    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?

    Single parameter 'job_id' has no schema description coverage. Description adds no extra meaning beyond the schema's title 'Job Id'. Baseline for 1 param with 0% coverage is acceptable but uninspired.

    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?

    Description clearly states it returns final job results (NEB barrier/energies, phonon frequencies/stability) and uses specific verbs 'Return' and 'None until job finishes', distinguishing it from siblings like get_status or get_trajectory.

    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?

    Implicitly indicates usage after job completion via 'None until the job finishes', but does not explicitly state when not to use or compare to alternatives like get_status.

    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 async behavior (returns immediately), background operation, and controls like relax_cell and step_delay. It does not disclose error handling or authentication needs, but key behavioral traits are conveyed.

    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 two sentences, front-loaded with the main action. Every sentence provides essential information without waste, earning its place.

    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 7 parameters, async nature, and no output schema, the description covers the main workflow (background, polling, steering) but omits error conditions, valid inputs for calculator_id, and return structure. Adequate but with clear gaps.

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

    Parameters3/5

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

    Schema coverage is 0%, so description must add meaning. It explicitly describes relax_cell and step_delay, but misses descriptions for structure_id, calculator_id, optimizer, fmax, and steps. Partial coverage adds some value but leaves gaps.

    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 starts a geometry optimization in the background and returns immediately, using specific verb and resource. It distinguishes from sibling tools like steer and get_status by implying this is the initiation action.

    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 by mentioning to poll get_status for progress and use steer() for modifications, but does not explicitly state when to use this tool versus alternatives like start_md or start_minima_search.

    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 full burden. It states the model is 'kept resident in memory,' which is a key behavioral detail. It also mentions the return type (calculator_id). No annotation contradiction exists.

    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 with no wasted words. Front-loaded with the core action, then adds parameter context and return value usage. Highly efficient.

    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?

    Covers purpose, task options, memory residency, and return value linking to downstream tools. Missing explanation for model and device parameters, but given the tool's simplicity, it is fairly 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 description explains the 'task' parameter by listing valid domains, but does not explain 'model' or 'device' beyond defaults in the schema. Schema coverage is 0%, so the description partially compensates but leaves gaps.

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

    Purpose5/5

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

    The description uses a specific verb ('Load') and resource ('FAIRChem model as an ASE calculator'). It distinguishes from sibling tools like list_models and start_relaxation by focusing on the loading step and noting the output is a calculator_id for simulation tools.

    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 tells users to pass the returned calculator_id to start_relaxation/start_md, but does not explicitly exclude alternative uses or mention when not to use this tool. It provides clear context for its role in the workflow.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses that the tool runs in the background, is steerable with specific commands (pause/resume/abort/set_fmax/switch_optimizer/set_climb), and that get_results returns forward/reverse barriers and image energies.

    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 front-load the core purpose, then add steerability and output details. No redundant words; each sentence adds value.

    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 10 parameters, no output schema, and no annotations, the description covers high-level behavior but lacks parameter details for most inputs. Missing explanation of required parameters (initial_id, final_id, calculator_id) and their roles.

    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 description must explain parameters. Only nimages and climb are explained; the other 8 parameters (optimizer, fmax, steps, interpolation, step_delay, etc.) are not described, leaving significant gaps.

    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?

    Description clearly states it starts a nudged elastic band calculation for reaction barriers between two endpoints, with explicit mention of key parameter nimages. Distinguishes from sibling tools like start_relaxation and start_md by specifying the NEB context.

    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?

    Description indicates this tool is for barrier calculations and compares its steerability to relaxations, but does not explicitly state when to use it over alternatives or provide exclusion criteria.

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

  • Behavior5/5

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

    Despite lacking annotations, the description extensively discloses behavioral traits: biased PES, kernel types ('flooding'/'deflation'), deduplication logic, asynchronous polling, and steerability. This fully informs the agent of 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 a single paragraph of 5 substantive sentences, front-loading the purpose. It is concise with no wasted words, though it could be structured with bullet points for clarity.

    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 complexity (13 parameters, no output schema, no annotations), the description covers the algorithm, key parameters, and usage flow well. Minor gaps in parameter details prevent a perfect score.

    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 description adds meaning to several parameters (kernel, sigma, amplitude, energy_tol, rmsd_tol, fmax, optimizer) but omits details for many others (structure_id, calculator_id, steps, patience, step_delay). With 0% schema coverage, more complete parameter explanation would be beneficial.

    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 'Search for multiple distinct relaxed geometries (local minima of the PES)', using a specific verb and resource that distinguishes it from sibling tools like start_relaxation (single relaxation) or start_md (dynamics).

    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 on the tool's function (multiple minima search, asynchronous polling) but does not explicitly state when to use it over alternatives like start_relaxation. However, the purpose is clear enough to infer usage.

    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

fairchem-mcp MCP server

Copy to your README.md:

Score Badge

fairchem-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/jkitchin/fairchem-mcp'

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