rust-sdk/crates/rmcp/tests/test_with_js/server.js
4t145 09474d4769
fix(test): skip serialize tool's annotation if empty (#160)
* fix(test): skip serialize tool's annotation if empty

1. skip serialize tool's annotation if empty
2. close js server and client when close

* fix(test): fix test with js, don't close too early
2025-05-07 15:22:24 +08:00

35 lines
No EOL
736 B
JavaScript

import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "Demo",
version: "1.0.0"
});
server.resource(
"greeting",
new ResourceTemplate("greeting://{name}", { list: undefined }),
async (uri, { name }) => ({
contents: [{
uri: uri.href,
text: `Hello, ${name}`
}]
})
);
server.tool(
"add",
{ a: z.number(), b: z.number() },
async ({ a, b }) => ({
"content": [
{
"type": "text",
"text": `${a + b}`
}
]
})
);
const transport = new StdioServerTransport();
await server.connect(transport);