Skip to main content
Glama

Mol-MCP: Computational Chemistry Interfaces for LLMs

WARNING

This project is a work in progress!

MolMCP is a modular set of interfaces for chemistry workflows. It provides a flexible architecture for building, configuring, and running agents and tools for chemical operatations.

Features

  • Modular agent and tool system

  • Extensible via configuration and plugins

  • Designed for quantum chemistry and molecular computation

Related MCP server: ChemMCP

Project Structure

src/
  molmcp/           # Main package
    agents/         # Agent servers
    tools/          # Tool servers
tests/              # Test suite
pyproject.toml      # Project metadata and dependencies
README.md           # Project documentation

Usage

Tools

uvx --from git+https://github.com/lukasmki/mol-mcp mol-mcp serve --help

Chat TUI

To use the built-in interactive agent with mol-mcp tools,

uv run mol-mcp go

Currently, the interactive agent is setup to use the Anthropic API. If you want to use another, take a look at the src/molmcp/agents/interactive.py script for an example of using fast-agent.

Installation

Install uv

# macOS
brew install uv

# Linux/WSL2  
curl -LsSf https://astral.sh/uv/install.sh | sh

The calc and geometry servers depend on tblite and require a Fortran compiler to complete installation.

# macOS
brew install gfortran

# Linux/WSL2
sudo apt install gfortran

In your project directory, install with uv

uv add git+https://github.com/lukasmki/mol-mcp

or

uv pip install git+https://github.com/lukasmki/mol-mcp

You can also run it as a uv tool outside of a project!

uvx --from git+https://github.com/lukasmki/mol-mcp mol-mcp serve --help

or install it to use it anywhere

uv tool install --from git+https://github.com/lukasmki/mol-mcp
mol-mcp serve --help

Easy Install with uvx: MCP-JSON Supporting Clients

Add the server into your MCP config:

{
    "mcpServers": {
        "MolMCP": {
            "command": "uvx",
            "args": [
                "-from",
                "git+https://github.com/lukasmki/mol-mcp",
                "mol-mcp",
                "serve",
                "smiles",
                "geometry",
            ]
        }
    }
}

On Windows with WSL2,

{
    "mcpServers": {
        "MolMCP": {
            "command": "wsl",
            "args": [
                "--shell_type",
                "login",
                "uvx",
                "-from",
                "git+https://github.com/lukasmki/mol-mcp",
                "mol-mcp",
                "serve",
                "smiles",
                "geometry",
            ]
        }
    }
}

Development Install

Clone the repository.

{
    "mcpServers": {
        "MolMCP": {
            "command": "uv",
            "args": [
                "run",
                "--project",
                "/path/to/mol-mcp",
                "mol-mcp",
                "serve",
                "smiles",
                "geometry",
            ]
        }
    }
}

On Windows with WSL2,

{
    "mcpServers": {
        "MolMCP": {
            "command": "wsl",
            "args": [
                "--shell_type",
                "login",
                "uv",
                "run",
                "--project",
                "/path/to/mol-mcp",
                "mol-mcp"
                "serve",
                "smiles",
                "geometry",
            ]
        }
    }
}

Contributing

Contributions are welcome! Please open issues or submit pull requests for bug fixes, new features, or improvements.

License

This project is licensed under the MIT License.

Available Tools

9 tools
geometry_buildC

Generates a geometry for the input SMILES

ParametersJSON Schema
NameRequiredDescriptionDefault
formatYesOutput file format (default: pdb)
smilesYesSMILES
output_fileYesURI to coordinate output file (must be within root path)

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYes
successYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It fails to disclose that the tool writes to an output file, any destructive behavior, computational cost, or authorization needs. The description is too brief.

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 sentence with no wasted words. It is front-loaded with the core function. However, it could be slightly expanded without losing conciseness.

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 no annotations and required output file, the description does not mention output format restrictions, file path constraints (although schema says 'must be within root path'), or any side effects. An output schema exists, so return values are covered, but behavioral context is lacking.

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 100%, so the schema itself documents all parameters. The description adds minimal extra meaning beyond 'for the input SMILES'. Baseline 3 is appropriate.

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 'generates' and the resource 'geometry' for a SMILES input. It distinguishes from sibling tools like geometry_optimize (optimizes existing geometry) and SMILES tools (query/manipulate SMILES strings), though 'geometry' could be more explicitly '3D molecular geometry'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like geometry_optimize or SMILES tools. There is no mention of prerequisites, such as needing a valid SMILES or that geometry_optimize might follow.

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

geometry_optimizeC

Optimize the input geometry using xTB

ParametersJSON Schema
NameRequiredDescriptionDefault
input_fileYesURI to coordinates input file
output_fileYesURI to coordinate output file

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYes
successYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It fails to disclose behavioral traits such as side effects, performance implications, error conditions, or what the optimization process entails beyond the name.

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 sentence with no extraneous information. It is efficient, though it may be too brief for complete understanding.

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 2 required parameters, high schema coverage, and existence of an output schema, the description is minimally adequate. However, it lacks context about the optimization algorithm (xTB) and any prerequisites.

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 100%, and both parameter descriptions are clear (URI to input/output). The description adds no additional meaning beyond the schema, so a baseline of 3 is appropriate.

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 'optimize' and the resource 'geometry', and specifies the method 'using xTB'. However, it does not distinguish from the sibling tool 'geometry_build', which likely performs a different operation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., geometry_build). There is no context about prerequisites, input/output formats, or typical use cases.

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

smiles_has_substructureA

Check if SMILES contains SMARTS pattern substructure

ParametersJSON Schema
NameRequiredDescriptionDefault
molYes
target_smartsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It accurately describes a substructure check but omits edge cases (e.g., stereochemistry, tautomer handling). The behavior is straightforward and adequate for a simple boolean 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?

Single sentence with no redundancy. Every word adds value, and the structure is front-loaded and clear.

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?

The tool is simple, has an output schema, and the description suffices for basic understanding. However, given the presence of sibling tools, a brief note on typical use cases would improve completeness.

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%, but the parameter names (mol, target_smarts) and types (SmilesStr, SmartsStr) are self-explanatory. The description adds minimal extra meaning beyond repeating 'SMILES' and 'SMARTS pattern'. Baseline is low due to zero coverage, but the parameters are standard.

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 ('Check') and clearly identifies the resource ('SMILES contains SMARTS pattern substructure'), distinguishing this from sibling tools like smiles_info or smiles_max_common_substructure.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention exclusions or provide context for selection among sibling tools.

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

smiles_infoC

Return JSON formatted descriptors for a SMILES

ParametersJSON Schema
NameRequiredDescriptionDefault
smilesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only states 'Return JSON formatted descriptors', implying a safe read operation. It fails to disclose behavior on invalid SMILES, error handling, or any side effects. This is insufficient for a tool with no annotations.

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 sentence with no extraneous text. It is concise and front-loaded. However, it may be too brief, sacrificing clarity for brevity.

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?

The tool has a single parameter and an output schema (not shown), so the description need not explain return values. However, given the complexity of chemical descriptors and the presence of sibling tools, the description lacks contextual completeness regarding usage and relationship to other tools.

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 single parameter 'smiles' has no description in the schema (0% coverage). The description merely says 'for a SMILES', adding no detail about expected format (e.g., canonical, any valid string) or constraints. With low schema coverage, the description should compensate but does not.

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 returns JSON descriptors for a SMILES. The verb 'Return' and resource 'JSON formatted descriptors' are specific, and it distinguishes itself from sibling SMILES manipulation tools. However, it does not specify what kind of descriptors (e.g., molecular properties, fingerprints), leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus its siblings (e.g., smiles_retrieve, smiles_has_substructure). The description does not mention context or prerequisites, making it unclear for an agent to choose correctly.

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

smiles_max_common_substructureC

Find maximum common substructure between SMILES

ParametersJSON Schema
NameRequiredDescriptionDefault
molsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as computational cost, return format, error cases, or prerequisites. The burden is entirely on the description, which fails to add transparency beyond the tool's name.

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

Conciseness3/5

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

The description is very concise (one sentence), which is good, but it is under-specified. It does not structure information (e.g., input, output) and leaves the user guessing. Every sentence should earn its place, but this one lacks crucial details.

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 simplicity (one parameter, no annotations), the description is incomplete. It does not mention the output schema (though available), the required input format, or any nuances. A complete description for such a tool would include what it returns and example usage.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate. It does not mention the parameter 'mols' (an array of SMILES strings) at all. The phrase 'between SMILES' vaguely implies multiple inputs but lacks explicit parameter guidance.

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 'Find' and the resource 'maximum common substructure' and specifies it operates on 'SMILES'. However, it does not mention what the output is (e.g., a SMILES string of the substructure), which would improve clarity.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus siblings like 'smiles_has_substructure' (which checks for a single substructure) or other SMILES tools. No when-to-use or when-not-to-use information is provided.

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

smiles_reactC

Apply a reaction SMARTS to a SMILES

ParametersJSON Schema
NameRequiredDescriptionDefault
molYes
reaction_smartsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It fails to disclose expected output, behavior on invalid inputs, or side effects. Even though an output schema exists, the description does not mention what is returned.

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?

Extremely concise single sentence, no wasted words. However, it sacrifices informative content; a slightly longer description could improve clarity without losing conciseness.

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

Completeness2/5

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

Given the complexity of applying a reaction SMARTS and the presence of an output schema, the description is too minimal. It omits expected output format, error handling, and any usage context, making it incomplete for effective tool selection.

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 compensate. It names the parameters ('SMILES', 'reaction SMARTS') but provides no additional semantics like format constraints or examples. The parameter names in the schema are 'mol' and 'reaction_smarts', and the description aligns but adds no value.

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

Purpose4/5

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

The description clearly states the action 'Apply a reaction SMARTS to a SMILES', which specifies the verb and resources. It distinguishes from sibling tools like 'smiles_has_substructure' and 'smiles_info' by focusing on reaction application.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as when to perform a reaction vs checking substructure. No context about prerequisites or typical use cases.

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

smiles_removeC

Remove SMARTS pattern from a SMILES

ParametersJSON Schema
NameRequiredDescriptionDefault
molYes
target_smartsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
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. It does not disclose whether the removal is destructive, if it modifies the original molecule, or if there are any side effects. The behavior is largely opaque.

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

Conciseness3/5

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

The description is extremely concise (one sentence), but it sacrifices necessary detail. It is front-loaded with the verb, but the lack of structure and missing information lowers the score.

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

Completeness1/5

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

Given the complexity of the tool (chemistry domain, output schema present but not described, 0% schema coverage), the description is completely inadequate. It fails to explain return values, input formats, or any behavioral caveats.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no information about the parameters. The two required parameters 'mol' and 'target_smarts' are not explained beyond their names, which are not self-explanatory for all users.

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 'Remove' and the resource 'SMARTS pattern from a SMILES'. It distinguishes from sibling tools like smiles_has_substructure (check) and smiles_replace (replace). However, it could be more precise about whether it removes all occurrences or only one.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like smiles_replace or smiles_has_substructure. There are no usage hints, prerequisites, or exclusions provided.

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

smiles_replaceC

Replace SMARTS pattern in a SMILES

ParametersJSON Schema
NameRequiredDescriptionDefault
molYes
target_smartsYes
replacement_smartsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits, but it only states the basic operation. It does not mention whether replacements are global or single, case sensitivity, or any 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.

Conciseness3/5

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

The description is a single brief sentence, which is concise but lacks sufficient detail. While front-loaded, it could be more structured to include key information.

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 three required parameters and no schema descriptions, the tool requires more context. Even though an output schema exists, the description fails to cover usage, constraints, or behavior, making it incomplete.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate by explaining parameters. However, it mentions no parameter details, leaving 'mol', 'target_smarts', and 'replacement_smarts' entirely undefined.

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 'Replace' and the resource 'SMARTS pattern in a SMILES', distinguishing it from sibling tools like smiles_remove or smiles_react, which handle different operations.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when to replace rather than remove or react a pattern. The description lacks context for appropriate usage.

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

smiles_retrieveA

Retrieves a SMILES string from any non-SMILES chemical identifier

ParametersJSON Schema
NameRequiredDescriptionDefault
chemical_identifierYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only states retrieval without disclosing potential errors, authentication needs, rate limits, or the behavior for invalid inputs. For a simple read operation, this is insufficient.

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 of 10 words with no redundancy. Every word contributes to the purpose, achieving maximum efficiency.

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

Completeness3/5

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

The tool is simple with one required parameter. The description explains the transformation but lacks specificity about acceptable identifier formats (e.g., common names, InChI). An output schema exists but is not shown, so the description could be more complete regarding return value details.

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 description coverage is 0%, and the schema only provides a type reference. The description adds essential meaning by specifying that the chemical_identifier should be a non-SMILES identifier, significantly enhancing understanding beyond the 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 action ('Retrieves'), the resource ('SMILES string'), and the input condition ('from any non-SMILES chemical identifier'). It effectively distinguishes from sibling tools like smiles_info which operate on SMILES strings.

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 implies usage when you have a non-SMILES identifier and need its SMILES representation. It provides clear context but does not explicitly state when not to use or offer alternatives, though sibling tool names provide implicit differentiation.

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

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: geometry tools are separate from SMILES manipulation tools, and within SMILES tools each operation (substructure check, info, common substructure, reaction, remove, replace, retrieve) is unique and well-defined.

Naming Consistency5/5

All tool names follow a consistent 'prefix_action' pattern in snake_case, with 'geometry_' for geometric operations and 'smiles_' for SMILES operations, making the naming predictable and clear.

Tool Count5/5

The 9 tools cover a focused domain of computational chemistry operations without being excessive or too sparse, each earning its place for typical molecular manipulation tasks.

Completeness4/5

The tool set covers essential SMILES manipulations (retrieval, substructure search, reaction, editing) and basic geometry handling, but lacks some common features like molecular property calculation or format conversion, leaving minor gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server for quantum chemistry that enables LLMs to perform electronic structure analysis, parse calculation outputs, and generate 3D orbital visualizations. It integrates tools like PySCF, cclib, and py3Dmol to facilitate molecular structure manipulation and bonding analysis through natural language.
    BSD 3-Clause
  • A
    license
    Not graded
    quality
    C
    maintenance
    ChemMCP is an easy-to-use and extensible chemistry toolkit for LLMs and AI assistants, enabling molecular analysis, property prediction, and reaction synthesis tasks without domain-specific training.
    71
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that gives LLMs native access to cheminformatics and molecular ML tools, enabling molecular structure manipulation, descriptor calculation, ML model training, and analysis report generation through natural conversation.
    29
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for chemistry-focused tools, enabling LLM agents to perform molecule parsing, format conversion, property lookup, and other chemistry operations with explainable responses.
    Apache 2.0

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/lukasmki/mol-mcp'

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