Files
n8n-mcp/.gitignore
Romuald Członkowski 1f45cc6dcc feat: MCP Apps - rich HTML UIs for tool results (#573)
* feat: add MCP Apps with rich HTML UIs for tool results

Add MCP Apps infrastructure that allows MCP hosts like Claude Desktop
to render rich HTML UIs alongside tool results via `_meta.ui` and the
MCP resources protocol.

- Server-side UI module (src/mcp/ui/) with UIAppRegistry, tool-to-UI
  mapping, and _meta.ui injection into tool responses
- React + Vite build pipeline (ui-apps/) producing self-contained HTML
  per app using vite-plugin-singlefile
- Operation Result UI for workflow CRUD tools (create, update, delete,
  test, autofix, deploy)
- Validation Summary UI for validation tools (validate_node,
  validate_workflow, n8n_validate_workflow)
- Shared component library (Card, Badge, Expandable) with n8n dark theme
- MCP resources protocol support (ListResources, ReadResource handlers)
- Graceful degradation when ui-apps/dist/ is not built
- 22 unit tests across 3 test files

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

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* test: improve MCP Apps test coverage and add security hardening

- Expand test suite from 22 to 57 tests across 3 test files
- Add UIAppRegistry.reset() for proper test isolation between tests
- Replace some fs mocks with real temp directory tests in registry
- Add edge case coverage: empty strings, pre-load state, double load,
  malformed URIs, duplicate tool patterns, empty HTML files
- Add regression tests for specific tool-to-UI mappings
- Add URI format consistency validation across all configs
- Improve _meta.ui injection tests with structuredContent coexistence
- Coverage: statements 79.4% -> 80%, lines 79.4% -> 80%

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

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 04:11:21 +01:00

147 lines
2.0 KiB
Plaintext

# Dependencies
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
.env*.local
# Build output
dist/
build/
out/
.next/
.nuxt/
.cache/
.parcel-cache/
# IDE and editor files
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store
Thumbs.db
# Logs
logs/
*.log
# Testing
coverage/
.nyc_output/
test-results/
test-reports/
test-summary.md
test-metadata.json
benchmark-results.json
benchmark-results*.json
benchmark-summary.json
coverage-report.json
benchmark-comparison.md
benchmark-comparison.json
benchmark-current.json
benchmark-baseline.json
tests/data/*.db
tests/fixtures/*.tmp
tests/test-results/
.test-dbs/
junit.xml
*.test.db
test-*.db
.vitest/
# TypeScript
*.tsbuildinfo
.tsc-cache/
# Package manager files
.npm/
.yarn/
.pnp.*
.yarn-integrity
# Docker
docker-compose.override.yml
# Miscellaneous
.eslintcache
.stylelintcache
*.pid
*.seed
*.pid.lock
.grunt/
.lock-wscript
.node_repl_history
.npmrc
.yarnrc
# Temporary files
temp/
tmp/
# Batch processing error files (may contain API tokens from templates)
docs/batch_*.jsonl
**/batch_*_error.jsonl
# Local documentation and analysis files
docs/local/
# Database files
# Database files - nodes.db is now tracked directly
# data/*.db
data/*.db-journal
data/*.db.bak
data/*.db.backup
!data/.gitkeep
!data/nodes.db
# Claude Desktop configs (personal)
claude_desktop_config.json
claude_desktop_config_*.json
!claude_desktop_config.example.json
# Personal wrapper scripts
mcp-server-v20.sh
rebuild-v20.sh
!mcp-server-v20.example.sh
# n8n-docs repo (cloned locally)
../n8n-docs/
n8n-docs/
# npm publish temporary directory
npm-publish-temp/
# Test files and logs
test-npx/
mcp-server-*.log
server.log
server-fixed.log
mcp-debug.log
# Temporary wrapper scripts
n8n-mcp-wrapper.sh
# Package tarballs
*.tgz
# MCP configuration files
.mcp.json
# UI Apps build output
ui-apps/dist/
ui-apps/node_modules/
# Telemetry configuration (user-specific)
~/.n8n-mcp/