feat: mcp composer integration#9506
Conversation
… to connect. also fixes race condition in server creatoin
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughAdds per-project MCP Composer service and settings; integrates service startup; extends backend MCP project APIs to manage composer lifecycle and provide per-project SSE URL; adjusts project creation/update to auto-auth and start/stop composer on OAuth transitions; and updates frontend hooks/utilities/UI to consume composer URLs with fallback to direct SSE. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant Frontend
participant Backend as Backend (API)
participant Composer as MCP Composer Service
rect rgba(230,240,255,0.5)
note over Backend: App startup
Backend->>Composer: start()
Composer-->>Backend: ready
end
rect rgba(240,255,230,0.5)
note over User,Frontend: Load MCP tab
User->>Frontend: Open project
Frontend->>Backend: GET /mcp/{project_id}/composer-url
alt OAuth project with composer
Backend->>Composer: get_or_start(project_id)
Composer-->>Backend: sse_url, port
Backend-->>Frontend: { sse_url, uses_composer: true }
Frontend->>Frontend: use composer sse_url
else Non-OAuth or disabled
Backend-->>Frontend: 400 or { uses_composer: false }
Frontend->>Frontend: fallback to direct SSE URL
end
end
sequenceDiagram
autonumber
actor Admin as User (updates auth)
participant Backend as Backend (projects.update)
participant Composer as MCP Composer Service
Admin->>Backend: PATCH project auth_settings (auth_type)
Backend->>Backend: detect transition
alt Non-OAuth -> OAuth
Backend->>Composer: register/start project composer
Composer-->>Backend: sse_url
Backend-->>Admin: result { sse_url, uses_composer: true }
else OAuth -> Non-OAuth
Backend->>Composer: stop_project_composer(project_id)
Backend-->>Admin: result { sse_url: direct, uses_composer: false }
else No change
Backend-->>Admin: normal response
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
Status, Documentation and Community
|
⚡️ Codeflash found optimizations for this PR📄 65% (0.65x) speedup for
|
Codecov Report❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (23.26%) is below the target coverage (40.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## release-1.6.0 #9506 +/- ##
================================================
Coverage ? 35.67%
================================================
Files ? 1217
Lines ? 57843
Branches ? 5493
================================================
Hits ? 20636
Misses ? 37046
Partials ? 161
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
|




Adds mcp-composer integration when oauth is enabled
Summary by CodeRabbit
New Features
Improvements
Configuration