Safe MCP server + CLI for testing, inspecting, and operating n8n workflows with a constrained scope
Safe MCP server + CLI for testing, scoring, and inspecting n8n workflows
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Config-driven test suites with tiered scoring, execution traces, and a built-in node catalog.
---
Why?
Most n8n MCP integrations give you **full admin access** — credentials, destructive operations, auto-fix loops. That's fine for development, but risky for CI, shared environments, or autonomous agents.
n8n-workflow-tester-safe takes a different approach:
| Feature | This MCP | Full admin MCPs |
|---------|----------|-----------------|
| Test workflows with scoring | Yes | No |
| Execution traces (lightweight) | Yes | No |
| Node catalog with suggestions | Yes | No |
| Credential management | **Excluded** | Yes |
| Secret lifecycle | **Excluded** | Yes |
| Auto-fix loops | **Excluded** | Some |
**Result:** A focused tool that does testing and inspection really well, without the risk surface of a full admin wrapper.
---
Quick Start
1. Install
2. Configure
3. Run
**As MCP server** (for Claude, OpenClaw, or any MCP client):
**As CLI** (for scripts and CI):
---
MCP Client Configuration
Claude Code (~/.claude.json)
OpenClaw / Any MCP client
The server uses **stdio transport** — compatible with any MCP client that supports stdio.
---
How It Works
Test Config
Define your tests in a JSON file:
Scoring System
Every test run produces a **two-tier score**:
| Tier | Weight | What it checks |
|------|--------|----------------|
| **Tier 1** (Infrastructure) | 70% | HTTP success, timeout compliance, non-empty output |
| **Tier 3** (Quality) | 30% | Custom field checks: contains, equals, min/max length, not_empty |
A test **passes** when:
- Tier 1 score = 100 (all infrastructure checks pass)
- Final score >= quality threshold (default 85)
- No issues with severity error
Example Output
---
Tools Reference
Testing (3 tools)
| Tool | Description |
|------|-------------|
| test_workflow | Run a single payload test from a config file |
| evaluate_workflow_result | Run a test and return evaluation score + issues |
| run_workflow_suite | Run all payloads in a config, return per-payload scores |
Workflow Operations (5 tools)
| Tool | Description |
|------|-------------|
| create_workflow | Create a new workflow from JSON |
| update_workflow | Replace an existing workflow by ID |
| delete_workflow | Delete a workflow by ID |
| add_node_to_workflow | Append a node to an existing workflow |
| connect_nodes | Create a connection between two nodes |
Introspection (5 tools)
| Tool | Description |
|------|-------------|
| get_workflow_summary | Compact summary: node count, names, types, disabled status |
| list_node_types | List all available node types from the n8n instance |
| get_node_type | Full schema/metadata for a specific node type |
| list_executions | Recent executions, filterable by workflow and status |
| get_execution | Full execution data by ID |
| get_execution_trace | **Lightweight per-node trace** — timing, errors, item counts |
Catalog (5 tools)
| Tool | Description |
|------|-------------|
| get_catalog_stats | Node/trigger/credential counts from imported catalog |
| search_nodes | Fuzzy search by name, optional trigger-only filter |
| list_triggers | All trigger nodes from the catalog |