Metadata-Version: 2.4
Name: assemblix-mcp
Version: 0.2.1
Summary: MCP server for Assemblix — author, run & inspect workflows over a project API key
Project-URL: Homepage, https://github.com/nmamizerov/assemblix-aitools
Project-URL: Repository, https://github.com/nmamizerov/assemblix-aitools
Project-URL: Issues, https://github.com/nmamizerov/assemblix-aitools/issues
Author-email: nmamizerov <nmamizerov@gmail.com>
License: MIT
License-File: LICENSE
Keywords: ai-agents,assemblix,llm,mcp,model-context-protocol,workflows
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Requires-Dist: fastmcp>=3
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2
Description-Content-Type: text/markdown

# assemblix-mcp

MCP server for [Assemblix](https://app.assmblx.com). Author, run & inspect your
project's workflows from any MCP client using a single project API key (`sk_...`).
`projectId` is never needed — the key defines the project.

Get your `sk_` key from the project's **API keys** page in the Assemblix UI.

## Install

### Hosted (easiest — nothing to install)

```
claude mcp add --transport http assemblix https://mcp.assmblx.com \
  --header "Authorization: Bearer sk_your_key"
```

### Local via uvx (privacy / self-host)

```
claude mcp add assemblix \
  --env ASSEMBLIX_API_KEY=sk_your_key \
  --env ASSEMBLIX_API_URL=https://app.assmblx.com \
  -- uvx assemblix-mcp
```

### Claude Desktop / Cursor (JSON config)

```json
{
  "mcpServers": {
    "assemblix": {
      "command": "uvx",
      "args": ["assemblix-mcp"],
      "env": {
        "ASSEMBLIX_API_KEY": "sk_your_key",
        "ASSEMBLIX_API_URL": "https://app.assmblx.com"
      }
    }
  }
}
```

For the hosted server, use your client's "add custom connector → URL + header" flow.

## Configuration

| Env var | Default | Notes |
| --- | --- | --- |
| `ASSEMBLIX_API_URL` | `https://app.assmblx.com` | Base URL of your Assemblix instance |
| `ASSEMBLIX_API_KEY` | — | Project `sk_` key. Required for stdio; for hosted HTTP the `Authorization` header is used instead |
| `ASSEMBLIX_MCP_TRANSPORT` | `stdio` | `stdio` or `http` |
| `ASSEMBLIX_MCP_HOST` / `ASSEMBLIX_MCP_PORT` | `0.0.0.0` / `8000` | HTTP transport bind |

## Tools

**Authoring:** `list_node_types`, `list_workflows`, `get_workflow`, `create_workflow`,
`update_workflow`, `publish_workflow`
**Run & inspect:** `run_workflow`, `run_workflow_and_wait`, `get_execution`,
`list_executions`, `get_execution_detail`, `list_in_flight`

**Resources:** `assemblix://examples/minimal`, `assemblix://examples/branching`
(example workflow JSON). **Prompt:** `author_workflow` (authoring guide).

Lifecycle: `create_workflow → update_workflow(nodes, edges) → publish_workflow →
run_workflow`. Runs always execute the **published** snapshot. AGENT nodes need a
provider credential configured in the Assemblix UI.

All tools operate on the single project your API key is scoped to; `projectId` is
never a parameter.
