> ## Documentation Index
> Fetch the complete documentation index at: https://docs.moneyline.co/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> Moneyline ships a Model Context Protocol server that exposes 51 tools and 5 resources for AI agent integration with Claude, OpenClaw, and any MCP-compatible client.

## Install

```bash Global install theme={null}
npm install -g @moneyline/mcp-server
```

```bash No install theme={null}
npx @moneyline/mcp-server
```

## Claude Desktop

Add the server to `~/Library/Application Support/Claude/claude_desktop_config.json`, then restart Claude Desktop.

```json Installed globally theme={null}
{
  "mcpServers": {
    "moneyline": {
      "command": "moneyline-mcp",
      "env": {
        "MONEYLINE_API_KEY": "ml_live_xxxxx",
        "MONEYLINE_API_URL": "https://api.moneyline.co"
      }
    }
  }
}
```

```json Via npx theme={null}
{
  "mcpServers": {
    "moneyline": {
      "command": "npx",
      "args": ["-y", "@moneyline/mcp-server"],
      "env": {
        "MONEYLINE_API_KEY": "ml_live_xxxxx",
        "MONEYLINE_API_URL": "https://api.moneyline.co"
      }
    }
  }
}
```

> [!NOTE]
>
> Point `MONEYLINE_API_URL` at `http://localhost:3000` when running against a
> local, self-hosted API.

## Environment Variables

| Variable | Default | Description |
| - | - | - |
| `MONEYLINE_API_KEY` | — | API key for authentication |
| `MONEYLINE_API_URL` | `http://localhost:3000` | API server URL |

## Tools Reference

### Submissions (8 tools)

| Tool | Description |
| - | - |
| `moneyline_create_submission` | Create a new submission with external ID and metadata |
| `moneyline_get_submission` | Retrieve a submission by ID |
| `moneyline_list_submissions` | List all submissions with pagination |
| `moneyline_update_submission` | Update submission name/metadata |
| `moneyline_start_workflow` | Kick off the processing pipeline |
| `moneyline_get_processing_status` | Check processing progress and stage |
| `moneyline_find_duplicates` | Find duplicate submissions by fuzzy match |
| `moneyline_delete_submission` | Delete a submission and all associated data |

### Documents (5 tools)

| Tool | Description |
| - | - |
| `moneyline_upload_document` | Upload a PDF/image to a submission |
| `moneyline_list_documents` | List documents for a submission |
| `moneyline_get_parsed_results` | Get extracted/parsed data from a document |
| `moneyline_reclassify_document` | Change document classification |
| `moneyline_split_document` | Split a multi-document PDF into individual docs |

### Transactions (3 tools)

| Tool | Description |
| - | - |
| `moneyline_enrich_transactions` | Enrich transactions with categories, merchants, flags |
| `moneyline_create_transactions` | Manually create transactions for a submission |
| `moneyline_get_transactions` | List transactions with filtering |

### Analytics (9 tools)

| Tool | Description |
| - | - |
| `moneyline_get_scorecard` | Full underwriting scorecard |
| `moneyline_get_cashflow` | Cashflow analysis (inflows, outflows, net) |
| `moneyline_get_risk_score` | Risk score with breakdown |
| `moneyline_get_balances` | Account balance history and trends |
| `moneyline_get_anomalies` | Anomaly detection results |
| `moneyline_get_forecasts` | Revenue/cashflow forecasts |
| `moneyline_get_statistics` | Statistical summary of financials |
| `moneyline_get_recurring` | Recurring transaction detection |
| `moneyline_get_merchant_summary` | Spending by merchant |

### Policies (4 tools)

| Tool | Description |
| - | - |
| `moneyline_evaluate_policy` | Evaluate a submission against policy rules |
| `moneyline_create_rule` | Create a new policy rule |
| `moneyline_list_rules` | List rules for a policy |
| `moneyline_get_policy_history` | Get policy evaluation history |

### Integrations (2 tools)

| Tool | Description |
| - | - |
| `moneyline_import_plaid` | Import bank data via Plaid link |
| `moneyline_import_bank_pdf` | Import and process a bank statement PDF |

### Workflows (14 tools)

Author, run, and debug the workflow engine's pipelines. Start from a template
rather than a blank graph, and check `moneyline_list_node_types` before
authoring — activation rejects any node type the engine cannot run.

| Tool | Description |
| - | - |
| `moneyline_list_node_types` | Every node type the engine can run, with its category and config fields |
| `moneyline_list_workflow_templates` | Prebuilt templates (MCA application processing, bank statement analysis, SBA loan processing, and more) |
| `moneyline_get_workflow_template` | One template including its full node graph |
| `moneyline_clone_workflow_template` | Copy a template into an editable workflow owned by this tenant |
| `moneyline_create_workflow` | Create a workflow from a trigger and nodes; starts as a draft |
| `moneyline_get_workflow` | One workflow including its full node graph |
| `moneyline_list_workflows` | This tenant's workflows with status and last run |
| `moneyline_update_workflow` | Update a workflow; nodes and edges are replaced wholesale, not merged |
| `moneyline_delete_workflow` | Delete a workflow permanently |
| `moneyline_activate_workflow` | Activate a workflow so its trigger fires |
| `moneyline_deactivate_workflow` | Pause a workflow; existing runs are unaffected |
| `moneyline_run_workflow` | Run a workflow now regardless of its trigger; returns a `run_id` |
| `moneyline_list_workflow_runs` | A workflow's executions, newest first |
| `moneyline_get_workflow_run` | One run with its per-node step timeline |

## Resources Reference

Resources provide read-only access to Moneyline data via `resource://` URIs.

| Resource | URI Pattern | Description |
| - | - | - |
| Submissions | `moneyline://submissions/{id}` | One submission |
| Documents | `moneyline://documents/{id}` | One document |
| Transactions | `moneyline://transactions?submission_id={submission_id}` | Transactions for a submission |
| Analytics | `moneyline://analytics/{id}/scorecard` | Scorecard for a submission |
| Categories | `moneyline://categories` | Transaction category taxonomy |

## Usage Examples

Once configured, ask Claude:

> "Create a new submission for Acme Corp with external ID acme-001, upload this bank statement, and generate a scorecard."

> "Show me the cashflow analysis and risk score for submission sub\_abc123."

> "Find any anomalies in the transactions for my latest submission."

> "Evaluate submission sub\_abc123 against our auto-approve policy."

> "Enrich these transactions: AMZN MKTP $49.99, STARBUCKS $6.50, DIRECT DEP ACME \$5000"

## Running Locally

```bash theme={null}
cd apps/mcp

# Install deps
npm install

# Build
npm run build

# Run (stdio transport)
MONEYLINE_API_KEY=ml_live_xxxxx node dist/index.js

# Dev mode (auto-reload)
MONEYLINE_API_KEY=ml_live_xxxxx npm run dev
```

## OpenClaw Skill

If using OpenClaw, the MCP server can also be registered as a skill. See the OpenClaw skill in `apps/mcp/` for configuration details.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.