feat: add search API key configuration

This commit is contained in:
云服务部-叶林立
2026-08-19 12:45:47 +08:00
parent 6293ef1c63
commit 198584daf8
10 changed files with 390 additions and 45 deletions
+30 -27
View File
@@ -1,33 +1,36 @@
import type { McpConfig } from "pi-mcp-adapter";
export 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(",")}`;
export const MCP_CONFIG: McpConfig = {
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,
export function createMcpConfig(env: Record<string, string | undefined>) {
const hasExaApiKey = Boolean(env.EXA_API_KEY?.trim());
return {
settings: {
disableProxyTool: true,
scriptMode: false,
},
codegraph: {
command: "codegraph",
args: ["serve", "--mcp"],
lifecycle: "keep-alive",
directTools: ["codegraph_explore"],
includeTools: ["codegraph_explore"],
toolPrefix: "none",
approveTools: false,
exposeResources: false,
mcpServers: {
exa: {
url: EXA_MCP_URL,
...(hasExaApiKey ? { headers: { "x-api-key": "$env:EXA_API_KEY" } } : {}),
protocolVersion: "auto" as const,
lifecycle: "eager" as const,
directTools: EXA_TOOLS,
includeTools: EXA_TOOLS,
toolPrefix: "none" as const,
approveTools: false,
exposeResources: false,
},
codegraph: {
command: "codegraph",
args: ["serve", "--mcp"],
lifecycle: "keep-alive" as const,
directTools: ["codegraph_explore"],
includeTools: ["codegraph_explore"],
toolPrefix: "none" as const,
approveTools: false,
exposeResources: false,
},
},
},
};
};
}