Skip to main content
Glama
README.md
# Rowan MCP Server

MCP server for making it easy to run Rowan's molecular design and simulation tools.

---

## **Installation**

### **Option 1: Auto-Install (No manual installation needed!)**

Just add this to your MCP configuration and it will automatically install and run:

**HTTP/SSE configuration:**
```json
{
  "mcpServers": {
    "rowan": {
      "type": "http",
      "url": "http://127.0.0.1:6276/sse"
    }
  }
}
```

Then start the server:
```bash
# Set your API key
export ROWAN_API_KEY="your_api_key_here"

# Start the HTTP server
uvx --from rowan-mcp rowan-mcp
```

### **Option 2: Manual Installation**

If you prefer to install the package first:

**Using uv:**
```bash
uv add rowan-mcp
```

**Using pip:**
```bash
pip install rowan-mcp
```

Then configure and start:
```json
{
  "mcpServers": {
    "rowan": {
      "type": "http", 
      "url": "http://127.0.0.1:6276/sse"
    }
  }
}
```

```bash
# Set API key and start server
export ROWAN_API_KEY="your_api_key_here"
rowan-mcp
```

### **Get API Key**

Visit [labs.rowansci.com](https://labs.rowansci.com) → Create account → Generate API key

### **Start Using**

Ask your AI: *"Calculate the pKa of aspirin"* or *"Optimize the geometry of caffeine"*

---

## **What You Can Do** 

Ask the LLM to:
- **Calculate drug properties**: *"Predict drug-likeness of aspirin"*
- **Optimize molecular structures**: *"Optimize the geometry of aspirin"* 
- **Predict chemical behavior**: *"What's the pKa of acetic acid?"*
- **Run calculations**: *"Calculate the HOMO and LUMO of benzene"*

## **System Requirements**

- **Python 3.11+** 
- **Package manager**: [uv](https://docs.astral.sh/uv/) (recommended) or pip
- **Rowan API key** (free at [labs.rowansci.com](https://labs.rowansci.com))
- **MCP-compatible client** (Claude Desktop, etc.)

**Development commands** (if you cloned the repo):
```bash
# Run from source
export ROWAN_API_KEY="your_api_key_here"
uv run python -m rowan_mcp
```

---

## **Available Tools**

**Total: 45 MCP Tools**
- 28 Dedicated Workflow Functions (all workflows from Rowan v2.1.9)
- 1 Batch Workflow Function
- 3 Molecule Lookup Tools
- 7 Workflow Management Tools
- 6 Protein Management Tools

---

### Chemistry Calculations
- `submit_basic_calculation_workflow` - Energy, optimization, frequencies with multiple engines (omol25, xtb, psi4)
- `submit_conformer_search_workflow` - Conformational search with multiple search modes (rapid/careful/meticulous)
- `submit_conformers_workflow` - Conformer generation and enumeration (different from conformer_search)
- `submit_multistage_opt_workflow` - Multi-stage geometry optimization with sequential accuracy levels
- `submit_scan_workflow` - Molecular scans (dihedral, bond, angle) with wavefront propagation
- `submit_irc_workflow` - Intrinsic reaction coordinate calculations for transition states

### Molecular Properties
- `submit_pka_workflow` - Microscopic pKa calculations with customizable pH ranges and elements
- `submit_macropka_workflow` - Macroscopic pKa calculations across pH and charge ranges
- `submit_solubility_workflow` - Solubility predictions across multiple solvents and temperatures
- `submit_redox_potential_workflow` - Electrochemical reduction/oxidation potentials
- `submit_descriptors_workflow` - ML-ready molecular descriptors and features
- `submit_tautomer_search_workflow` - Tautomer enumeration
- `submit_admet_workflow` - ADME/Tox property predictions for drug discovery
- `submit_hydrogen_bond_basicity_workflow` - Hydrogen bond basicity (pKBHX) predictions

### Reactivity Analysis
- `submit_fukui_workflow` - Fukui indices for electrophilic/nucleophilic reactivity sites

### Electronic Structure
- `submit_spin_states_workflow` - Spin state energy calculations for different multiplicities

### Spectroscopy & Analysis
- `submit_ion_mobility_workflow` - Ion mobility mass spectrometry collision cross-section (CCS) predictions
- `submit_strain_workflow` - Molecular strain energy calculations for rings and cages

### Transition States & Reactions
- `submit_double_ended_ts_search_workflow` - Transition state search from reactant and product structures
- `submit_pose_analysis_md_workflow` - Molecular dynamics simulations on docked protein-ligand complexes

### Protein & Drug Discovery
- `submit_docking_workflow` - Protein-ligand docking with multiple executables (Vina, QVina2, Smina)
- `submit_batch_docking_workflow` - High-throughput docking for virtual screening campaigns
- `submit_protein_cofolding_workflow` - Multi-protein and protein-ligand cofolding predictions
- `submit_msa_workflow` - Multiple sequence alignment for protein structure prediction

### Batch Processing
- `batch_submit_workflow` - Submit multiple molecules through any workflow type for high-throughput processing

---

### Molecule Management
- `molecule_lookup` - Convert molecule names, CAS numbers, IUPAC names to SMILES
- `batch_molecule_lookup` - Bulk molecule name to SMILES conversion
- `validate_smiles` - Validate and standardize SMILES strings

### Protein Management
- `create_protein_from_pdb_id` - Create protein from PDB ID (e.g., '1HCK')
- `retrieve_protein` - Get protein data by UUID
- `list_proteins` - List all available proteins
- `upload_protein` - Upload custom protein structures
- `delete_protein` - Remove protein from workspace
- `sanitize_protein` - Clean and validate protein structures

### Workflow Management
- `retrieve_workflow` - Get complete workflow data, status, and results (single source of truth)
- `workflow_stop` - Stop running workflows
- `workflow_delete` - Remove workflows from workspace
- `retrieve_calculation_molecules` - Extract molecular structures from calculations
- `list_workflows` - List all workflows with filtering options
- `workflow_update` - Modify workflow parameters
- `workflow_delete_data` - Remove workflow data while keeping metadata

## **Requirements**

- Python 3.11+
- Rowan API key
- MCP-compatible AI assistant (Claude Desktop, etc.)

---

## **Experimental: Desktop Extension (Work in Progress)**

Working on a one-click desktop extension (.dxt) for Claude Desktop that eliminates command-line setup! This feature is currently being refined for compatibility with the MCP extension system.

For now, use the standard Package Installation method above, which is fully tested and reliable.

---

## **Getting Help**

- **Documentation**: [docs.rowansci.com](https://docs.rowansci.com/)
- or ping me! 

---

## **Citation**

If you use this MCP tool in your research, please cite the underlying Rowan platform:

Rowan Scientific. https://www.rowansci.com (accessed 2025-07-01).

For complete citation information including specific computational engines, methods, and workflows used in your calculations, please refer to [Rowan's citation guidelines](https://docs.rowansci.com/citations).

---

## **Publishing (Maintainer Notes)**

To publish a new version to PyPI:

```bash
# Update version in pyproject.toml and rowan_mcp/__init__.py
# Build the package
uv build

# Publish to PyPI (requires API token)
uv publish

# Or publish to TestPyPI first
uv publish --index-url https://test.pypi.org/simple/
```
### MCP inspector
```bash
# Start the server first
export ROWAN_API_KEY="your_api_key_here" 
uv run python -m rowan_mcp &

# Then inspect
npx @modelcontextprotocol/inspector http://127.0.0.1:6276/sse
```        

TDQS

B3.4/5.0

Scored across 41 tools

Disambiguation3/5

The tools cover distinct computational chemistry domains like molecule lookup, protein handling, and various workflow submissions, but there is significant overlap between similar workflow tools. For example, submit_conformer_search_workflow and submit_conformers_workflow have overlapping purposes, and multiple optimization workflows (submit_multistage_opt_workflow, submit_basic_calculation_workflow) could cause confusion. Descriptions help differentiate, but the sheer number of specialized workflows creates ambiguity.

Naming Consistency4/5

Most tools follow a consistent verb_noun or verb_noun_workflow pattern, such as batch_molecule_lookup, list_proteins, submit_pka_workflow, and workflow_update. There are minor deviations like retrieve_workflow (no underscore after 'retrieve') and molecule_lookup (simpler than batch_molecule_lookup), but overall the naming is predictable and readable across the set.

Tool Count2/5

With 41 tools, the count is excessive for a single server, making it overwhelming and difficult to navigate. While the domain of computational chemistry is broad, many tools are highly specialized workflows that could be consolidated or parameterized. This large number exceeds typical well-scoped servers (3-15 tools) and risks tool bloat, hindering agent usability.

Completeness5/5

The tool set provides comprehensive coverage for computational chemistry workflows, including molecule preparation (lookup, validation), protein management (create, list, retrieve, delete), and a wide range of calculations (pKa, docking, conformer search, ADMET, etc.). It supports full CRUD operations for workflows and proteins, with no obvious gaps in the domain, enabling agents to handle end-to-end tasks without dead ends.

Maintenance

ActivityInactive
ResponsivenessUnresponsive