Skip to main content
Glama

calcport

calcport does arithmetic safely. Its centrepiece is an expression evaluator that understands the usual operators, parentheses, a handful of functions, and the constants pi and e — and nothing else. The evaluator is a hand-written parser, so an expression can never turn into code execution, a shell call, or a property lookup. Around it sit four single-purpose operations for callers that just need one sum, difference, product, or quotient.

Install

npx @reneturcios/calcport calculate "2+3*4"

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/calcport

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

Related MCP server: My Calculator MCP Server

CLI

# Evaluate an expression
calcport calculate "sqrt(3^2 + 4^2) + pi"
# 8.141592653589793

# Single operations
calcport add 2 3          # 5
calcport subtract 10 4    # 6
calcport multiply 2.5 4   # 10
calcport divide 7 2       # 3.5

# Machine-readable output
calcport calculate "2^10" --json
calcport add 2 3 --json

calcport --version

Expressions may use + - * / % ^, parentheses, unary minus, the functions sqrt, abs, floor, ceil, and round, and the constants pi and e. ^ is right-associative, so 2^3^2 is 512.

Exit codes: 0 on success, 1 when a calculation cannot be done (division by zero, a malformed expression — the error says why), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/calcport mcp

MCP client configuration:

{
  "mcpServers": {
    "calcport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/calcport", "mcp"]
    }
  }
}

Tools

Tool

Input

What it returns

calculate

expression (string, required)

The numeric result of the expression, with the expression echoed back.

add

a, b (numbers, required)

a + b, with both operands.

subtract

a, b (numbers, required)

a - b, with both operands.

multiply

a, b (numbers, required)

a * b, with both operands.

divide

a, b (numbers, required)

a / b, with both operands. Dividing by zero is an error.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides basic mathematical calculation functionality through MCP tools including arithmetic operations, exponentiation, and square root calculations. Features proper error handling for edge cases like division by zero and negative square roots.
    6
    20 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables safe math expression evaluation, unit conversion, statistical analysis, number formatting, and percentage calculations for AI agents via MCP.
    5
    39 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to perform basic arithmetic operations such as addition, subtraction, multiplication, and division through a remotely hosted HTTP endpoint.
    40 npm
    MIT