In your `config.json`, add: `"feconfigs.mcpServerProxyEndpoint": "<your fastgpt-mcp-server URL>"` (no trailing slash). For example:
Configure `SSE_MCP_SERVER_PROXY_ENDPOINT` in the FastGPT container. Set it to the client-accessible `fastgpt-mcp-server` URL without a trailing `/`. For example:
Only users who have deployed a FastGPT version earlier than `<4.8` need to run this step.
Only users who have deployed a FastGPT version earlier than `<4.8` need to run this step.
Starting from V4.15.0-beta7, workflow save payloads use the V2 structure consistently. Historical `apps.modules` and `app_versions.nodes` records may still use the V1 structure. Run the V1 -> V2 migration first, then run the V2 dirty-data cleanup in the next step.
Starting from V4.15.0-beta7, workflow save payloads use the V2 structure consistently. Historical `apps.modules` and `app_versions.nodes` records may still use the V1 structure. After upgrading, run the V1 -> V2 migration first, then run the V2 dirty-data cleanup in the next step.
Migration script path: `projects/app/src/pages/api/admin/dataClean/v1WorkflowToV2.ts`. This endpoint is only for this upgrade migration and is not a public OpenAPI endpoint.
Migration script path: `projects/app/src/pages/api/admin/dataClean/v1WorkflowToV2.ts`. This endpoint is only for this upgrade migration and is not a public OpenAPI endpoint.
...
@@ -40,8 +40,8 @@ Request parameters:
...
@@ -40,8 +40,8 @@ Request parameters:
Migration behavior:
Migration behavior:
1. Scans apps where `apps.version != 'v2'` and `type` is not `folder`, `httpPlugin`, or `toolFolder`.
1. Scans apps where `apps.version != 'v2'` and `type` is not `folder`, `httpPlugin`, or `toolFolder`.
2. For each batch of `apps`, converts and writes related `app_versions` first, then converts and writes `apps`, so a rerun will not miss historical versions after an interruption.
2. For each batch of `apps`, converts and writes related `app_versions` first, then converts and writes `apps`, so historical versions will not be missed if the migration is interrupted.
3. Converts V1 node fields to V2 fields, for example `moduleId` -> `nodeId` and `flowType` -> `flowNodeType`.
3. Converts V1 node fields to V2 node fields, such as `moduleId` -> `nodeId` and `flowType` -> `flowNodeType`.
4. Unknown node types fall back to `emptyNode`, and invalid `valueType` values are converted to `any`.
4. Unknown node types fall back to `emptyNode`, and invalid `valueType` values are converted to `any`.
5. Missing `node.name` falls back to `flowType`, and missing `input.label` falls back to `input.key`.
5. Missing `node.name` falls back to `flowType`, and missing `input.label` falls back to `input.key`.
6. Before writing, the script validates `nodes`, `edges`, and `chatConfig` with `PublishAppBodySchema`. Documents that fail validation are not written and are included in the endpoint response.
6. Before writing, the script validates `nodes`, `edges`, and `chatConfig` with `PublishAppBodySchema`. Documents that fail validation are not written and are included in the endpoint response.
...
@@ -68,8 +68,6 @@ The correct stored values are:
...
@@ -68,8 +68,6 @@ The correct stored values are:
This dirty data can affect workflow node input rendering and IO type checks. After running the V1 -> V2 migration, continue with the V2 cleanup script to scan and fix `apps.modules` and `app_versions.nodes`.
This dirty data can affect workflow node input rendering and IO type checks. After running the V1 -> V2 migration, continue with the V2 cleanup script to scan and fix `apps.modules` and `app_versions.nodes`.
Migration script path: `projects/app/src/pages/api/admin/dataClean/initWorkflowData.ts`. This endpoint is only for this upgrade migration and is not a public OpenAPI endpoint.
The endpoint uses dry-run mode by default. It formats data in memory and validates with `PublishAppBodySchema` without writing to MongoDB:
The endpoint uses dry-run mode by default. It formats data in memory and validates with `PublishAppBodySchema` without writing to MongoDB:
| `dryRun` | boolean | `true` | Whether to scan and validate only without writing changes. |
| `dryRun` | boolean | `true` | Whether to scan and validate only without writing changes. |
| `batchSize` | number | `1000` | Documents fetched per page. |
| `batchSize` | number | `1000` | Documents fetched per batch. |
| `writeBatchSize` | number | `10` | Documents written per `bulkWrite`. Lower it when online write pressure is high. |
| `writeBatchSize` | number | `10` | Documents written per `bulkWrite`. Lower it when online write pressure is high. |
Cleanup behavior:
Cleanup behavior:
...
@@ -104,15 +102,14 @@ Cleanup behavior:
...
@@ -104,15 +102,14 @@ Cleanup behavior:
4. Documents that fail Zod validation are only recorded in the response and are not written to MongoDB.
4. Documents that fail Zod validation are only recorded in the response and are not written to MongoDB.
5. In non-dry-run mode, only documents that changed during formatting and passed Zod validation are written. Unchanged documents are not written again.
5. In non-dry-run mode, only documents that changed during formatting and passed Zod validation are written. Unchanged documents are not written again.
The response includes separate statistics for `apps`, `appVersions`, and `total`, including scanned documents, fixable documents, Zod error count, successful writes, failed writes, enum expression statistics, format samples, and error samples.
The response includes separate statistics for `apps`, `appVersions`, and `total`, including scanned documents, fixable documents, Zod error count, successful writes, failed writes, enum expression statistics, change samples, and error samples.
### 3. Update Images
### 3. Update Images
- Update the fastgpt-app (FastGPT main service) image tag to v4.15.0.
See the [4.15.0 stable image tags](./41500.mdx) and update all images to the stable release.
- Update the fastgpt-pro (FastGPT commercial edition) image tag to v4.15.0.
## 🐛 Fixes
## 🐛 Fixes
1. Fixed historical V1 workflow data that could fail validation under the new save payload structure.
1. Fixed historical V1 workflow data that could fail validation under the new save payload structure.
2. Fixed dirty `FlowNodeInputTypeEnum.*`, `FlowNodeOutputTypeEnum.*`, and `WorkflowIOValueTypeEnum.*` expression strings in workflow nodes that could break input rendering and IO type checks.
2. Fixed dirty `FlowNodeInputTypeEnum.*`, `FlowNodeOutputTypeEnum.*`, and `WorkflowIOValueTypeEnum.*` expression strings in workflow node configuration that could break input rendering and IO type checks.
3. Fixed AgentV2 MCP not being able to retrieve schemas.
3. Fixed AgentV2 MCP not being able to retrieve schemas.