Mol-MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mol-MCPgenerate 3D coordinates for ethanol (CCO)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mol-MCP: Computational Chemistry Interfaces for LLMs
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 documentationUsage
Tools
uvx --from git+https://github.com/lukasmki/mol-mcp mol-mcp serve --helpChat TUI
To use the built-in interactive agent with mol-mcp tools,
uv run mol-mcp goCurrently, 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 | shThe calc and geometry servers depend on tblite and require a Fortran compiler to complete installation.
# macOS
brew install gfortran
# Linux/WSL2
sudo apt install gfortranIn your project directory, install with uv
uv add git+https://github.com/lukasmki/mol-mcpor
uv pip install git+https://github.com/lukasmki/mol-mcpYou can also run it as a uv tool outside of a project!
uvx --from git+https://github.com/lukasmki/mol-mcp mol-mcp serve --helpor install it to use it anywhere
uv tool install --from git+https://github.com/lukasmki/mol-mcp
mol-mcp serve --helpEasy 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 toolsgeometry_buildC
Generates a geometry for the input SMILES
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | Output file format (default: pdb) | |
| smiles | Yes | SMILES | |
| output_file | Yes | URI to coordinate output file (must be within root path) |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| success | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| input_file | Yes | URI to coordinates input file | |
| output_file | Yes | URI to coordinate output file |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| success | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| mol | Yes | ||
| target_smarts | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| smiles | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| mols | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| mol | Yes | ||
| reaction_smarts | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| mol | Yes | ||
| target_smarts | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| mol | Yes | ||
| target_smarts | Yes | ||
| replacement_smarts | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| chemical_identifier | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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
AI orchestration for computational chemistry and HPC workflows.
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
Machine-readable utilities and datasets for AI agents.
Stateless agentic tools over MCP: concept extraction, long-context, knowledge graph, planning.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn 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

ChemMCPofficial
AlicenseNot gradedqualityCmaintenanceChemMCP 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.71Apache 2.0- AlicenseNot gradedqualityCmaintenanceAn 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.29MIT
- AlicenseNot gradedqualityDmaintenanceAn 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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