Skip to main content
Glama
YuheiNakasaka

Arithmetic MCP Server

index.ts1.83 kB
#!/usr/bin/env node import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { z } from "zod"; // 四則演算のMCPサーバーを作成 const server = new McpServer({ name: "arithmetic-server", version: "1.0.0" }); // 足し算ツール server.tool( "add", { a: z.number(), b: z.number() }, async ({ a, b }) => ({ content: [{ type: "text", text: `${a} と ${b} の足し算の結果: ${a + b}` }] }) ); // 引き算ツール server.tool( "subtract", { a: z.number(), b: z.number() }, async ({ a, b }) => ({ content: [{ type: "text", text: `${a} と ${b} の引き算の結果: ${a - b}` }] }) ); // 掛け算ツール server.tool( "multiply", { a: z.number(), b: z.number() }, async ({ a, b }) => ({ content: [{ type: "text", text: `${a} と ${b} の掛け算の結果: ${a * b}` }] }) ); // 割り算ツール server.tool( "divide", { a: z.number(), b: z.number() }, async ({ a, b }) => { if (b === 0) { return { content: [{ type: "text", text: "エラー: ゼロで割ることはできません" }], isError: true }; } return { content: [{ type: "text", text: `${a} と ${b} の割り算の結果: ${a / b}` }] }; } ); // サーバーを起動 const transport = new StdioServerTransport(); server.connect(transport).then(() => { console.error('四則演算 MCP サーバーが stdio で実行中'); }).catch(error => { console.error('サーバー起動エラー:', error); process.exit(1); }); // 終了処理 process.on('SIGINT', async () => { await server.close(); process.exit(0); });

Implementation Reference

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/YuheiNakasaka/arithmetic-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server