Document the One integration - #34
Open
tpavlu wants to merge 1 commit into
Open
Conversation
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.
What changed and why
The ref.tools integrations grid promises "250+ sources via the One integration", but there was no page behind that claim. This adds
plans/integrations/one.mdx, which explains what One actually is — a pre-configured remote MCP server Ref connects in one click over OAuth — walks through connecting it from Settings, and defers everything else (agent reach, per-thread attachment, transport/auth support) to the existing Custom MCP Servers page rather than restating it. Also adds the page to the Integrations nav group and one row to the context-sources table on the Integrations overview.Verified
All in
ref-tools/ref, principallyplan-app/client/src/components/settings/McpServersSection.tsx:McpServersSectionrenders theMCP Serverssection, and it is mounted byIntegrationsSettingsPage, whichSettingsModal.tsxmaps to the nav item labelledIntegrations(line 97). Hence "Settings > Integrations > MCP Servers".McpServersSection.tsx:629-652), including both link targetshttps://www.withone.aiandhttps://www.withone.ai/knowledge. Asserted inMcpServersSection.component.test.tsx:218-228. No claim about catalogue size or coverage goes beyond that sentence.handleConnectOne(McpServersSection.tsx:559-575) callssaveMcpServer({ name: 'one', url: 'https://mcp.withone.ai/mcp' })from the constants at lines 33-34, thenstartOAuthForwhen the save comes backneedsAuth.startOAuthFor→startMcpOAuth→openOAuthPopup(lines 64-113), i.e. a popup window. The component test "saves the One preset and starts the standard OAuth popup" asserts exactly this call sequence.one— savedname: 'one';slugifyMcpServerName(plan-app/shared/mcpServerName.ts) leaves it unchanged, and the per-thread connectors menu labels MCP rows withserver.name(plan-app/client/src/components/chat/ConnectorsMenu.tsx:145-156).testMcpServerConnectionand writesstatus: 'verified'plus the reportedtools(plan-app/server/src/routes/mcpOAuth.ts:186-199). The settings card then renders the tool count as an expandable list of names and descriptions (McpServersSection.tsx:672-761).hasOneServer, computed by matching the One URL against the configured servers (McpServersSection.tsx:619,629). The test "hides the One preset when a server with the One URL already exists" confirms both the button and the explainer disappear once connected.Enabledmaps tosetMcpServerEnabled;getAttachableMcpServers(plan-app/server/src/services/mcpServerConnection.ts:330-345) attaches enabled+verified servers by default, and a per-thread override list replaces the enabled flag, which is why a thread can still select a disabled server. TheConnectbutton renders only forstatus === 'needs_auth'and re-enters the same popup flow.Removedeletes the config, which restores the Connect One prompt.McpServersSectionis the one behind the Form/JSON panel and the Edit button, so neither is mentioned on the page. (Awithoneentry exists inFeatureFlagsbut is referenced nowhere.)Unverified / omitted
mcp__<server>__<tool>, so One's tools are prefixedone. Left out as internal-facing detail that the Custom MCP Servers page does not cover either.Conflicts
docs.jsonis edited (one line added to the Integrations group) — sibling PRs in this batch also touch it; conflicts should be one-line and trivial.plans/integrations/overview.mdxis also edited, but only one row appended to the context-sources table, which is a different hunk from the agent tables a sibling PR is working on.plans/integrations/custom-mcp.mdxis untouched.Generated by Claude Code