# calculator-mcp

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/tech-sushant/calculator-mcp  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/calculator-mcp

## Description
A simple Model Context Protocol calculator server

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "calculator-mcp": {
    "command": "npx",
    "args": ["-y","calculator-mcp"]
  }
}
```

## Documentation & README

# Calculator MCP Server

A simple Model Context Protocol (MCP) server that provides basic calculator functionality through MCP tools.

## Features

This MCP server provides the following calculator tools:

- **add**: Add two numbers together
- **subtract**: Subtract second number from first number  
- **multiply**: Multiply two numbers together
- **divide**: Divide first number by second number (with zero-division protection)
- **power**: Raise first number to the power of second number
- **sqrt**: Calculate square root of a number (with negative number protection)

## Installation

1. Install dependencies:
```bash
npm install
```

2. Build the TypeScript code:
```bash
npm run build
```

## Usage

### Running the Server

Start the MCP server:
```bash
npm start
```

Or run in development mode:
```bash
npm run dev
```

### MCP Client Configuration

To use this calculator MCP server with an MCP client (like Claude Desktop), add it to your MCP configuration:

```json
{
  "mcpServers": {
    "calculator": {
      "command": "node",
      "args": ["/path/to/calculator-mcp/dist/index.js"],
      "env": {}
    }
  }
}
```

### Available Tools

#### add
Adds two numbers together.
- Parameters: `a` (number), `b` (number)
- Example: `add(5, 3)` returns `5 + 3 = 8`

#### subtract
Subtracts the second number from the first.
- Parameters: `a` (number), `b` (number)
- Example: `subtract(10, 4)` returns `10 - 4 = 6`

#### multiply
Multiplies two numbers together.
- Parameters: `a` (number), `b` (number)
- Example: `multiply(6, 7)` returns `6 × 7 = 42`

#### divide
Divides the first number by the second.
- Parameters: `a` (number), `b` (number)
- Example: `divide(15, 3)` returns `15 ÷ 3 = 5`
- Error handling: Returns error for division by zero

#### power
Raises the base to the power of the exponent.
- Parameters: `base` (number), `exponent` (number)
- Example: `power(2, 8)` returns `2^8 = 256`

#### sqrt
Calculates the square root of a number.
- Parameters: `number` (number)
- Example: `sqrt(16)` returns `√16 = 4`
- Error handling: Returns error for negative numbers

## Development

### Project Structure

```
calculator-mcp/
├── src/
│   └── index.ts          # Main MCP server implementation
├── dist/                 # Compiled JavaScript output
├── package.json          # Dependencies and scripts
├── tsconfig.json         # TypeScript configuration
└── README.md            # This file
```

### Building

```bash
npm run build
```

### Development Mode

```bash
npm run dev
```

## Error Handling

The calculator includes proper error handling for:
- Division by zero
- Square root of negative numbers
- Invalid tool names
- General execution errors

All errors are returned with appropriate error messages and the `isError` flag set to true.

## License

MIT

