ai-chatbot/integrations/openclaw/tests/mcp-server.test.mjs

38 lines
1.1 KiB
JavaScript

import assert from "node:assert/strict";
import { fileURLToPath } from "node:url";
import test from "node:test";
import { Client } from "@modelcontextprotocol/client";
import { StdioClientTransport } from "@modelcontextprotocol/client/stdio";
const serverPath = fileURLToPath(new URL("../mcp-server.mjs", import.meta.url));
test("MCP server completes the stdio handshake and exposes Yedir tools", async () => {
const client = new Client({ name: "yedir-mcp-test", version: "1.0.0" });
const transport = new StdioClientTransport({
command: process.execPath,
args: [serverPath],
env: {
PATH: process.env.PATH || "",
YEDIR_BASE_URL: "https://example.com",
YEDIR_ACCESS_TOKEN: "ydr_live_test-token",
},
stderr: "pipe",
});
try {
await client.connect(transport);
const { tools } = await client.listTools();
assert.deepEqual(
tools.map((tool) => tool.name).sort(),
[
"yedir_apply_canvas_operation",
"yedir_get_canvas",
"yedir_get_current_user",
"yedir_list_canvases",
]
);
} finally {
await client.close();
}
});