Files
my-pi/extensions/exa.ts
T

33 lines
908 B
TypeScript

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_<original-name>`. */
export default function exaExtension(pi: ExtensionAPI): void {
exaAdapter(createExaToolApiOverride(pi));
}