MCP SAPUI5 Server

MCP SAPUI5 Server

A specialized MCP server for SAPUI5 and Fiori development that enables code generation, project analysis, and refactoring for JavaScript-based applications. It provides comprehensive tools for managing OData features, validating code compatibility, and searching official SAPUI5 SDK and MDN documentation.

Category
Visit Server

README

Servidor MCP SAPUI5

Servidor MCP especializado para desarrollo SAPUI5/Fiori en JavaScript, con herramientas modulares para analisis de proyectos, generacion de codigo, refactorizacion, validacion y consulta de documentacion.

Arquitectura

src/
  index.js
  server/
    mcpServer.js
    toolRegistry.js
  tools/
    agents/
      recommendProjectAgents.js
      materializeRecommendedAgents.js
      scaffoldProjectAgents.js
      validateProjectAgents.js
      saveAgentPack.js
      listAgentPacks.js
      applyAgentPack.js
      refreshProjectContextDocs.js
      recordAgentExecutionFeedback.js
      rankAgentPacks.js
      promoteAgentPack.js
      auditProjectMcpState.js
      upgradeProjectMcp.js
      ensureProjectMcpCurrent.js
      collectLegacyProjectIntake.js
      analyzeLegacyProjectBaseline.js
      buildAiContextIndex.js
      prepareLegacyProjectForAi.js
      scaffoldProjectSkills.js
      validateProjectSkills.js
      recordSkillExecutionFeedback.js
      rankProjectSkills.js
    ui5/
      catalogs/
        ui5ComponentFitRules.js
        ui5SymbolCatalog.js
      generateController.js
      generateFragment.js
      generateFormatter.js
      generateViewLogic.js
      generateFeature.js
      manageI18n.js
      analyzePerformance.js
      analyzeODataMetadata.js
      validateUi5Code.js
      validateUi5VersionCompatibility.js
      validateUi5ODataUsage.js
      scaffoldUi5ODataFeature.js
      securityCheckUi5App.js
    javascript/
      generateFunction.js
      refactorCode.js
      lintCode.js
      securityCheck.js
    project/
      analyzeProject.js
      auditGitWorktreeState.js
      analyzeGitDiff.js
      suggestTestsFromGitDiff.js
      generateCommitMessageFromDiff.js
      prepareSafeCommit.js
      riskReviewFromDiff.js
      generatePrDescription.js
      branchHygieneReport.js
      conflictPrecheck.js
      traceChangeOwnership.js
      smartStageChanges.js
      detectCommitSmells.js
      releaseNotesFromCommits.js
      mergeReadinessReport.js
      mergeActionPlan.js
      readFile.js
      searchFiles.js
      analyzeCurrentFile.js
      syncManifest.js
      writePreview.js
      applyPatch.js
      rollbackPatch.js
      runProjectQualityGate.js
      mcpHealthReport.js
      mcpMetricsDashboard.js
    documentation/
      cacheStore.js
      searchUI5SDK.js
      searchMDN.js
    index.js
  utils/
    fileSystem.js
    manifestSync.js
    parser.js
    refactor.js
    patchWriter.js
    agentPolicy.js
    mcpProjectLayout.js
    xmlParser.js
    validator.js
    logger.js
    telemetry.js
    git.js
    errors.js
    http.js

Herramientas MCP implementadas

  1. analyze_ui5_project
  2. generate_ui5_controller
  3. generate_ui5_fragment
  4. generate_ui5_formatter
  5. generate_ui5_view_logic
  6. generate_ui5_feature
  7. manage_ui5_i18n
  8. analyze_ui5_performance
  9. read_project_file
  10. search_project_files
  11. analyze_current_file
  12. sync_manifest_json
  13. write_project_file_preview
  14. apply_project_patch
  15. rollback_project_patch
  16. run_project_quality_gate
  17. mcp_health_report
  18. search_ui5_sdk
  19. search_mdn
  20. generate_javascript_function
  21. refactor_javascript_code
  22. lint_javascript_code
  23. security_check_javascript
  24. validate_ui5_code
  25. validate_ui5_version_compatibility
  26. security_check_ui5_app
  27. analyze_odata_metadata
  28. validate_ui5_odata_usage
  29. scaffold_ui5_odata_feature
  30. scaffold_project_agents
  31. validate_project_agents
  32. recommend_project_agents
  33. materialize_recommended_agents
  34. save_agent_pack
  35. list_agent_packs
  36. apply_agent_pack
  37. refresh_project_context_docs
  38. record_agent_execution_feedback
  39. rank_agent_packs
  40. promote_agent_pack
  41. audit_project_mcp_state
  42. upgrade_project_mcp
  43. ensure_project_mcp_current
  44. collect_legacy_project_intake
  45. analyze_legacy_project_baseline
  46. build_ai_context_index
  47. prepare_legacy_project_for_ai
  48. scaffold_project_skills
  49. validate_project_skills
  50. record_skill_execution_feedback
  51. rank_project_skills
  52. audit_git_worktree_state
  53. analyze_git_diff
  54. suggest_tests_from_git_diff
  55. generate_commit_message_from_diff
  56. prepare_safe_commit
  57. risk_review_from_diff
  58. generate_pr_description
  59. branch_hygiene_report
  60. conflict_precheck
  61. trace_change_ownership
  62. smart_stage_changes
  63. detect_commit_smells
  64. release_notes_from_commits
  65. merge_readiness_report
  66. merge_action_plan
  67. mcp_metrics_dashboard

Todas las herramientas se descubren dinamicamente a traves del registro central en src/tools/index.js y se registran en MCP con registerTool(...), incluyendo:

  • name
  • description
  • input schema
  • output schema

Fiabilidad y seguridad

  • Registro de herramientas compatible con JSON-RPC y MCP mediante @modelcontextprotocol/sdk.
  • Validacion estructurada de entrada y salida con zod.
  • Forma de salida determinista mediante structuredContent.
  • Acceso a archivos limitado en sandbox a la raiz del workspace.
  • Proteccion frente a path traversal (bloqueo de .. y de resoluciones fuera de la raiz).
  • Respuestas de error estructuradas con code y message legibles por maquina.
  • Registro centralizado para fallos de herramientas y eventos del ciclo de vida.
  • Aplicacion de politicas a nivel de proyecto mediante .codex/mcp/policies/agent-policy.json en flujos de ranking, recomendacion y puerta de calidad.
  • Verificacion automatica del proyecto MCP al arrancar el servidor (se desactiva con MCP_AUTO_ENSURE_PROJECT=false).
  • Preparacion automatica del contexto legacy al arrancar (se desactiva con MCP_AUTO_PREPARE_CONTEXT=false).

Ejecucion

npm install
npm run start

Observabilidad y logs

El servidor genera telemetria estructurada de uso y rendimiento para analizar la adopcion inicial y detectar cuellos de botella.

  • Eventos por sesion en .mcp-runtime/logs/telemetry-events-<sessionId>.jsonl
  • Resumen agregado en .mcp-runtime/logs/telemetry-session-latest.json
  • Variables de entorno soportadas:
    • MCP_TELEMETRY_ENABLED=false
    • MCP_TELEMETRY_DIR=.mcp-runtime/logs
    • MCP_TELEMETRY_SLOW_THRESHOLD_MS=2000

Ejemplos de llamadas a herramientas

analyze_ui5_project

{
  "tool": "analyze_ui5_project",
  "arguments": {}
}

generate_ui5_controller

{
  "tool": "generate_ui5_controller",
  "arguments": {
    "controllerName": "demo.app.controller.Main",
    "methods": ["onPressSave", "onNavBack"]
  }
}

read_project_file

{
  "tool": "read_project_file",
  "arguments": {
    "path": "webapp/controller/Main.controller.js"
  }
}

generate_javascript_function

{
  "tool": "generate_javascript_function",
  "arguments": {
    "description": "crear un envoltorio fetch con cache",
    "runtime": "node",
    "typescript": false
  }
}

Configuracion MCP para Codex

{
  "mcpServers": {
    "sapui5": {
      "command": "node",
      "args": ["/ruta/absoluta/a/MCPServerUI5/src/index.js"]
    }
  }
}

Documentacion ampliada

Consulta la documentacion para puesta en marcha y mantenimiento en docs/README.md.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured