Repository navigation
Conversation
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
… trip Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Contributor
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
Contributor
There was a problem hiding this comment.
✅ Devin resolved all 8 findings on 8b2da05
Fixed by Devin (8)
- Default-port redirects block MCP connections
- Broken MCP configuration fails silently
- Login fails after saving disabled server credentials
- Cloud connector changes never appear
- MCP command names hide matching skills
- Tool detail list disappears after reconnect
- Project-controlled servers can inherit global trust
- Changed project server retains unapproved connection
…ogin on off servers Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
…ve mcp slugs, show config problems Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
[High impact] The PR appears safe to merge, with all four previous findings addressed and no new actionable issues found. SummaryAdds local MCP servers to the agent, hidden
Reviews (2) · Last reviewed commit: "fix(api): send client_tools and tool_res..." · Reviewed by Greptile |
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
…-origin redirects Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
…ect server Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Co-Authored-By: Quentin Rousseau <quentin@rootly.com>
Contributor
Contributor
|
@greptileai review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Why: the hidden
rootly agent(#74) can only use Rootly's cloud tools. This lets it use the user's own MCP servers (configured like Claude Code / Codex) and shows cloud connectors next to them, per the shared Rails <-> CLI contract (Rails side is behind LDai-cli-local-mcp-tools, default OFF).What
internal/mcp: Claude.mcp.json-shaped config in three scopes (localdefault =~/.rootly-cli/mcp.jsonprojects[<abs cwd>],user= top-levelmcpServers,project=./.mcp.json, other keys preserved),${VAR}/${VAR:-default}expansion, read-only imports (Claude Code, Codex TOML, Cursor, VS Codeservers, Claude Desktop) that stay OFF until enabled, project approvals keyed by abs path + name + config hash, OAuth (go-sdk v1.8.0 discovery/DCR/PKCE/loopback, tokens 0600 in~/.rootly-cli/mcp-oauth.json), and aManagerthat connects in the background (stdio / streamable HTTP / SSE).rootly mcp add|add-json|list|get|remove|login|logout|import(hidden,claude mcp addsyntax + Codex--url/--bearer-token-env-var). Env/header values and secret-looking args print as*****.client_toolsonPOST /v1/ai/chat/streamnamedlocal_<server>_<tool>(sanitized, truncated,_2dedupe, mapped back),read_onlyfromreadOnlyHint;client_tool_call→ y/n card for writes →⚙ local · <server> · <tool>→POST /v1/ai/chat/tool_results(output capped at 100 KB, decline =is_error: true, "User declined").client_tools_accepted: 0with tools sent prints "Local MCP tools are off for your org" once.-pmode declines writes unless the user typesyon a TTY; no bypass flag./mcp(alias/connectors): full-screen page like/sessionswith Rootly cloud (GET /v1/ai/connectors, Load more), Project / User / Imported groups, detail view with tool filter andspace/a/l/r; virtualized so 1,000 tools render instantly. Esc restores the chat.Before / after: before, the agent had cloud tools only. After, enabled+approved local MCP tools are offered to the model when the org flag is on; with the flag off the stream behaves exactly as before, plus a one-line notice.
Risk:
risk:low:rootly agentandrootly mcpare both hidden, nothing existing changes, and local tools only run when the server accepts them (flag OFF by default). Secrets never leave the machine: only tool names, schemas, inputs and outputs go to Rootly.Rollback: revert this PR; the CLI ignores the new contract fields when they're missing.
Stacked on #74 (
devin/1793275858-agent-typed-errors).Link to Devin session: https://rootly.devinenterprise.com/sessions/5e2e52b477b74d98b9ed9500fe7b4860
Open in Devin Desktop: https://rootly.devinenterprise.com/desktop/session/5e2e52b477b74d98b9ed9500fe7b4860?variant=devin
Requested by: @kwent