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
This commit is contained in:
4t145 2025-05-07 15:22:24 +08:00 • committed by GitHub
commit 09474d4769
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 4 additions and 2 deletions

View file

@ -18,6 +18,7 @@ pub struct Tool {
pub description: Option<Cow<'static, str>>,
/// A JSON Schema object defining the expected parameters for the tool
pub input_schema: Arc<JsonObject>,
#[serde(skip_serializing_if = "Option::is_none")]
/// Optional additional tool information.
pub annotations: Option<ToolAnnotations>,
}

View file

@ -1,7 +1,7 @@
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
const transport = new SSEClientTransport( new URL(`http://127.0.0.1:8000/sse`));
const transport = new SSEClientTransport(new URL(`http://127.0.0.1:8000/sse`));
const client = new Client(
{
@ -26,3 +26,4 @@ console.log(templates);
const prompts = await client.listPrompts();
console.log(prompts);
await client.close();
await transport.close();

View file

@ -32,4 +32,4 @@ server.tool(
);
const transport = new StdioServerTransport();
await server.connect(transport);
await server.connect(transport);