Skip to content

Commit 38f6702

Browse files
committed
fix: use register
1 parent 0e3c8a9 commit 38f6702

2 files changed

Lines changed: 13 additions & 41 deletions

File tree

plugin/controller/lib/impl/mcp/MCPServerHelper.ts

Lines changed: 12 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -50,28 +50,8 @@ export class MCPServerHelper {
5050
) as ReturnType<ReadResourceCallback>;
5151
};
5252
const name = resourceMeta.mcpName ?? resourceMeta.name;
53-
if (resourceMeta.uri) {
54-
if (resourceMeta.metadata) {
55-
this.server.resource(
56-
name,
57-
resourceMeta.uri,
58-
resourceMeta.metadata,
59-
handler,
60-
);
61-
} else {
62-
this.server.resource(name, resourceMeta.uri, handler);
63-
}
64-
} else if (resourceMeta.template) {
65-
if (resourceMeta.metadata) {
66-
this.server.resource(
67-
name,
68-
resourceMeta.template,
69-
resourceMeta.metadata,
70-
handler,
71-
);
72-
} else {
73-
this.server.resource(name, resourceMeta.template, handler);
74-
}
53+
if (resourceMeta.uri || resourceMeta.template) {
54+
this.server.registerResource(name, resourceMeta.uri ?? resourceMeta.template!, resourceMeta.metadata ?? {}, handler);
7555
} else {
7656
throw new Error(`MCPResource ${name} must have uri or template`);
7757
}
@@ -121,15 +101,11 @@ export class MCPServerHelper {
121101
newArgs = [ ...newArgs, ...args ];
122102
return Reflect.apply(realMethod, realObj, newArgs) as ReturnType<ToolCallback>;
123103
};
124-
if (description && schema) {
125-
this.server.tool(name, description, schema, handler);
126-
} else if (description) {
127-
this.server.tool(name, description, handler);
128-
} else if (schema) {
129-
this.server.tool(name, schema, handler);
130-
} else {
131-
this.server.tool(name, handler);
132-
}
104+
this.server.registerTool(name, {
105+
description,
106+
inputSchema: schema,
107+
// TODO: outputSchema
108+
}, handler);
133109
}
134110

135111
async mcpPromptRegister(
@@ -171,14 +147,10 @@ export class MCPServerHelper {
171147
newArgs = [ ...newArgs, ...args ];
172148
return Reflect.apply(realMethod, realObj, newArgs) as ReturnType<PromptCallback>;
173149
};
174-
if (description && schema) {
175-
this.server.prompt(name, description, schema, handler);
176-
} else if (description) {
177-
this.server.prompt(name, description, handler);
178-
} else if (schema) {
179-
this.server.prompt(name, schema, handler);
180-
} else {
181-
this.server.prompt(name, handler);
182-
}
150+
this.server.registerPrompt(name, {
151+
title: promptMeta.title,
152+
description,
153+
argsSchema: schema,
154+
}, handler);
183155
}
184156
}

plugin/controller/test/mcp/helper.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ describe('plugin/controller/test/mcp/mcp.test.ts', () => {
148148
const prompts = await client.listPrompts();
149149
assert.deepEqual(prompts, {
150150
prompts: [
151-
{ name: 'testPrompt', arguments: [{ name: 'name', required: true, description: undefined }], description: 'description', title: 'description' },
151+
{ name: 'testPrompt', arguments: [{ name: 'name', required: true, description: undefined }], description: 'description', title: 'title' },
152152
],
153153
});
154154

0 commit comments

Comments
 (0)