1. 18 Nov, 2025 5 commits
  2. 16 Nov, 2025 1 commit
    • - Add multiple servlet implementations (EnhancedMcpServlet, ServiceBasedMcpServlet, MoquiMcpServlet)
      - Implement SSE servlet support with proper content-type handling
      - Add MCP filter for request processing
      - Add web.xml configuration for servlet deployment
      - Include SDK framework JAR and configuration files
      - Remove old screen-based MCP implementation
      - Update component configuration for new servlet-based approach
      Ean Schuessler committed
  3. 14 Nov, 2025 6 commits
    • Ean Schuessler committed
    • - Add unified screen at screen/webroot/mcp.xml handling both JSON-RPC and Server-Sent Events
      - Implement content-type negotiation to prioritize application/json over text/event-stream
      - Add comprehensive session management with MCP session ID generation and validation
      - Fix security configuration with AT_XML_SCREEN_TRANS enum for screen transitions
      - Update AGENTS.md with production-ready status and complete implementation documentation
      - Remove redundant REST endpoints and consolidate to single screen approach
      - Add SSE helper functions for proper event-stream formatting
      - Verify all MCP protocol methods working with both response formats
      
      The unified screen architecture provides:
      - Single endpoint (/mcp/rpc) for all MCP protocol variations
      - Automatic response format selection based on Accept header
      - Full MCP 2025-06-18 specification compliance
      - Complete Moqui security framework integration
      - Production-ready implementation tested with opencode client
      Ean Schuessler committed
    • - Change response variable assignments from 'result' to 'response' to match out-parameter definition
      - Fix empty response body issue where opencode was receiving '{}' instead of JSON-RPC responses
      - Update error handling to use direct HTTP response writing for validation errors
      - Add comprehensive debug logging for HTTP request/response handling
      - Ensure MCP responses are properly serialized and returned via Moqui REST framework
      
      Resolves content-type complaints from opencode by returning properly formatted JSON-RPC responses instead of empty objects.
      Ean Schuessler committed
    • - Remove SSE streaming support for MVP simplicity
      - Force JSON-RPC 2.0 responses regardless of Accept header
      - Simplify REST configuration to only support application/json
      - Clean up duplicate Accept header validation
      - Remove streaming response logic and headers
      
      This enables opencode connection without SSE complexity
      while preserving full MCP protocol functionality.
      Ean Schuessler committed
    • - Implement HTTP 202 Accepted responses for notifications/responses
      - Add MCP-Protocol-Version and Mcp-Session-Id header support
      - Implement Origin header validation for DNS rebinding protection
      - Add Accept header validation for required content types
      - Fix Server-Sent Events format with proper event IDs
      - Add GET method support for SSE streams with resumability
      - Update request type detection (request vs notification vs response)
      - Enhance security with proper authentication and session management
      - Add comprehensive audit logging and error handling
      - Support multiple MCP protocol versions for backward compatibility
      
      This brings the moqui-mcp-2 component into full compliance with the
      MCP 2025-06-18 Streamable HTTP transport specification.
      Ean Schuessler committed
  4. 13 Nov, 2025 2 commits
    • - Replace custom REST API with Moqui's native /rpc/json endpoint
      - Implement MCP methods as standard Moqui services with allow-remote='true'
      - Remove unnecessary custom layers (webapp, screens, custom JSON-RPC handler)
      - Direct service-to-tool mapping for maximum simplicity
      - Leverage Moqui's built-in authentication, permissions, and audit logging
      - Comprehensive client examples for Python, JavaScript, and cURL
      - Complete documentation with architecture overview and usage patterns
      
      Key Changes:
      - service/McpServices.xml: MCP methods as standard Moqui services
      - component.xml: Minimal configuration, no custom webapp
      - AGENTS.md: Updated for Moqui-centric approach
      - entity/, data/: Minimal extensions, leverage built-in entities
      - Removed: mcp.rest.xml, screen/ directory (unnecessary complexity)
      
      This demonstrates the power of Moqui's built-in JSON-RPC support
      for clean, maintainable MCP integration.
      Ean Schuessler committed
    • Ean Schuessler committed