## ๐งฎ MCP Calculator Server โ Build Your First MCP Tool with TypeScript
A lightweight **Model Context Protocol (MCP) server** built in **TypeScript** using the official `@modelcontextprotocol/sdk`.
This server exposes a simple tool that performs **addition of two numbers**, showcasing how to build custom MCP-compatible tools.
---
### ๐ Features
* Built using the official **MCP SDK**
* Implements a simple calculator with an `add` function
* Written in **TypeScript**
* Easy to extend for new MCP tools
---
### ๐ Project Structure
```
my-calculator/
โ
โโโ src/
โ โโโ index.ts # Main server logic
โโโ package.json
โโโ tsconfig.json
โโโ README.md
```
---
### โ๏ธ Setup Instructions
#### 1. Clone the Repository
```bash
git clone https://github.com/<your-username>/mcp-calculator-server.git
cd mcp-calculator-server
```
#### 2. Install Dependencies
Make sure you have **Node.js (v18+)** and **npm** installed.
```bash
npm install
```
#### 3. Build the Project
```bash
npm run build
```
#### 4. Start the MCP Server
```bash
npm run start
```
You should see:
```
โ
MCP Calculator Server is running...
```
---
### ๐ง How It Works
The project uses `@modelcontextprotocol/sdk` to create a minimal MCP server.
```ts
import { server } from "@modelcontextprotocol/sdk/server/stdio";
import { z } from "zod";
const s = server({
name: "MCP Calculator Server",
});
s.tool(
"add",
{
a: z.number(),
b: z.number(),
},
async ({ a, b }) => ({
content: [{ type: "text", text: `Result: ${a + b}` }],
})
);
s.start();
console.log("โ
MCP Calculator Server is running...");
```
This registers an `add` tool, which takes two numbers (`a`, `b`) and returns their sum.
---
### ๐งฉ Testing (Optional)
If you want to test manually:
```bash
npm run start
```
Then, you can connect this server to any **MCP-compatible client** (like **Claude Desktop**, **ChatGPT with MCP**, or other integrations).
---
### ๐งฑ Build Commands Reference
| Command | Description |
| --------------- | ----------------------------------- |
| `npm run build` | Compiles TypeScript into JavaScript |
| `npm run start` | Starts the MCP server with ts-node |
| `npm install` | Installs all dependencies |
---
### ๐งฐ Tech Stack
* **TypeScript**
* **Node.js**
* **Model Context Protocol SDK**
* **Zod (Schema validation)**
---
### ๐ License
MIT License โ feel free to fork and modify.