Script Server MJS Untuk Koneksi Claude dan Sumopod

Silahkan copy paste sintax dibawah dan simpan dalam format server.mjs

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import OpenAI from "openai";
import { z } from "zod";

const apiKey = process.env.SUMOPOD_API_KEY;
const model = process.env.SUMOPOD_MODEL || “gpt-4o-mini”;

if (!apiKey) {
console.error(“SUMOPOD_API_KEY belum diatur”);
process.exit(1);
}

const client = new OpenAI({
apiKey,
baseURL: “https://ai.sumopod.com/v1”,
timeout: 60000,
maxRetries: 1
});

const server = new McpServer({
name: “sumopod-ai”,
version: “1.0.0”
});

server.registerTool(
“ask_sumopod”,
{
description: “Kirim pertanyaan ke model AI Sumopod”,
inputSchema: {
prompt: z.string().min(1).max(12000)
}
},
async ({ prompt }) => {
try {
const response = await client.chat.completions.create({
model,
messages: [
{ role: “user”, content: prompt }
]
});

return {
content: [{
type: “text”,
text: response.choices[0]?.message?.content
|| “Tidak ada jawaban”
}]
};
} catch (error) {
console.error(“Sumopod request failed:”, error.message);
return {
isError: true,
content: [{
type: “text”,
text: “Permintaan ke Sumopod gagal. Periksa model, saldo, dan konfigurasi API.”
}]
};
}
}
);

const transport = new StdioServerTransport();
await server.connect(transport);