langflow-mcp-server 3.1.1 → 4.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +19 -1
- package/README.md +350 -82
- package/dist/__tests__/fixtures/advanced-execution.d.ts.map +1 -1
- package/dist/__tests__/fixtures/advanced-execution.js +7 -4
- package/dist/__tests__/fixtures/advanced-execution.js.map +1 -1
- package/dist/__tests__/fixtures/api-keys.js.map +1 -1
- package/dist/__tests__/fixtures/auth.d.ts.map +1 -1
- package/dist/__tests__/fixtures/components.d.ts.map +1 -1
- package/dist/__tests__/fixtures/custom-components.js.map +1 -1
- package/dist/__tests__/fixtures/files.d.ts.map +1 -1
- package/dist/__tests__/fixtures/files.js.map +1 -1
- package/dist/__tests__/fixtures/flows.js.map +1 -1
- package/dist/__tests__/fixtures/folders.js.map +1 -1
- package/dist/__tests__/fixtures/knowledge-bases.d.ts.map +1 -1
- package/dist/__tests__/fixtures/knowledge-bases.js.map +1 -1
- package/dist/__tests__/fixtures/misc.js.map +1 -1
- package/dist/__tests__/fixtures/monitoring.js.map +1 -1
- package/dist/__tests__/fixtures/projects.js.map +1 -1
- package/dist/__tests__/fixtures/run.d.ts.map +1 -1
- package/dist/__tests__/fixtures/store.d.ts.map +1 -1
- package/dist/__tests__/fixtures/store.js.map +1 -1
- package/dist/__tests__/fixtures/users.js.map +1 -1
- package/dist/__tests__/fixtures/variables.js.map +1 -1
- package/dist/__tests__/fixtures/vertices.d.ts +1 -2
- package/dist/__tests__/fixtures/vertices.d.ts.map +1 -1
- package/dist/__tests__/fixtures/vertices.js +1 -5
- package/dist/__tests__/fixtures/vertices.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/http.d.ts +69 -0
- package/dist/mcp/http.d.ts.map +1 -0
- package/dist/mcp/http.js +595 -0
- package/dist/mcp/http.js.map +1 -0
- package/dist/mcp/index.js +39 -5
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/resources.d.ts.map +1 -1
- package/dist/mcp/resources.js +6 -17
- package/dist/mcp/resources.js.map +1 -1
- package/dist/mcp/server-consolidated.d.ts +16 -0
- package/dist/mcp/server-consolidated.d.ts.map +1 -1
- package/dist/mcp/server-consolidated.js +771 -18
- package/dist/mcp/server-consolidated.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +827 -20
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools-consolidated.d.ts.map +1 -1
- package/dist/mcp/tools-consolidated.js +813 -47
- package/dist/mcp/tools-consolidated.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +1998 -83
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/validation-consolidated.d.ts +876 -18
- package/dist/mcp/validation-consolidated.d.ts.map +1 -1
- package/dist/mcp/validation-consolidated.js +758 -21
- package/dist/mcp/validation-consolidated.js.map +1 -1
- package/dist/mcp/validation.d.ts +966 -19
- package/dist/mcp/validation.d.ts.map +1 -1
- package/dist/mcp/validation.js +722 -18
- package/dist/mcp/validation.js.map +1 -1
- package/dist/services/langflow-client.d.ts +154 -52
- package/dist/services/langflow-client.d.ts.map +1 -1
- package/dist/services/langflow-client.js +1305 -155
- package/dist/services/langflow-client.js.map +1 -1
- package/dist/types/index.d.ts +536 -10
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +2 -3
- package/dist/utils/logger.js.map +1 -1
- package/package.json +17 -15
package/.env.example
CHANGED
|
@@ -40,8 +40,26 @@ ENABLE_DEPRECATED_TOOLS=true
|
|
|
40
40
|
|
|
41
41
|
# HTTP Server Configuration
|
|
42
42
|
PORT=3000
|
|
43
|
-
HOST=0.0.0.0
|
|
43
|
+
# Keep local deployments on loopback. Set HOST=0.0.0.0 only with AUTH_TOKEN
|
|
44
|
+
# and a TLS-terminating reverse proxy.
|
|
45
|
+
HOST=127.0.0.1
|
|
44
46
|
|
|
45
47
|
# Authentication token for HTTP mode
|
|
46
48
|
# Generate with: openssl rand -base64 32
|
|
47
49
|
AUTH_TOKEN=your-secure-token-here
|
|
50
|
+
|
|
51
|
+
# Optional exact origins for browser-based MCP clients (comma-separated).
|
|
52
|
+
# Wildcard origins are not accepted.
|
|
53
|
+
MCP_ALLOWED_ORIGINS=
|
|
54
|
+
|
|
55
|
+
# Optional: return JSON instead of SSE for single HTTP requests.
|
|
56
|
+
# Streamable HTTP clients normally support the default SSE response.
|
|
57
|
+
MCP_HTTP_JSON_RESPONSES=false
|
|
58
|
+
|
|
59
|
+
# HTTP resource limits. The defaults are safe for a small self-hosted server.
|
|
60
|
+
# MCP_MAX_SESSIONS=100
|
|
61
|
+
# MCP_SESSION_IDLE_TIMEOUT_MS=1800000
|
|
62
|
+
# MCP_MAX_CONCURRENT_REQUESTS=100
|
|
63
|
+
# MCP_MAX_CONCURRENT_BODY_BYTES=67108864
|
|
64
|
+
# MCP_REQUEST_BODY_TIMEOUT_MS=30000
|
|
65
|
+
# MCP_SHUTDOWN_TIMEOUT_MS=5000
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/langflow-mcp-server)
|
|
5
5
|
[](https://github.com/nobrainer-tech/langflow-mcp/releases)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
|
-
[](https://github.com/nobrainer-tech/langflow-mcp)
|
|
8
8
|
[](https://lobehub.com/mcp/nobrainer-tech-langflow-mcp)
|
|
9
9
|
|
|
10
10
|
A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to Langflow workflow automation platform.
|
|
@@ -13,16 +13,20 @@ A Model Context Protocol (MCP) server that provides AI assistants with comprehen
|
|
|
13
13
|
|
|
14
14
|
langflow-mcp-server serves as a bridge between Langflow's workflow automation platform and AI models, enabling them to understand and work with Langflow flows effectively.
|
|
15
15
|
|
|
16
|
-
**API Compatibility**: This server is built on the [Langflow API documentation](https://docs.langflow.org/api) and supports Langflow API version **1.
|
|
16
|
+
**API Compatibility**: This server is built on the [Langflow API documentation](https://docs.langflow.org/api) and supports Langflow API version **1.12.4** in the 1.12.x family. The latest stable upstream release check on **2026-09-30** found `v1.12.4` (published **2026-09-29**). The `v1.12.3` to `v1.12.4` comparison of the client-relevant API found no new, removed, or renamed routes and no fields added to or removed from the request and response models this server uses. The patch is a security-hardening release that tightens access and validation rules, so Langflow may now reject calls it used to accept (for example `globals` or `tweaks` from a non-owner on a flow that stores the owner's credentials, unknown audit-log `result` or `actor_type` filters, unsafe file names, or a second role in the same assignment scope); the client surfaces those errors through its normal error handling. Workflow runs expose the optional `expose_graph_state` control added in 1.12.3: omitted or `null` uses the protocol default (conversation-only for AG-UI, graph events for Langflow); synchronous runs ignore it, and stream or background runs by a non-owner of a shared flow always run with it off. Existing client methods pass MCP project responses through and surface the MCP server endpoint's 404 through normal error handling. Memory Base creation exposes the optional `embedding_provider` added in 1.12.1. The 1.12.x API family adds headless agentic execution, provider descriptors, project upsert, governance policy endpoints, and a Kubernetes-style readiness probe. Existing A2A, v2 workflow HITL/public execution, and public build lifecycle support remains available.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
**Versioning**: From `4.10.0` onward, the npm minor version mirrors the supported Langflow minor - `langflow-mcp-server@4.<langflow_minor>.x` targets Langflow `1.<langflow_minor>.x` (so `4.12.x` targets Langflow `1.12.x`, `4.11.x` targets Langflow `1.11.x`). The patch component is used for fixes within the same Langflow minor.
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
The **2026-10-05** source review reconfirmed [Langflow 1.12.4](https://github.com/langflow-ai/langflow/releases/tag/v1.12.4) as the latest stable release. Audit-log queries support credential actors and include/exclude event filters in both MCP modes. Enabled-provider, enabled-model, and store list filters use repeated query keys, as required by Langflow's list parameters. Regression tests check the actual HTTP requests, including requests from an installed npm tarball in both MCP modes. This evidence covers source contracts and local HTTP fixtures, not an end-to-end run against every Langflow deployment. Langflow 1.12.4 also changes the knowledge-base chunk-preview default separator to an empty string and applies fallback separators to keep chunks within the requested size. Development builds of Langflow 1.13 are not covered by the compatibility claim above.
|
|
21
|
+
|
|
22
|
+
### Consolidated Tools Mode
|
|
23
|
+
|
|
24
|
+
**Consolidated Tools Mode** is an architecture that groups the 236 individual tools into **29 action-based meta-tools**. This significantly reduces token usage and improves AI assistant context management.
|
|
21
25
|
|
|
22
26
|
| Mode | Tools | Best For |
|
|
23
27
|
|------|-------|----------|
|
|
24
|
-
| Standard |
|
|
25
|
-
| Consolidated |
|
|
28
|
+
| Standard | 236 tools | Full granular control |
|
|
29
|
+
| Consolidated | 29 tools | Reduced token usage, better context |
|
|
26
30
|
|
|
27
31
|
To enable consolidated mode:
|
|
28
32
|
```bash
|
|
@@ -30,21 +34,35 @@ LANGFLOW_CONSOLIDATED_TOOLS=true
|
|
|
30
34
|
```
|
|
31
35
|
|
|
32
36
|
**Consolidated tools:**
|
|
33
|
-
- `flow` - All flow operations (list, get, create, update, delete, download, upload,
|
|
37
|
+
- `flow` - All flow operations (list, get, create, update, delete, download, upload, replace, expand, batch, public, note_translations)
|
|
34
38
|
- `flow_execution` - Run flows (run, run_advanced, run_session, webhook, process, predict)
|
|
35
|
-
- `
|
|
39
|
+
- `flow_version` - Flow versions and lifecycle events (list, create, get, delete, activate, get_events, create_event)
|
|
40
|
+
- `build` - Build operations (start, status, cancel, public build lifecycle, vertices)
|
|
41
|
+
- `workflow` - Run and manage v2 workflows (run with request-level globals, get_result, stop, plus HITL/public execution)
|
|
42
|
+
- `agentic` - Agentic assistant + sandbox (assist, assist_stream, assist_run, check_config, execute, get_file, reset_session)
|
|
36
43
|
- `folder` - Folder management (list, get, create, update, delete, download, upload)
|
|
37
|
-
- `project` - Project management (list, get, create, update, delete, download, upload)
|
|
38
|
-
- `variable` - Variable operations (list, create, update, delete)
|
|
39
|
-
- `knowledge_base` - Knowledge base management (list, get, delete, bulk_delete, upload)
|
|
40
|
-
- `
|
|
41
|
-
- `
|
|
42
|
-
- `
|
|
43
|
-
- `
|
|
44
|
-
- `
|
|
44
|
+
- `project` - Project management (list, get, create, update, upsert, delete, download, upload)
|
|
45
|
+
- `variable` - Variable operations (list, create, update, delete, detect)
|
|
46
|
+
- `knowledge_base` - Knowledge base management (list, get, delete, bulk_delete, upload, create, preview/list chunks, ingest, cancel_ingest, test_connection, list_connectors, ingest_folder, ingest_connector, metadata_keys, list_runs, get_run)
|
|
47
|
+
- `memory` - Memory bases (create, list, get, list_sessions, list_messages, update, delete, flush, mismatch, regenerate) — experimental Langflow API
|
|
48
|
+
- `file` - Flow-scoped file operations (list, upload, download, delete, get_image)
|
|
49
|
+
- `file_v2` - User-scoped v2 files (list, upload, get, rename, delete, delete_all, batch_download, batch_delete)
|
|
50
|
+
- `monitor` - Monitoring (builds, messages, sessions, transactions, job_queue)
|
|
51
|
+
- `trace` - Execution traces (list, get, delete, delete_by_flow)
|
|
52
|
+
- `model` - Models and providers (list, providers, provider descriptors, enabled, default get/set/delete, mapping, validate, options)
|
|
53
|
+
- `governance` - Langflow 1.12.x provider, catalog, and policy-bundle administration
|
|
54
|
+
- `authz` - RBAC authorization (roles, role assignments, teams, shares, audit, my permissions)
|
|
55
|
+
- `user` - User management (list, get_current, update, reset_password, create)
|
|
56
|
+
- `auth` - Authentication (login, auto_login, logout, refresh, api keys, save_store_key)
|
|
57
|
+
- `store` - Component store (list, get, tags, likes, save_api_key, create, like, update_custom)
|
|
45
58
|
- `registration` - User registration (get, register)
|
|
46
59
|
- `validation` - Code/prompt validation (code, prompt)
|
|
47
|
-
- `
|
|
60
|
+
- `mcp_server` - MCP server management (list, get, create, update, delete)
|
|
61
|
+
- `mcp_project` - MCP project config/install (get/update config, get_installed, install, composer_url)
|
|
62
|
+
- `extension` - Langflow extensions (reload, events)
|
|
63
|
+
- `response` - OpenAI-compatible responses (create)
|
|
64
|
+
- `system` - System info (health, version, logs, pictures, voices, session, webhook_events, health_check, healthz)
|
|
65
|
+
- `a2a` - A2A (Agent-to-Agent) protocol (list_agents, agent_card, jsonrpc)
|
|
48
66
|
|
|
49
67
|
It provides structured access to:
|
|
50
68
|
|
|
@@ -61,7 +79,7 @@ It provides structured access to:
|
|
|
61
79
|
|
|
62
80
|
### Prerequisites
|
|
63
81
|
|
|
64
|
-
- Node.js installed on your system
|
|
82
|
+
- Node.js 20 or newer installed on your system
|
|
65
83
|
- A running Langflow instance
|
|
66
84
|
- Langflow API key
|
|
67
85
|
|
|
@@ -143,6 +161,79 @@ Add to your Claude Desktop config file:
|
|
|
143
161
|
|
|
144
162
|
Restart Claude Desktop after updating configuration.
|
|
145
163
|
|
|
164
|
+
### Claude Code, Codex, and other MCP hosts
|
|
165
|
+
|
|
166
|
+
The server supports both standard MCP transports: local `stdio` and remote
|
|
167
|
+
Streamable HTTP. MCP clients use the same tool and schema surface regardless
|
|
168
|
+
of transport. Use `stdio` when the host can launch a local process; use HTTP
|
|
169
|
+
when the server runs as a separately deployed service.
|
|
170
|
+
|
|
171
|
+
#### Codex CLI — local stdio
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
codex mcp add langflow \
|
|
175
|
+
--env LANGFLOW_BASE_URL=http://localhost:7860 \
|
|
176
|
+
--env LANGFLOW_API_KEY=your-api-key-here \
|
|
177
|
+
-- npx -y langflow-mcp-server
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
#### Claude Code — local stdio
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
claude mcp add langflow \
|
|
184
|
+
-e LANGFLOW_BASE_URL=http://localhost:7860 \
|
|
185
|
+
-e LANGFLOW_API_KEY=your-api-key-here \
|
|
186
|
+
-- npx -y langflow-mcp-server
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
#### Remote Streamable HTTP
|
|
190
|
+
|
|
191
|
+
Start the server with an explicit bearer token when binding outside the local
|
|
192
|
+
machine. `HOST=127.0.0.1` is the secure default; use `HOST=0.0.0.0` only with
|
|
193
|
+
authentication and a TLS-terminating reverse proxy.
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
MCP_MODE=http \
|
|
197
|
+
HOST=0.0.0.0 \
|
|
198
|
+
PORT=3000 \
|
|
199
|
+
AUTH_TOKEN=replace-with-a-long-random-token \
|
|
200
|
+
LANGFLOW_BASE_URL=https://langflow.example.com \
|
|
201
|
+
LANGFLOW_API_KEY=your-api-key-here \
|
|
202
|
+
npx -y langflow-mcp-server
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
The MCP endpoint is `https://your-host.example/mcp`; the health endpoint is
|
|
206
|
+
`https://your-host.example/health`. For browser-based callers, set
|
|
207
|
+
`MCP_ALLOWED_ORIGINS` to a comma-separated list of exact HTTPS origins. Wildcard
|
|
208
|
+
origins are rejected.
|
|
209
|
+
|
|
210
|
+
Codex CLI can keep the bearer token in an environment variable:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
export LANGFLOW_MCP_TOKEN='set-this-in-your-shell'
|
|
214
|
+
codex mcp add langflow-remote \
|
|
215
|
+
--url https://your-host.example/mcp \
|
|
216
|
+
--bearer-token-env-var LANGFLOW_MCP_TOKEN
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
The environment variable must be present whenever Codex starts or reconnects
|
|
220
|
+
to this server.
|
|
221
|
+
|
|
222
|
+
Claude Code accepts the same Streamable HTTP endpoint:
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
export LANGFLOW_MCP_TOKEN='set-this-in-your-shell'
|
|
226
|
+
claude mcp add --transport http --scope user \
|
|
227
|
+
--header "Authorization: Bearer ${LANGFLOW_MCP_TOKEN}" \
|
|
228
|
+
langflow-remote https://your-host.example/mcp
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
This stores the header in the Claude MCP configuration; keep that configuration
|
|
232
|
+
outside source control. Hosts such as Cloud Code, Gemini
|
|
233
|
+
clients, and other MCP-compatible tools can use the same `/mcp` endpoint when
|
|
234
|
+
they support Streamable HTTP; their configuration syntax is host-specific and
|
|
235
|
+
has not been claimed as an end-to-end test in this repository.
|
|
236
|
+
|
|
146
237
|
### Docker Deployment
|
|
147
238
|
|
|
148
239
|
The MCP server can be run in a Docker container for easier deployment and isolation.
|
|
@@ -184,8 +275,10 @@ docker run -it --rm \
|
|
|
184
275
|
docker run -d \
|
|
185
276
|
-p 3000:3000 \
|
|
186
277
|
-e MCP_MODE=http \
|
|
278
|
+
-e HOST=0.0.0.0 \
|
|
187
279
|
-e PORT=3000 \
|
|
188
280
|
-e AUTH_TOKEN=your-secure-token \
|
|
281
|
+
-e MCP_ALLOWED_ORIGINS=https://your-client.example \
|
|
189
282
|
-e LANGFLOW_BASE_URL=http://langflow:7860 \
|
|
190
283
|
-e LANGFLOW_API_KEY=your-api-key \
|
|
191
284
|
langflow-mcp-server:latest
|
|
@@ -207,81 +300,123 @@ environment:
|
|
|
207
300
|
- MCP_MODE=http
|
|
208
301
|
- PORT=3000
|
|
209
302
|
- AUTH_TOKEN=your-secure-token
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
## Deprecated Tools
|
|
213
|
-
|
|
214
|
-
⚠️ **Important**: This server includes 4 deprecated tools that match deprecated endpoints in Langflow API 1.6.4:
|
|
215
|
-
- `build_vertices` - Use `build_flow` instead
|
|
216
|
-
- `get_vertex` - Use `build_flow` or `get_flow` instead
|
|
217
|
-
- `stream_vertex_build` - Use `get_build_status` with streaming instead
|
|
218
|
-
- `get_task_status` - Use `get_build_status` instead
|
|
219
|
-
|
|
220
|
-
These tools are **enabled by default** but marked with ⚠️ warnings. To disable them, set:
|
|
221
|
-
```bash
|
|
222
|
-
ENABLE_DEPRECATED_TOOLS=false
|
|
303
|
+
- MCP_ALLOWED_ORIGINS=https://your-client.example
|
|
223
304
|
```
|
|
224
305
|
|
|
225
306
|
## Available MCP Tools
|
|
226
307
|
|
|
227
308
|
Once connected, Claude can use:
|
|
228
|
-
- **Standard mode**:
|
|
229
|
-
- **Consolidated mode**:
|
|
309
|
+
- **Standard mode**: 236 individual tools
|
|
310
|
+
- **Consolidated mode**: 29 action-based tools (recommended for reduced token usage)
|
|
230
311
|
|
|
231
|
-
|
|
312
|
+
> **Note**: Raw Langflow transport endpoints (`/api/mcp/*`) and doc-rendering
|
|
313
|
+
> endpoints (`/docs`, `/redoc`, `/openapi.json`) are intentionally **not** exposed as
|
|
314
|
+
> tools — they are protocol/transport surfaces, not data operations.
|
|
232
315
|
|
|
233
|
-
###
|
|
316
|
+
### Standard Mode Tools (236 tools)
|
|
317
|
+
|
|
318
|
+
### Flow Management (13 tools)
|
|
234
319
|
- **`create_flow`** - Create a new Langflow flow
|
|
235
320
|
- **`list_flows`** - List all flows with pagination and filtering
|
|
236
321
|
- **`get_flow`** - Get details of a specific flow by ID
|
|
237
322
|
- **`update_flow`** - Update an existing flow
|
|
238
323
|
- **`delete_flow`** - Delete a single flow
|
|
239
324
|
- **`delete_flows`** - Delete multiple flows at once
|
|
325
|
+
- **`replace_flow`** - Replace a flow's full definition
|
|
326
|
+
- **`expand_flows`** - Expand flows with embedded component data
|
|
327
|
+
- **`upload_flow`** - Upload a flow from JSON data
|
|
328
|
+
- **`download_flows`** - Download multiple flows as JSON export
|
|
329
|
+
- **`get_basic_examples`** - Get pre-built example flows
|
|
330
|
+
- **`batch_create_flows`** - Create multiple flows in one operation
|
|
331
|
+
- **`get_public_flow`** - Get a public flow without authentication
|
|
240
332
|
|
|
241
|
-
### Flow Execution (
|
|
333
|
+
### Flow Execution (7 tools)
|
|
242
334
|
- **`run_flow`** - Execute a flow with input configuration (supports streaming)
|
|
335
|
+
- **`run_flow_advanced`** - Advanced flow execution with full control
|
|
336
|
+
- **`run_flow_session`** - Execute a flow within a session context
|
|
243
337
|
- **`trigger_webhook`** - Trigger a flow via webhook endpoint
|
|
338
|
+
- **`get_webhook_events`** - Get webhook trigger events for a flow
|
|
339
|
+
- **`process_flow`** - Legacy process endpoint for flows
|
|
340
|
+
- **`predict_flow`** - Legacy predict endpoint for flows
|
|
244
341
|
|
|
245
|
-
###
|
|
246
|
-
- **`
|
|
247
|
-
- **`
|
|
248
|
-
- **`
|
|
342
|
+
### Flow Versions & Events (7 tools)
|
|
343
|
+
- **`list_flow_versions`** - List versions of a flow
|
|
344
|
+
- **`create_flow_version`** - Create a new flow version
|
|
345
|
+
- **`get_flow_version`** - Get a specific flow version
|
|
346
|
+
- **`delete_flow_version`** - Delete a flow version
|
|
347
|
+
- **`activate_flow_version`** - Activate a specific flow version
|
|
348
|
+
- **`get_flow_events`** - Get lifecycle events for a flow
|
|
349
|
+
- **`create_flow_event`** - Create a lifecycle event for a flow
|
|
249
350
|
|
|
250
|
-
###
|
|
351
|
+
### Build Operations (9 tools)
|
|
352
|
+
- **`build_flow`** - Build/compile a flow and return job_id for async execution
|
|
353
|
+
- **`get_build_status`** - Poll build status and events for a specific job
|
|
354
|
+
- **`cancel_build`** - Cancel a running build job
|
|
355
|
+
- **`build_public_flow`** - Build a public flow without authentication
|
|
356
|
+
- **`get_public_build_events`** - Get events for a public build job
|
|
357
|
+
- **`cancel_public_build`** - Cancel a public build job
|
|
358
|
+
- **`get_task_status`** - Get status of an async task
|
|
359
|
+
- **`build_vertices`** - Get vertex build order for a flow
|
|
360
|
+
- **`stream_vertex_build`** - Stream real-time build events for a vertex
|
|
361
|
+
|
|
362
|
+
### Workflows (v2) (7 tools)
|
|
363
|
+
- **`run_workflow`** - Run a v2 workflow
|
|
364
|
+
- **`get_workflow_result`** - Get the result of a workflow run
|
|
365
|
+
- **`stop_workflow`** - Stop a running workflow
|
|
366
|
+
- **`list_pending_workflows`** - List pending HITL requests for a flow
|
|
367
|
+
- **`get_workflow_events`** - Re-attach to a workflow job event stream
|
|
368
|
+
- **`resume_workflow`** - Resume a workflow with a request ID and optional decision
|
|
369
|
+
- **`run_public_workflow`** - Run a public stream-only workflow
|
|
370
|
+
|
|
371
|
+
### Agentic (5 tools)
|
|
372
|
+
- **`agentic_assist`** - Get agentic assistance for a flow component
|
|
373
|
+
- **`agentic_assist_stream`** - Get streaming agentic assistance for a flow component
|
|
374
|
+
- **`agentic_assist_run`** - Run the assistant headlessly and persist flow changes
|
|
375
|
+
- **`agentic_check_config`** - Check whether agentic features are configured
|
|
376
|
+
- **`agentic_execute`** - Execute an agentic flow by name
|
|
377
|
+
|
|
378
|
+
### Responses (2 tools)
|
|
379
|
+
- **`create_response`** - Create an OpenAI-compatible response
|
|
380
|
+
- **`get_session`** - Get a response/conversation session
|
|
381
|
+
|
|
382
|
+
### Folder Management (7 tools)
|
|
251
383
|
- **`list_folders`** - List all folders with pagination
|
|
252
384
|
- **`create_folder`** - Create a new folder
|
|
253
385
|
- **`get_folder`** - Get folder details by ID
|
|
254
386
|
- **`update_folder`** - Update folder name, description, or parent
|
|
255
387
|
- **`delete_folder`** - Delete a folder
|
|
388
|
+
- **`download_folder`** - Download entire folder as archive
|
|
389
|
+
- **`upload_folder`** - Upload folder from archive
|
|
256
390
|
|
|
257
|
-
### Project Management (
|
|
391
|
+
### Project Management (8 tools)
|
|
258
392
|
- **`list_projects`** - List all projects with pagination
|
|
259
393
|
- **`create_project`** - Create a new project
|
|
260
394
|
- **`get_project`** - Get project details by ID
|
|
261
395
|
- **`update_project`** - Update project name or description
|
|
396
|
+
- **`upsert_project`** - Create or update a project at a caller-supplied ID
|
|
262
397
|
- **`delete_project`** - Delete a project
|
|
263
398
|
- **`upload_project`** - Upload a project from JSON data
|
|
264
399
|
- **`download_project`** - Download a project as JSON export
|
|
265
400
|
|
|
266
|
-
### Variable Management (
|
|
401
|
+
### Variable Management (5 tools)
|
|
267
402
|
- **`list_variables`** - List all global variables
|
|
268
403
|
- **`create_variable`** - Create a new variable
|
|
269
404
|
- **`update_variable`** - Update variable properties
|
|
270
405
|
- **`delete_variable`** - Delete a variable
|
|
406
|
+
- **`detect_variables`** - Detect variables referenced in a value/template
|
|
271
407
|
|
|
272
|
-
###
|
|
273
|
-
- **`build_flow`** - Build/compile a flow and return job_id for async execution
|
|
274
|
-
- **`get_build_status`** - Poll build status and events for a specific job
|
|
275
|
-
- **`cancel_build`** - Cancel a running build job
|
|
276
|
-
|
|
277
|
-
### Knowledge Base Management (4 tools)
|
|
408
|
+
### Knowledge Base Management (11 tools)
|
|
278
409
|
- **`list_knowledge_bases`** - List all available knowledge bases
|
|
410
|
+
- **`list_knowledge_bases_detailed`** - List knowledge bases with detailed metadata
|
|
279
411
|
- **`get_knowledge_base`** - Get detailed information about a specific knowledge base
|
|
412
|
+
- **`create_knowledge_base`** - Create a new knowledge base
|
|
280
413
|
- **`delete_knowledge_base`** - Delete a specific knowledge base
|
|
281
414
|
- **`bulk_delete_knowledge_bases`** - Delete multiple knowledge bases at once
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
- **`
|
|
415
|
+
- **`upload_knowledge_base`** - Upload a file to create/update a knowledge base
|
|
416
|
+
- **`preview_knowledge_base_chunks`** - Preview how a document will be chunked
|
|
417
|
+
- **`list_knowledge_base_chunks`** - List stored chunks for a knowledge base
|
|
418
|
+
- **`ingest_knowledge_base`** - Ingest documents into a knowledge base
|
|
419
|
+
- **`cancel_knowledge_base_ingest`** - Cancel an in-progress ingest job
|
|
285
420
|
|
|
286
421
|
### File Management (5 tools)
|
|
287
422
|
- **`upload_file`** - Upload a file to a specific flow
|
|
@@ -290,73 +425,116 @@ Once connected, Claude can use:
|
|
|
290
425
|
- **`delete_file`** - Delete a file from a flow
|
|
291
426
|
- **`get_file_image`** - Get an image file from a flow
|
|
292
427
|
|
|
293
|
-
###
|
|
428
|
+
### Files (v2) (8 tools)
|
|
429
|
+
- **`list_files_v2`** - List all user-scoped v2 files
|
|
430
|
+
- **`upload_file_v2`** - Upload a v2 file
|
|
431
|
+
- **`get_file_v2`** - Get v2 file metadata or content
|
|
432
|
+
- **`rename_file_v2`** - Rename a v2 file
|
|
433
|
+
- **`delete_file_v2`** - Delete a v2 file
|
|
434
|
+
- **`delete_all_files_v2`** - Delete all v2 files
|
|
435
|
+
- **`batch_download_files_v2`** - Download multiple v2 files
|
|
436
|
+
- **`batch_delete_files_v2`** - Delete multiple v2 files
|
|
437
|
+
|
|
438
|
+
### Component Discovery & Custom Components (3 tools)
|
|
439
|
+
- **`list_components`** - List all available Langflow components
|
|
440
|
+
- **`create_custom_component`** - Create a new custom component
|
|
441
|
+
- **`update_custom_component`** - Update an existing custom component
|
|
442
|
+
|
|
443
|
+
### Monitoring & Analytics (12 tools)
|
|
294
444
|
- **`get_monitor_builds`** - Get build execution history for a flow
|
|
295
445
|
- **`get_monitor_messages`** - Query chat/message history with filtering
|
|
296
446
|
- **`get_monitor_message`** - Get details of a specific message
|
|
447
|
+
- **`update_monitor_message`** - Update a stored message
|
|
297
448
|
- **`get_monitor_sessions`** - List all chat session IDs
|
|
298
449
|
- **`get_monitor_session_messages`** - Get all messages for a session
|
|
299
450
|
- **`migrate_monitor_session`** - Migrate messages between sessions
|
|
300
451
|
- **`get_monitor_transactions`** - List transaction logs for a flow
|
|
301
452
|
- **`delete_monitor_builds`** - Delete build history for a flow
|
|
302
453
|
- **`delete_monitor_messages`** - Delete multiple messages by ID
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
- **`
|
|
454
|
+
- **`delete_monitor_session_messages`** - Delete all messages for a session
|
|
455
|
+
- **`delete_monitor_sessions`** - Delete chat sessions
|
|
456
|
+
|
|
457
|
+
### Traces (4 tools)
|
|
458
|
+
- **`list_traces`** - List execution traces with filters
|
|
459
|
+
- **`get_trace`** - Get a specific execution trace
|
|
460
|
+
- **`delete_trace`** - Delete a specific trace
|
|
461
|
+
- **`delete_traces`** - Delete all traces for a flow
|
|
462
|
+
|
|
463
|
+
### Shared Messages (5 tools)
|
|
464
|
+
- **`get_shared_messages`** - Get shared messages
|
|
465
|
+
- **`get_shared_sessions`** - Get shared sessions
|
|
466
|
+
- **`update_shared_message`** - Update a shared message
|
|
467
|
+
- **`migrate_shared_session`** - Migrate a shared session
|
|
468
|
+
- **`delete_shared_session`** - Delete a shared session
|
|
469
|
+
|
|
470
|
+
### Models & Providers (13 tools)
|
|
471
|
+
- **`list_models`** - List available models
|
|
472
|
+
- **`list_model_providers`** - List all model providers
|
|
473
|
+
- **`list_model_provider_descriptors`** - List providers with stable IDs and display names
|
|
474
|
+
- **`list_enabled_providers`** - List enabled providers
|
|
475
|
+
- **`list_enabled_models`** - List enabled models
|
|
476
|
+
- **`set_enabled_models`** - Enable/disable models
|
|
477
|
+
- **`get_default_model`** - Get the default model for a type
|
|
478
|
+
- **`set_default_model`** - Set the default model for a type
|
|
479
|
+
- **`delete_default_model`** - Remove the default model for a type
|
|
480
|
+
- **`get_provider_variable_mapping`** - Get provider-to-variable mapping
|
|
481
|
+
- **`validate_model_provider`** - Validate provider credentials
|
|
482
|
+
- **`get_language_model_options`** - Get language model options
|
|
483
|
+
- **`get_embedding_model_options`** - Get embedding model options
|
|
308
484
|
|
|
309
485
|
### User Management (5 tools)
|
|
310
486
|
- **`list_users`** - List all users (admin only)
|
|
311
487
|
- **`get_current_user`** - Get current authenticated user info
|
|
312
|
-
- **`get_user`** - Get details of a specific user
|
|
313
488
|
- **`update_user`** - Update user profile information
|
|
314
489
|
- **`reset_user_password`** - Reset password for a user (admin only)
|
|
490
|
+
- **`create_user`** - Create a new user (admin only)
|
|
315
491
|
|
|
316
492
|
### API Key Management (3 tools)
|
|
317
493
|
- **`list_api_keys`** - List all API keys for the user
|
|
318
494
|
- **`create_api_key`** - Create a new API key
|
|
319
495
|
- **`delete_api_key`** - Delete an API key
|
|
320
496
|
|
|
321
|
-
### Custom Components (2 tools)
|
|
322
|
-
- **`list_custom_components`** - List all custom components
|
|
323
|
-
- **`create_custom_component`** - Create a new custom component
|
|
324
|
-
|
|
325
497
|
### Authentication (4 tools)
|
|
326
498
|
- **`login`** - Authenticate with username and password
|
|
327
499
|
- **`auto_login`** - Auto-login with stored credentials
|
|
328
500
|
- **`refresh_token`** - Refresh authentication token
|
|
329
501
|
- **`logout`** - Logout and invalidate session
|
|
330
502
|
|
|
331
|
-
###
|
|
503
|
+
### Registration (2 tools)
|
|
504
|
+
- **`get_registration`** - Check whether registration is enabled
|
|
505
|
+
- **`register_user`** - Register a new user account
|
|
506
|
+
|
|
507
|
+
### Store & Marketplace (9 tools)
|
|
332
508
|
- **`check_store`** - Check if component store is enabled
|
|
333
509
|
- **`check_store_api_key`** - Validate a store API key
|
|
510
|
+
- **`save_store_api_key`** - Save a store API key
|
|
334
511
|
- **`list_store_components`** - Browse available components in the store
|
|
335
512
|
- **`get_store_component`** - Get details of a store component
|
|
513
|
+
- **`create_store_component`** - Publish a component to the store
|
|
514
|
+
- **`like_store_component`** - Like a store component
|
|
336
515
|
- **`list_store_tags`** - List all component tags in the store
|
|
337
516
|
- **`get_user_likes`** - Get components liked by user
|
|
338
517
|
|
|
339
|
-
### Validation
|
|
518
|
+
### Validation (2 tools)
|
|
340
519
|
- **`validate_code`** - Validate Python code for custom components
|
|
341
520
|
- **`validate_prompt`** - Validate prompt template syntax
|
|
342
521
|
|
|
343
|
-
###
|
|
344
|
-
- **`
|
|
345
|
-
- **`
|
|
346
|
-
- **`
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
- **`
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
- **`
|
|
355
|
-
- **`
|
|
356
|
-
|
|
357
|
-
### Starter & Templates (
|
|
522
|
+
### MCP Servers (v2) (5 tools)
|
|
523
|
+
- **`list_mcp_servers`** - List MCP servers registered with Langflow
|
|
524
|
+
- **`get_mcp_server`** - Get an MCP server by name
|
|
525
|
+
- **`create_mcp_server`** - Create an MCP server
|
|
526
|
+
- **`update_mcp_server`** - Update an MCP server
|
|
527
|
+
- **`delete_mcp_server`** - Delete an MCP server
|
|
528
|
+
|
|
529
|
+
### MCP Project Management (5 tools)
|
|
530
|
+
- **`get_mcp_project_config`** - Get MCP config for a project
|
|
531
|
+
- **`update_mcp_project_config`** - Update MCP config for a project
|
|
532
|
+
- **`get_mcp_project_installed`** - Get installed MCP clients for a project
|
|
533
|
+
- **`install_mcp_project`** - Install MCP for a project into a client
|
|
534
|
+
- **`get_mcp_project_composer_url`** - Get the MCP composer URL for a project
|
|
535
|
+
|
|
536
|
+
### Starter & Templates (1 tool)
|
|
358
537
|
- **`list_starter_projects`** - List available starter templates
|
|
359
|
-
- **`upload_knowledge_base`** - Upload file to create/update knowledge base
|
|
360
538
|
|
|
361
539
|
### Profile & Media (2 tools)
|
|
362
540
|
- **`list_profile_pictures`** - List available profile pictures
|
|
@@ -365,11 +543,85 @@ Once connected, Claude can use:
|
|
|
365
543
|
### Integration Tools (1 tool)
|
|
366
544
|
- **`list_elevenlabs_voices`** - List ElevenLabs text-to-speech voices
|
|
367
545
|
|
|
368
|
-
### System & Health (
|
|
546
|
+
### System & Health (5 tools)
|
|
369
547
|
- **`get_version`** - Get Langflow API version information
|
|
370
548
|
- **`health_check`** - Check Langflow instance health status
|
|
549
|
+
- **`get_health_check`** - Get a detailed health-check report
|
|
550
|
+
- **`get_healthz`** - Get the Kubernetes-style readiness report
|
|
371
551
|
- **`get_logs`** - Retrieve system logs (supports streaming)
|
|
372
552
|
|
|
553
|
+
### Authorization / RBAC (23 tools, Langflow 1.10.0)
|
|
554
|
+
- **`list_authz_roles`**, **`get_authz_role`**, **`create_authz_role`**, **`update_authz_role`**, **`delete_authz_role`** - Manage roles
|
|
555
|
+
- **`list_authz_role_assignments`**, **`create_authz_role_assignment`**, **`delete_authz_role_assignment`** - Manage role assignments
|
|
556
|
+
- **`list_authz_teams`**, **`get_authz_team`**, **`create_authz_team`**, **`update_authz_team`**, **`delete_authz_team`** - Manage teams
|
|
557
|
+
- **`list_authz_team_members`**, **`add_authz_team_member`**, **`remove_authz_team_member`** - Manage team members
|
|
558
|
+
- **`list_authz_shares`**, **`get_authz_share`**, **`create_authz_share`**, **`update_authz_share`**, **`delete_authz_share`** - Manage resource shares
|
|
559
|
+
- **`get_authz_audit`** - Query the authorization audit log (superuser)
|
|
560
|
+
- **`get_my_permissions`** - Get the caller's effective permissions
|
|
561
|
+
|
|
562
|
+
### Memory Bases (10 tools, Langflow 1.12.3 - experimental)
|
|
563
|
+
- **`create_memory_base`**, **`list_memory_bases`**, **`get_memory_base`** - Manage memory bases
|
|
564
|
+
- **`list_memory_base_sessions`**, **`list_memory_base_messages`** - Inspect tracked sessions/messages
|
|
565
|
+
- **`update_memory_base`**, **`delete_memory_base`** - Update/delete a memory base
|
|
566
|
+
- **`flush_memory_base`**, **`check_memory_base_mismatch`**, **`regenerate_memory_base`** - Lifecycle operations
|
|
567
|
+
|
|
568
|
+
### Knowledge Base Overhaul (7 tools, Langflow 1.10.0)
|
|
569
|
+
- **`test_knowledge_base_connection`** - Test a vector backend connection
|
|
570
|
+
- **`list_knowledge_base_connectors`** - List available ingestion connectors
|
|
571
|
+
- **`ingest_knowledge_base_folder`**, **`ingest_knowledge_base_connector`** - Ingest from a server folder or connector
|
|
572
|
+
- **`get_knowledge_base_metadata_keys`** - List distinct metadata keys/values
|
|
573
|
+
- **`list_knowledge_base_runs`**, **`get_knowledge_base_run`** - Inspect ingestion runs
|
|
574
|
+
|
|
575
|
+
### Extensions & Misc (6 tools, Langflow 1.10.0)
|
|
576
|
+
- **`reload_extension_bundle`** - Reload an extension bundle (requires server-side flag)
|
|
577
|
+
- **`get_extension_events`** - Poll extension events for the current user
|
|
578
|
+
- **`get_agentic_file`** - Read a file from the per-user agentic sandbox
|
|
579
|
+
- **`reset_agentic_session`** - Reset agentic session/sandbox state
|
|
580
|
+
- **`get_flow_note_translations`** - Get localized note-node translations for a flow
|
|
581
|
+
- **`get_job_queue_metrics`** - Job-queue metrics snapshot (superuser)
|
|
582
|
+
|
|
583
|
+
### Langflow 1.12.x Governance (12 tools)
|
|
584
|
+
- **`get_model_provider_policy`**, **`replace_model_provider_policy`** - Read or replace the install-wide approved-provider policy
|
|
585
|
+
- **`get_catalog_component_policy`**, **`replace_catalog_component_policy`** - Read or replace blocked component keys
|
|
586
|
+
- **`get_catalog_template_policy`**, **`replace_catalog_template_policy`** - Read or replace blocked template keys
|
|
587
|
+
- **`get_catalog_policy_usage`**, **`get_catalog_policy_usage_flows`** - Inspect component usage across flows
|
|
588
|
+
- **`get_policy_bundle`**, **`replace_policy_bundle`** - Read or atomically replace the combined governance policy
|
|
589
|
+
- **`list_policy_bundle_history`**, **`rollback_policy_bundle`** - Inspect or roll back policy revisions
|
|
590
|
+
|
|
591
|
+
Policy replacement operations are superuser-only and use complete sets. Read the
|
|
592
|
+
current policy revision before writing so optimistic concurrency conflicts are
|
|
593
|
+
handled explicitly.
|
|
594
|
+
|
|
595
|
+
> The v2 workflow runner (`run_workflow` / `workflow` action `run`) also accepts request-level
|
|
596
|
+
> `globals`, the preferred replacement for the deprecated
|
|
597
|
+
> `X-LANGFLOW-GLOBAL-VAR-*` headers.
|
|
598
|
+
|
|
599
|
+
### A2A Protocol (3 tools, Langflow 1.12.x)
|
|
600
|
+
- **`list_a2a_agents`** - List available A2A (Agent-to-Agent) agents
|
|
601
|
+
- **`get_a2a_agent_card`** - Get a flow's A2A agent card (`.well-known/agent-card.json`)
|
|
602
|
+
- **`invoke_a2a_jsonrpc`** - Invoke a flow via the A2A JSON-RPC endpoint (passthrough envelope)
|
|
603
|
+
|
|
604
|
+
> A2A endpoints require server-side enablement (`LANGFLOW_A2A_ENABLED`); otherwise
|
|
605
|
+
> requests surface as a thrown `Failed to ...` error.
|
|
606
|
+
|
|
607
|
+
### v2 Workflow HITL & Public Execution (4 tools, Langflow 1.12.x)
|
|
608
|
+
- **`list_pending_workflows`** - List pending human-in-the-loop requests for a required `flow_id`
|
|
609
|
+
- **`get_workflow_events`** - Re-attach to a workflow job event stream by job ID
|
|
610
|
+
- **`resume_workflow`** - Resume a paused HITL workflow with `request_id` and an optional decision
|
|
611
|
+
- **`run_public_workflow`** - Run a public (unauthenticated-eligible) workflow
|
|
612
|
+
|
|
613
|
+
> The `get_workflow_events` and `run_public_workflow` endpoints return server-sent-event
|
|
614
|
+
> streams; the initial payload is captured but streaming is not incrementally surfaced.
|
|
615
|
+
|
|
616
|
+
### External / Trusted-JWT Authentication (Langflow 1.11.x)
|
|
617
|
+
|
|
618
|
+
Langflow 1.11.x adds external trusted-JWT / JIT-provisioning authentication. This is
|
|
619
|
+
controlled entirely by the Langflow **server** environment and adds **no MCP tools**:
|
|
620
|
+
`EXTERNAL_AUTH_ENABLED`, `EXTERNAL_AUTH_TOKEN_HEADER`/`EXTERNAL_AUTH_TOKEN_COOKIE`,
|
|
621
|
+
`EXTERNAL_AUTH_JWKS_URL`, `EXTERNAL_AUTH_ISSUER`/`EXTERNAL_AUTH_AUDIENCE`/`EXTERNAL_AUTH_ALGORITHMS`,
|
|
622
|
+
`EXTERNAL_AUTH_*_CLAIM`, and `EXTERNAL_AUTH_ACCESS_CEILING_*`. The MCP client keeps using its
|
|
623
|
+
API key / Bearer token as before.
|
|
624
|
+
|
|
373
625
|
## Example Usage
|
|
374
626
|
|
|
375
627
|
```typescript
|
|
@@ -476,6 +728,9 @@ npm test
|
|
|
476
728
|
|
|
477
729
|
# Type checking
|
|
478
730
|
npm run typecheck
|
|
731
|
+
|
|
732
|
+
# HTTP development server with automatic TypeScript reload
|
|
733
|
+
npm run dev:http
|
|
479
734
|
```
|
|
480
735
|
|
|
481
736
|
## Project Structure
|
|
@@ -485,6 +740,7 @@ langflow-mcp/
|
|
|
485
740
|
├── src/
|
|
486
741
|
│ ├── mcp/
|
|
487
742
|
│ │ ├── index.ts # MCP server entry point
|
|
743
|
+
│ │ ├── http.ts # Streamable HTTP transport
|
|
488
744
|
│ │ ├── server.ts # MCP server implementation
|
|
489
745
|
│ │ └── tools.ts # Tool definitions
|
|
490
746
|
│ ├── services/
|
|
@@ -501,6 +757,8 @@ langflow-mcp/
|
|
|
501
757
|
|
|
502
758
|
## Attribution
|
|
503
759
|
|
|
760
|
+
Developed with [NoBrainer.Tech Flow](https://github.com/nobrainer-tech/nobrainer-tech-flow) for scoped implementation, independent reviews and release verification.
|
|
761
|
+
|
|
504
762
|
This project is inspired by and follows the structure of [n8n-mcp](https://github.com/czlonkowski/n8n-mcp) by Romuald Czlonkowski. Special thanks to the n8n-mcp project for the excellent MCP server architecture and implementation patterns.
|
|
505
763
|
|
|
506
764
|
## License
|
|
@@ -521,6 +779,16 @@ Contributions are welcome! Please:
|
|
|
521
779
|
- [Anthropic](https://anthropic.com) for the Model Context Protocol
|
|
522
780
|
- [czlonkowski/n8n-mcp](https://github.com/czlonkowski/n8n-mcp) for the inspiration and architecture
|
|
523
781
|
|
|
782
|
+
## Releasing
|
|
783
|
+
|
|
784
|
+
Release through `.github/workflows/publish.yml` on GitHub-hosted runners. The npm Trusted Publisher must use owner `nobrainer-tech`, repository `langflow-mcp`, workflow `publish.yml`, an empty environment and permission to run `npm publish`. No stored npm write token is required.
|
|
785
|
+
|
|
786
|
+
After reviewed changes are merged, push a new stable tag matching `package.json` and the lockfile. The workflow checks that the tag belongs to master, runs typecheck, tests, packaged MCP smoke and security audit, then publishes and verifies the exact npm commit and provenance before creating the GitHub Release. Existing tags must not be moved.
|
|
787
|
+
|
|
788
|
+
The provenance check binds the attestation's package, tarball SHA-512 digest, source repository and commit. It does not perform cryptographic verification of Sigstore signatures.
|
|
789
|
+
|
|
790
|
+
For tags created from 4.12.1 onward, recover an interrupted release by running the workflow at that exact tag (for example `gh workflow run publish.yml --ref v4.12.1`). This keeps the build source aligned with GitHub's provenance identity. An already-published version is accepted only when its commit and provenance match; it is never overwritten.
|
|
791
|
+
|
|
524
792
|
---
|
|
525
793
|
|
|
526
794
|
Built with ❤️ for the Langflow community
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-execution.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/advanced-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"advanced-execution.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/advanced-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,0BAA0B,EAAE,sBAexC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,WAsBzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBAUpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;IAClC,MAAM;IACN,IAAI;QACF,eAAe;QACf,QAAQ;;CAEX,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,kBASpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;IAClC,UAAU;IACV,UAAU;IACV,aAAa;QACX,OAAO;QACP,OAAO;QACP,OAAO;;CAEV,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,qBAWvC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,WAsBxC,CAAC;AAEF,eAAO,MAAM,kCAAkC,EAAE,oBAGhD,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,oBAEnD,CAAC"}
|