mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-10-26 10:45:22 +00:00
codegraph 有一等公民 CLI 且上游保证其输出与 codegraph_explore MCP 工具一致,走共享 MCP adapter 只是多余的传输层。改为原生 Pi 工具后 每次调用以短命 codegraph explore 进程完成,去掉常驻 server/daemon; 未初始化项目经 ctx.ui.confirm 确认后 init 并自动重试,拒绝或失败时 打回并引导模型回退 find/grep/read/LSP;结果按 codegraph.db mtime 做有界缓存,索引一变即失效。共享 MCP adapter 只保留 Exa;工具名 不变,权限策略、Tool Search 常驻表、路由规则与分组不受影响。 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
27 lines
733 B
TypeScript
27 lines
733 B
TypeScript
|
|
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 function createMcpConfig(env: Record<string, string | undefined>) {
|
|
const hasExaApiKey = Boolean(env.EXA_API_KEY?.trim());
|
|
return {
|
|
settings: {
|
|
disableProxyTool: true,
|
|
scriptMode: 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,
|
|
},
|
|
},
|
|
};
|
|
}
|