import type { ExtensionAPI } from "@earendil-works/pi-coding-agent"; import { createMcpAdapter } from "pi-mcp-adapter"; import { createExaToolApiOverride } from "./exa-tool-prefix.ts"; const EXA_TOOLS = ["web_search_exa", "web_fetch_exa", "web_search_advanced_exa"]; const EXA_MCP_URL = `https://mcp.exa.ai/mcp?tools=${EXA_TOOLS.join(",")}`; const exaAdapter = createMcpAdapter({ config: { settings: { disableProxyTool: true, scriptMode: false, }, mcpServers: { exa: { url: EXA_MCP_URL, protocolVersion: "auto", lifecycle: "eager", directTools: EXA_TOOLS, includeTools: EXA_TOOLS, toolPrefix: "none", approveTools: false, exposeResources: false, }, }, }, }); /** Connect Pi to Exa while exposing every direct tool as `exa_`. */ export default function exaExtension(pi: ExtensionAPI): void { exaAdapter(createExaToolApiOverride(pi)); }