Skip to content

feat(connections): open a remote MCP server the way a Composio provider opens (#821) - #829

Merged
oxoxDev merged 3 commits into
tinyhumansai:mainfrom
CodeGhost21:feat/821-mcp-detail
Aug 13, 2026
Merged

feat(connections): open a remote MCP server the way a Composio provider opens (#821)#829
oxoxDev merged 3 commits into
tinyhumansai:mainfrom
CodeGhost21:feat/821-mcp-detail

open a server from its row (#821)

54c35ef
Select commit
Loading
Failed to load commit list.
TinySweeper / tinysweeper/description succeeded Aug 13, 2026 in 0s

1 finding

The PR does what the title says — opens a remote MCP server into the same ProviderDetail panel a Composio provider uses, via a ConnectionSubject discriminated union, read-only, with tests and docs. The description is thorough on the four claims it lists and the design decisions. One rendered section is missing from the description: the reachability check (#568) that flags an enabled server no agent's grants cover, which has its own UI, test, and destructive styling in the diff. Otherwise the description matches the diff accurately. Code retrieval was unavailable (model: openrouter embeddings returned 404 Not Found: {"error":{"message":"No allowed providers are available for the selected model. Providers serving openai/text-embedding-3-small: openai, azure, but your account's allowed-providers setting permits only: deepinfra, streamlake, digitalocean. To change your allowed providers, visit: https://openrouter.ai/settings/privacy.","code":404,"metadata":{"available_providers":["openai","azure"],"requested_pro), so this review saw the diff alone.

Finding Where
medium Reachability section (#568) in MCP panel not mentioned in PR description (pull request description)
![medium](https://img.shields.io/badge/medium-fbca04?style=flat-square) Reachability section (#568) in MCP panel not mentioned in PR description

(pull request description) likely

[RULE] Include updated examples or docs when public APIs, architecture, or expected usage changes.

The PR body lists four claims the panel makes (a table with rows: Connected/as what, Usage, When connected, What a disconnect reaches). The diff renders a fifth section — a reachability check for enabled servers — that the description never mentions. It has its own destructive-styled UI, its own data-testid, and its own render test referencing #568, so it is not a trivial omission.

The unmentioned section, in McpBody:

        {standing.live && server.reachableBy !== undefined && (
          <p
            className={
              server.reachableBy.length === 0
                ? "flex items-start gap-2 rounded-md border border-destructive/30 bg-destructive/10 px-2 py-1 text-xs font-medium text-destructive"
                : "text-xs text-muted-foreground"
            }
            data-testid="mcp-detail-reachability"
          >
            {server.reachableBy.length === 0 ? (
              <>
                <AlertTriangle className="mt-0.5 size-3.5 shrink-0" />
                <span>
                  No agent can reach this server — no teammate&apos;s tool grants cover{" "}
                  <code className="font-mono">mcp:{server.name}</code>. Whatever usage says below
                  happened before that was true.
                </span>
              </>
            ) : (
              <span>
                Reachable by: {" "}
                <span className="font-medium text-foreground">{server.reachableBy.join(", ")}</span>
              </span>
            )}
          </p>
        )}

And its test, which is one of the 11 new render tests:

  it("flags an enabled server no agent's grants cover", async () => {
    // #568, restated where the panel can afford the sentence the row could not:
    // usage above it is history, not evidence that it is reachable now.
    await openMcp(mcpServer({ reachableBy: [] }));
    expect(text()).toContain("No agent can reach this server");
    await openMcp(mcpServer({ reachableBy: ["ceo", "engineer"] }));
    expect(text()).toContain("ceo, engineer");
  });

tinysweeper 0.1.0