Repository navigation
docs: ADR-0023 one-tap Exa web search MCP - #169
Merged
Merged
Conversation
Proposed decision for a built-in, default-off Exa MCP (keyless by default, optional x-api-key from SecretStore, tools pinned to web_search_exa and web_fetch_exa), shared portal/Telegram toggle, web_search stub with a once-per-conversation offer, and graceful 429 / connect-failure handling. Adds glossary entries: Built-in MCP, Keyless Exa, Web search stub. Docs only.
Product GO 2026-10-06: mark Q1–Q4 Decided with locked answers; leave Q5 to implementation; set ADR status to Accepted.
Owner
Author
|
TL ACCEPT tip |
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
Docs only. Adds ADR-0023: One-tap built-in Exa MCP for web search (status: Proposed) and three glossary entries (Built-in MCP, Keyless Exa, Web search stub). No code changes.
Tracked in the Notion task "Setup: one-tap built-in MCP". No GitHub issue yet; one will be opened for the implementation. Related precedent: #119 (Google MCP one-tap).
Locked decisions recorded in the ADR
Product
urlor logs.web_searchstub tool exists. A model call replies "not enabled" and offers an "Enable web search" button, at most once per conversation; "No thanks" suppresses it for the rest of that conversation.Technical
https://mcp.exa.ai/mcp?tools=web_search_exa,web_fetch_exa(Streamable HTTP, existing rmcp client). Thetoolspin keeps the paidagent_runhidden even with a key.x-api-keyheader from SecretStore via rmcpcustom_headers. Not Bearer, not a URL query. Logs may name the header, never the value.localhost/127.0.0.1URL button. It uses a callback button, or plain text ("open the portal on your computer → Settings → paste key") with the portal address from/portal.Open questions (in the ADR)
toolsallowlists vs Exa tool names (mcp_exa_web_search_exa,mcp_exa_web_fetch_exa).[[mcp_servers]] name = "exa"row colliding with the built-in.enabled/privacy_accepted_at(config vs SQLite).Status and next steps