Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Evaluate, simplify, and differentiate mathematical expressions.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
CALC_MAX_EXPRESSION_LENGTH, CALC_EVALUATION_TIMEOUT_MS, CALC_MAX_RESULT_LENGTH, MCP_LOG_LEVELYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://calculator.caseyjhand.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"calculator": {
"command": "npx",
"args": [
"-y",
"@cyanheads/calculator-mcp-server"
],
"env": {
"CALC_MAX_EXPRESSION_LENGTH": "your-value",
"CALC_EVALUATION_TIMEOUT_MS": "your-value",
"CALC_MAX_RESULT_LENGTH": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http calculator https://calculator.caseyjhand.com/mcpclaude mcp add calculator --env CALC_MAX_EXPRESSION_LENGTH=your-value --env CALC_EVALUATION_TIMEOUT_MS=your-value --env CALC_MAX_RESULT_LENGTH=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/calculator-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"calculator": {
"url": "https://calculator.caseyjhand.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"calculator": {
"command": "npx",
"args": [
"-y",
"@cyanheads/calculator-mcp-server"
],
"env": {
"CALC_MAX_EXPRESSION_LENGTH": "your-value",
"CALC_EVALUATION_TIMEOUT_MS": "your-value",
"CALC_MAX_RESULT_LENGTH": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"calculator": {
"type": "http",
"url": "https://calculator.caseyjhand.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"calculator": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/calculator-mcp-server"
],
"env": {
"CALC_MAX_EXPRESSION_LENGTH": "your-value",
"CALC_EVALUATION_TIMEOUT_MS": "your-value",
"CALC_MAX_RESULT_LENGTH": "your-value",
"MCP_LOG_LEVEL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://calculator.caseyjhand.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
CALC_MAX_EXPRESSION_LENGTH envCALC_EVALUATION_TIMEOUT_MS envCALC_MAX_RESULT_LENGTH envMCP_LOG_LEVEL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.
calculateEvaluate math expressions, simplify algebraic expressions, or compute symbolic derivatives. One expression per call. Supports arithmetic, trigonometry, statistics, matrices, complex numbers, units, and combinatorics.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account cyanheads, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 434 ms (HTTP 200)
No sign-in needed
Read 1 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.5.3) reached the registry 11 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Alion: company, startup and market intelligence
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Companies, jobs, pay and people; check counterparties, register agents, write to companies.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@cyanheads/calculator-mcp-server Evaluate, simplify, and differentiate mathematical expressions via MCP. STDIO or Streamable HTTP. 1 Tool • 1 Resource
Public Hosted Server: https://calculator.caseyjhand.com/mcp
Calculator powered by math.js. Verify numeric results, simplify algebraic expressions, and compute symbolic derivatives through one tool.
| Tool | Description |
|---|---|
calculate | Evaluate math expressions, simplify algebraic expressions, or compute symbolic derivatives. |
| Resource | Description |
|---|---|
calculator://help | Available functions, operators, constants, and syntax reference. |
calculate toolexpression per call. operation selects evaluate (default), simplify, or derivative; derivatives require variable (e.g. "x").scope, e.g. { "x": 5 }.numericType selects number, BigNumber (64 significant digits, for values that overflow a 64-bit float), or Fraction (exact rationals). Fraction mode returns fraction_unsupported, with guidance to change numeric type, when a result has no exact rational value (sqrt(2)), the expression calls a function Fraction mode cannot compute (sqrt(4), 5!), or it uses a value Fraction mode holds only as a rounded float (pi, 2^(1/2)).precision sets 1–16 significant digits for numeric results. Blank optional variable and precision values are treated as omitted; scope and precision do not affect symbolic operations.2x + 3x → 5 * x); unchanged: true identifies expressions the simplifier cannot reduce, including polynomial factoring and rational cancellation cases.calculator://help resourcecacheHint) — static content that never changes at runtime.Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.
Calculator-specific:
vm timeoutresult_too_large__proto__, constructor, etc.)Agent-friendly output:
unchanged: true on simplify flags a no-op result instead of silently returning the same expressionreason (e.g. fraction_unsupported, evaluation_timeout, disallowed_result_type) plus an actionable recovery hint, rather than a raw exceptionConnect to the hosted instance, no install:
claude mcp add --transport http calculator-mcp-server https://calculator.caseyjhand.com/mcp
Or run it locally:
claude mcp add calculator-mcp-server -- npx -y @cyanheads/calculator-mcp-server
For other clients, add this to the MCP config file:
{
"mcpServers": { "calculator-mcp-server": { "command": "npx", "args": ["-y", "@cyanheads/calculator-mcp-server"] } } }
For Docker or a source build, see Running the server.
| Variable | Description | Default |
|---|---|---|
CALC_MAX_EXPRESSION_LENGTH | Maximum allowed expression string length (10–10,000). | 1000 |
CALC_EVALUATION_TIMEOUT_MS | Maximum evaluation time in milliseconds (100–30,000). | 5000 |
CALC_MAX_RESULT_LENGTH | Maximum result string length in characters (1,000–1,000,000). | 100000 |
MCP_TRANSPORT_TYPE | Transport: stdio or http. | stdio |
MCP_HTTP_HOST | Hostname for the HTTP server. | 127.0.0.1 |
MCP_HTTP_PORT | Port for HTTP server. | 3010 |
MCP_HTTP_ENDPOINT_PATH | Path for the HTTP MCP endpoint. | /mcp |
MCP_HTTP_MAX_BODY_BYTES | Maximum inbound HTTP request size; 0 disables the limit. | 1048576 |
MCP_AUTH_MODE | Auth mode: none, jwt, or oauth. | none |
MCP_SESSION_MODE | auto, stateful, or stateless. The server declares stateless in code, so every launch path resolves the same way; setting this overrides that declaration. | stateless |
MCP_LOG_LEVEL | Log level (RFC 5424). | info |
See .env.example for optional session, resumability, logging, and telemetry settings.
Requires Bun v1.4.0 or higher. The built server also runs on Node.js v24+.
git clone https://github.com/cyanheads/calculator-mcp-server.git
cd calculator-mcp-server && bun install cp .env.example .env
bun run build
bun run start:http # or start:stdio
bun run devcheck # Lints, formats, type-checks
bun run test # Runs test suite
docker run --rm -p 3010:3010 ghcr.io/cyanheads/calculator-mcp-server:latest
The image defaults to Streamable HTTP on port 3010, stateless sessions, and logs at /var/log/calculator-mcp-server. For stdio, use docker run -i --rm -e MCP_TRANSPORT_TYPE=stdio ghcr.io/cyanheads/calculator-mcp-server:latest. To build locally, run docker build -t calculator-mcp-server .; OpenTelemetry dependencies are installed by default, and --build-arg OTEL_ENABLED=false omits them.
| Directory | Purpose |
|---|---|
src/mcp-server/tools/ | Tool definitions (*.tool.ts). |
src/mcp-server/resources/ | Resource definitions (*.resource.ts). |
src/services/ | Domain service integrations (MathService). |
src/config/ | Environment variable parsing and validation with Zod. |
docs/ | Generated directory tree. |
tests/ | Calculation, configuration, and response-contract tests. |
See AGENTS.md or CLAUDE.md for development guidelines and architectural rules. The short version:
try/catch in tool logicctx.log for loggingsrc/index.tsIssues are welcome. Run checks before submitting:
bun run devcheck
bun run test
Apache-2.0 — see LICENSE for details.