Files
openclaw/src/gateway/mcp-http.loopback-runtime.ts
2026-04-07 00:37:37 +08:00

39 lines
1.1 KiB
TypeScript

export type McpLoopbackRuntime = {
port: number;
token: string;
};
let activeRuntime: McpLoopbackRuntime | undefined;
export function getActiveMcpLoopbackRuntime(): McpLoopbackRuntime | undefined {
return activeRuntime ? { ...activeRuntime } : undefined;
}
export function setActiveMcpLoopbackRuntime(runtime: McpLoopbackRuntime): void {
activeRuntime = { ...runtime };
}
export function clearActiveMcpLoopbackRuntime(token: string): void {
if (activeRuntime?.token === token) {
activeRuntime = undefined;
}
}
export function createMcpLoopbackServerConfig(port: number) {
return {
mcpServers: {
openclaw: {
type: "http",
url: `http://127.0.0.1:${port}/mcp`,
headers: {
Authorization: "Bearer ${OPENCLAW_MCP_TOKEN}",
"x-session-key": "${OPENCLAW_MCP_SESSION_KEY}",
"x-openclaw-agent-id": "${OPENCLAW_MCP_AGENT_ID}",
"x-openclaw-account-id": "${OPENCLAW_MCP_ACCOUNT_ID}",
"x-openclaw-message-channel": "${OPENCLAW_MCP_MESSAGE_CHANNEL}",
},
},
},
};
}