Skip to content

Commit 4b82553

Browse files
committed
remove client class
1 parent 6575697 commit 4b82553

File tree

2 files changed

+65
-150
lines changed

2 files changed

+65
-150
lines changed

server/src/client.ts

Lines changed: 0 additions & 128 deletions
This file was deleted.

server/src/index.ts

Lines changed: 65 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import McpClient from "./client.js";
21
import cors from "cors";
32

43
import { Server } from "mcp-typescript/server/index.js";
@@ -11,7 +10,15 @@ import {
1110
ListResourcesRequestSchema,
1211
ListToolsRequestSchema,
1312
ReadResourceRequestSchema,
13+
ListResourcesResultSchema,
14+
ReadResourceResultSchema,
15+
ListPromptsResultSchema,
16+
GetPromptResultSchema,
17+
ListToolsResultSchema,
18+
CallToolResultSchema,
1419
} from "mcp-typescript/types.js";
20+
import { Client } from "mcp-typescript/client/index.js";
21+
import { StdioClientTransport } from "mcp-typescript/client/stdio.js";
1522

1623
const app = express();
1724
app.use(cors());
@@ -22,10 +29,12 @@ app.get("/sse", async (req, res) => {
2229
console.log("New SSE connection");
2330
const command = decodeURIComponent(req.query.command as string);
2431
const args = decodeURIComponent(req.query.args as string).split(",");
25-
const mcpClient = new McpClient("MyApp", "1.0.0");
26-
await mcpClient.connectStdio(command, args);
32+
const mcpClient = new Client({ name: "MyApp", version: "1.0.0" });
33+
const backingServerTransport = new StdioClientTransport();
34+
await backingServerTransport.spawn({ command, args });
35+
await mcpClient.connect(backingServerTransport);
2736

28-
const transport = new SSEServerTransport("/message");
37+
const webAppTransport = new SSEServerTransport("/message");
2938
const server = new Server({
3039
name: "mcp-server-inspector",
3140
version: "0.0.1",
@@ -38,31 +47,65 @@ app.get("/sse", async (req, res) => {
3847
await mcpClient.close();
3948
};
4049

41-
server.setRequestHandler(ListResourcesRequestSchema, () => {
42-
return mcpClient.listResources();
43-
});
50+
server.setRequestHandler(ListResourcesRequestSchema, () =>
51+
mcpClient.request(
52+
{
53+
method: "resources/list",
54+
},
55+
ListResourcesResultSchema,
56+
),
57+
);
4458

45-
server.setRequestHandler(ReadResourceRequestSchema, (params) => {
46-
return mcpClient.readResource(params.params);
47-
});
59+
server.setRequestHandler(ReadResourceRequestSchema, (params) =>
60+
mcpClient.request(
61+
{
62+
method: "resources/read",
63+
params: params.params,
64+
},
65+
ReadResourceResultSchema,
66+
),
67+
);
4868

49-
server.setRequestHandler(ListPromptsRequestSchema, () => {
50-
return mcpClient.listPrompts();
51-
});
69+
server.setRequestHandler(ListPromptsRequestSchema, () =>
70+
mcpClient.request(
71+
{
72+
method: "prompts/list",
73+
},
74+
ListPromptsResultSchema,
75+
),
76+
);
5277

5378
server.setRequestHandler(GetPromptRequestSchema, (params) => {
54-
return mcpClient.getPrompt(params.params);
79+
return mcpClient.request(
80+
{
81+
method: "prompts/get",
82+
params: params.params,
83+
},
84+
GetPromptResultSchema,
85+
);
5586
});
5687

57-
server.setRequestHandler(ListToolsRequestSchema, () => {
58-
return mcpClient.listTools();
59-
});
88+
server.setRequestHandler(ListToolsRequestSchema, () =>
89+
mcpClient.request(
90+
{
91+
method: "tools/list",
92+
},
93+
ListToolsResultSchema,
94+
),
95+
);
6096

61-
server.setRequestHandler(CallToolRequestSchema, (params) => {
62-
return mcpClient.callTool(params.params);
63-
});
64-
await transport.connectSSE(req, res);
65-
await server.connect(transport);
97+
server.setRequestHandler(CallToolRequestSchema, (params) =>
98+
mcpClient.request(
99+
{
100+
method: "tools/call",
101+
params: params.params,
102+
},
103+
CallToolResultSchema,
104+
),
105+
);
106+
107+
await webAppTransport.connectSSE(req, res);
108+
await server.connect(webAppTransport);
66109
});
67110

68111
app.post("/message", async (req, res) => {

0 commit comments

Comments
 (0)