feat: UI/UX redesign for MCP Apps - 3 new apps + enhanced existing

Add workflow-list, execution-history, and health-dashboard apps.
Redesign operation-result with operation-aware headers, detail panels,
and copy-to-clipboard. Fix React hooks violations in validation-summary
and execution-history (useMemo after early returns). Add local preview
harness for development. Update tests for 5-app config.

Conceived by Romuald Członkowski - www.aiadvisors.pl/en

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
czlonkowski
2026-02-09 10:18:36 +08:00
parent c601581714
commit cfb20a1cc6
25 changed files with 1614 additions and 122 deletions

7
dist/mcp/server.js vendored
View File

@@ -427,6 +427,7 @@ class N8NDocumentationMCPServer {
description: tool.description
});
});
ui_1.UIAppRegistry.injectToolMeta(tools);
return { tools };
});
this.server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
@@ -529,10 +530,6 @@ class N8NDocumentationMCPServer {
if (name.startsWith('validate_') && structuredContent !== null) {
mcpResponse.structuredContent = structuredContent;
}
const uiApp = ui_1.UIAppRegistry.getAppForTool(name);
if (uiApp && uiApp.html) {
mcpResponse._meta = { ui: { app: uiApp.config.uri } };
}
return mcpResponse;
}
catch (error) {
@@ -585,7 +582,7 @@ class N8NDocumentationMCPServer {
});
this.server.setRequestHandler(types_js_1.ReadResourceRequestSchema, async (request) => {
const uri = request.params.uri;
const match = uri.match(/^n8n-mcp:\/\/ui\/(.+)$/);
const match = uri.match(/^ui:\/\/n8n-mcp\/(.+)$/);
if (!match) {
throw new Error(`Unknown resource URI: ${uri}`);
}