Metadata-Version: 2.5
Name: salpa-mcp
Version: 0.1.0
Summary: Let your own AI agent drive your Salpa: list templates, prepare workflows, run them and read their results, over the Model Context Protocol.
Project-URL: Homepage, https://salpa.app
Author: Salpa
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agent,computational-science,mcp,model-context-protocol,salpa,workflow
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.10
Requires-Dist: mcp<3,>=2.3
Requires-Dist: salpa-cli>=0.18.0
Description-Content-Type: text/markdown

# salpa-mcp

Let your own AI agent drive your own [Salpa](https://salpa.app), over the
[Model Context Protocol](https://modelcontextprotocol.io).

Salpa runs scientific workflows (molecular simulation, docking and similar) on your computer, one
step per node on a canvas. With salpa-mcp, an agent you already use can list Salpa's workflow
templates, prepare a workflow from one, change its steps' settings, run it, and read what each step
made, through the same local API the app's own window uses.

## Setting it up

Add it to your agent's MCP configuration as a stdio server, with the command:

```
uvx salpa-mcp
```

For example, in a client that reads an `mcpServers` table:

```json
{
  "mcpServers": {
    "salpa": { "command": "uvx", "args": ["salpa-mcp"] }
  }
}
```

Start Salpa before you ask your agent to use it. salpa-mcp reaches the Salpa running on this
computer, as you, on port 18000 unless `SALPA_PORT` or `SALPA_APP_URL` says otherwise. When Salpa is
not running, every tool says so.

It needs Python 3.10 or later, which `uvx` chooses for you, and Salpa 0.12.0 or later. Changing a
step's settings (`set_node_options`) needs Salpa 0.15.0 or later.

## The tools

| Tool | What it does |
|---|---|
| `list_templates` | The workflow templates Salpa offers, and whether each one's packages are installed |
| `list_nodes` | The steps installed in Salpa, with their default settings; optionally filtered |
| `load_template` | Prepare a new workflow from a template, in a folder you name |
| `read_workflow` | A workflow's steps, their settings, the links between them, its folder |
| `set_node_options` | Change settings of one step of a workflow that is not open in Salpa |
| `run` | Run a workflow, or one step of it |
| `job_status` | Where a run stands |
| `history` | The latest runs of a workflow or of one step |
| `outputs` | The files a step's run made |
| `cancel` | Stop a run |

## What it will not do

- **Change a workflow you have open in Salpa.** Salpa's canvas keeps its own copy of a workflow it
  has open, and would put the change back. Salpa refuses the edit, and the tool tells your agent to
  ask you to close the workflow's tab, or to make the change in Salpa.
- **Reach anything but your own Salpa.** It talks only to the app on this computer, with the app's
  per-launch local API token, which only you can read and which it sends only to the app that
  issued it.

A run starts work on your computer, and a cloud step (Salpa Compute) spends your credits. salpa-mcp
tells your agent to ask you before it runs anything, and most agents also ask before each tool call.

## Licence

Apache-2.0.
