This commit is contained in:
bipproduction
2025-10-27 02:39:54 +08:00
parent e33e7a2a87
commit 781db9b1d1

View File

@@ -19,30 +19,52 @@ const MCPRoute = new Elysia()
.post("/mcp", async ({ body, set }) => {
set.headers["Content-Type"] = "application/json; charset=utf-8";
const { id, method, params } = body as { id: string; method: string; params: any };
const { id, method, params } = body as any;
if (method === "getTools") {
if (method === "tools/list") {
return {
jsonrpc: "2.0",
id,
result: {
tools: [
{ name: "sayHello", description: "Returns a greeting" },
{ name: "getTime", description: "Current server time" },
{
name: "pengajuan-pembuatan-ktp",
description: "untuk melakukan pengajuan pembuatan ktp",
inputSchema: {
type: "object",
properties: {
JSON: { type: "object" },
},
required: ["JSON"],
additionalProperties: true,
},
},
// ... tambahkan tool lain
],
},
};
}
// Default jika method salah
if (method === "tools/call") {
// contoh sederhana
const { tool, arguments: args } = params;
if (tool === "pengajuan-pembuatan-ktp") {
return {
jsonrpc: "2.0",
id,
result: { message: "Berhasil menerima pengajuan KTP", data: args },
};
}
}
return {
jsonrpc: "2.0",
id,
error: {
code: -32601,
message: `Method ${method} not found`,
message: `Method ${method} tidak dikenali`,
},
};
});
})
export default MCPRoute;