calculator-mcp-server
Публичный сервер: https://calculator.caseyjhand.com/mcp
Инструменты
Один инструмент для всех математических операций:
Имя инструмента | Описание |
| Вычисляет математические выражения, упрощает алгебраические выражения или вычисляет символьные производные. |
calculate
Один инструмент, покрывающий 100% назначения сервера. Параметр operation по умолчанию равен evaluate, поэтому обычный случай — просто { expression: "..." }.
Evaluate — арифметика, тригонометрия, логарифмы, статистика, матрицы, комплексные числа, преобразование единиц, комбинаторика
Simplify — символьное упрощение алгебраических выражений (например,
2x + 3x->5 * x). Поддерживает алгебраические и тригонометрические тождестваDerivative — вычисление символьных производных (например,
3x^2 + 2x + 1->6 * x + 2)Область переменных через параметр
scope:{ "x": 5, "y": 3 }Настраиваемая точность числовых результатов
Пустые необязательные значения
variableиprecisionиз клиентов MCP на основе форм считаются опущенными
Related MCP server: pycodemath
Ресурсы
Шаблон URI | Описание |
| Доступные функции, операторы, константы и справочник по синтаксису. |
Возможности
Построен на @cyanheads/mcp-ts-core:
Декларативные определения инструментов — один файл на инструмент, фреймворк обрабатывает регистрацию и валидацию
Единая обработка ошибок для всех инструментов
Структурированное логирование с опциональной трассировкой OpenTelemetry
Работает локально (stdio/HTTP) или в Docker
Специфично для калькулятора:
Усиленный экземпляр math.js v15 — опасные функции отключены, выполнение изолировано через
vm.runInNewContext()с таймаутомАутентификация не требуется — все операции только для чтения и без сохранения состояния
Проверка ввода: ограничение длины выражения, отклонение разделителей выражений (точки с запятой и переводы строк), только числовые значения области
Проверка результата: заблокированные типы результатов (функции, парсеры, наборы результатов), настраиваемый максимальный размер результата
Очистка области: только числовые значения, предотвращение загрязнения прототипа (заблокированы
__proto__,constructorи т.д.)
Начало работы
Публичный размещённый экземпляр
Публичный экземпляр доступен по адресу https://calculator.caseyjhand.com/mcp — установка не требуется. Подключите любой MCP-клиент к нему через Streamable HTTP:
{
"mcpServers": {
"calculator-mcp-server": {
"type": "streamable-http",
"url": "https://calculator.caseyjhand.com/mcp"
}
}
}Самостоятельное размещение / Локально
Добавьте одну из следующих строк в файл конфигурации вашего MCP-клиента:
{
"mcpServers": {
"calculator-mcp-server": {
"type": "stdio",
"command": "bunx",
"args": ["@cyanheads/calculator-mcp-server@latest"]
}
}
}Или с помощью npx (Bun не требуется):
{
"mcpServers": {
"calculator-mcp-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@cyanheads/calculator-mcp-server@latest"]
}
}
}Или с помощью Docker:
{
"mcpServers": {
"calculator-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "MCP_TRANSPORT_TYPE=stdio",
"ghcr.io/cyanheads/calculator-mcp-server:latest"
]
}
}
}Предварительные требования
Bun v1.3.0 или выше
Установка
Клонируйте репозиторий:
git clone https://github.com/cyanheads/calculator-mcp-server.gitПерейдите в каталог:
cd calculator-mcp-serverУстановите зависимости:
bun installКонфигурация
Переменная | Описание | По умолчанию |
| Максимально допустимая длина строки выражения (10–10 000). |
|
| Максимальное время вычисления в миллисекундах (100–30 000). |
|
| Максимальная длина строки результата в символах (1 000–1 000 000). |
|
| Транспорт: |
|
| Имя хоста для HTTP-сервера. |
|
| Порт для HTTP-сервера. |
|
| Путь для HTTP MCP-эндпоинта. |
|
| Максимальный размер входящего HTTP-запроса; |
|
| Режим аутентификации: |
|
| Уровень логирования (RFC 5424). |
|
См. .env.example для дополнительных настроек сеанса, возобновляемости, логирования и телеметрии.
Запуск сервера
Локальная разработка
Соберите и запустите производственную версию:
bun run build bun run start:http # or start:stdioЗапустите проверки и тесты:
bun run devcheck # Lints, formats, type-checks bun run test # Runs test suite
Docker
docker build -t calculator-mcp-server .
docker run -p 3010:3010 calculator-mcp-serverОбраз по умолчанию использует Streamable HTTP на порту 3010, сеансы без сохранения состояния и журналы в /var/log/calculator-mcp-server.
Структура проекта
Каталог | Назначение |
| Определения инструментов ( |
| Определения ресурсов ( |
| Интеграции доменных сервисов (MathService). |
| Разбор и валидация переменных окружения с помощью Zod. |
| Сгенерированное дерево каталогов. |
Руководство по разработке
См. AGENTS.md или CLAUDE.md для руководства по разработке и архитектурных правил. Краткая версия:
Обработчики выбрасывают исключения, фреймворк перехватывает — никаких
try/catchв логике инструментовИспользуйте
ctx.logдля логированияРегистрируйте новые инструменты и ресурсы в
src/index.ts
Вклад
Приветствуются issues и pull request'ы. Запустите проверки перед отправкой:
bun run devcheck
bun run testЛицензия
Apache-2.0 — см. LICENSE для подробностей.
This server cannot be deployed
Maintenance
Related MCP Connectors
Math.js MCP — wraps the mathjs.org API (free, no auth)
Safe scientific calculator MCP for numeric expressions
Newton MCP — wraps the Newton math solver API (free, no auth)
Find and call the right MCP server for any task - pay per use, no install.
Related MCP Servers
- AlicenseBqualityDmaintenanceHigh-precision mathematics server for MCP clients, providing exact integer arithmetic, symbolic derivatives, and numerical calculus via LaTeX-style input.65 npm2MIT
- AlicenseNot gradedqualityAmaintenanceProvides a token-efficient exact math engine for AI agents, enabling computation of derivatives, integrals, equations, and optimized Python/NumPy code via a single MCP tool.7MIT
- FlicenseNot gradedqualityDmaintenanceA mathematical MCP server exposing 6 basic arithmetic and secure symbolic expression evaluation tools (add, subtract, multiply, divide, power, evaluate_expression) with structured JSON responses, input validation, and safe AST-based parsing.-
- AlicenseAqualityCmaintenanceSafe MCP server for math operations: evaluate, simplify, and differentiate expressions with configurable precision, using a sandboxed worker thread and strict AST allowlist to block dangerous input.3MIT