clouatre-labs/math-mcp-learning-server

clouatre-labs/math-mcp-learning-server

от clouatre-labs
Образовательный MCP сервер с 17 инструментами для математических вычислений, статистики, работы с матрицами и визуализации. Подходит студентам, преподавателям и разработчикам. Поддерживает облачный хостинг и персистентное рабочее пространство.

math-mcp-learning-server

PyPI Python License REUSE OpenSSF Best Practices

Educational MCP server with 17 tools, persistent workspace, and cloud hosting. Built with FastMCP and the official Model Context Protocol Python SDK.

Available on the MCP Registry (io.github.clouatre-labs/math-mcp-learning-server) and PyPI.

Demo

math-mcp Demo

See CONTRIBUTING.md for instructions to record your own demo.

Quick Start

Cloud (No Installation)

Connect your MCP client to the hosted server:

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "math-cloud": {
      "transport": "http",
      "url": "https://math-mcp.fastmcp.app/mcp"
    }
  }
}
Local Installation
{
  "mcpServers": {
    "math": {
      "command": "uvx",
      "args": ["math-mcp-learning-server[scientific,plotting]"]
    }
  }
}

For other installation options (basic, scientific-only, plotting-only), see CONTRIBUTING.md.

Tools

Category Tool Description
Workspace workspace_save Save calculations to persistent storage
workspace_load Retrieve previously saved calculations
Math calc_expression Safely evaluate mathematical expressions
calc_statistics Statistical analysis (mean, median, mode, std_dev, variance)
calc_interest Calculate compound interest for investments
calc_units Convert between units (length, weight, temperature)
Matrix matrix_multiply Multiply two matrices
matrix_transpose Transpose a matrix
matrix_determinant Calculate matrix determinant
matrix_inverse Calculate matrix inverse
matrix_eigenvalues Calculate eigenvalues
Visualization plot_function Plot mathematical functions
plot_histogram Create statistical histograms
plot_line_chart Create line charts
plot_scatter Create scatter plots
plot_box_plot Create box plots
plot_financial_line Create financial line charts
Инструменты были проиндексированы:
calc_expressionтолько чтениеидемпотентный

Безопасно вычисляет математические выражения с поддержкой базовых операций и математических функций. Поддерживаемые операции: +, -, *, /, **, () Поддерживаемые функции: sin, cos, tan, log, sqrt, abs, pow Примечание: Используйте этот инструмент для вычисления одного математического выражения. Чтобы вычислить описательные статистики по списку чисел, используйте вместо этого инструмент статистики. Примеры: - "2 + 3 * 4" → 14 - "sqrt(16)" → 4.0 - "sin(3.14159/2)" → 1.0

Математический калькулятор

Параметры
  • expressionstringобязательный

    Mathematical expression to evaluate. Supports +, -, *, /, **, and math functions (sin, cos, sqrt, log, etc.). Example: '2 * sin(pi/4) + sqrt(16)'

calc_interestтолько чтениеидемпотентный

Вычисляет сложные проценты для инвестиций. Формула: A = P(1 + r/n)^(nt) Где: - P = основная сумма - r = годовая процентная ставка (в виде десятичной дроби) - n = количество начислений процентов в год - t = срок в годах Примеры: - compound_interest(10000, 0.05, 5) # $10,000 под 5% на 5 лет → $12,762.82 - compound_interest(5000, 0.03, 10, 12) # $5,000 под 3% с ежемесячной капитализацией → $6,744.25

Калькулятор сложных процентов

Параметры
  • compounds_per_yearinteger

    Compounding frequency per year (must be > 0): 12=monthly, 365=daily

  • principalnumberобязательный

    Initial investment amount in dollars (must be > 0), e.g. 1000.0

  • ratenumberобязательный

    Annual interest rate as decimal 0.0-1.0 (e.g. 0.05 = 5%). If entering a percentage, divide by 100 first.

  • timenumberобязательный

    Investment time in years (must be > 0), e.g. 10.0

calc_statisticsтолько чтениеидемпотентный

Выполняет статистические вычисления по списку чисел. Доступные операции: mean, median, mode, std_dev, variance Примечание: Используйте этот инструмент для вычисления описательных статистик по списку чисел. Чтобы вычислить одно математическое выражение, используйте вместо этого инструмент calculate. Примеры: statistics([1.0, 2.5, 3.0, 4.5, 5.0], "mean") # Возвращает 3.2 statistics([1.0, 2.5, 3.0, 4.5, 5.0], "std_dev") # Возвращает ~1.58

Статистический анализ

Параметры
  • numbersnumber[]обязательный

    List of numbers to compute descriptive statistics on. Example: [1.0, 2.5, 3.0, 4.5, 5.0]

  • operationstringобязательный

    Statistical operation to perform. Allowed values: mean, median, mode, std_dev, variance

calc_unitsтолько чтениеидемпотентный

Конвертирует между разными единицами измерения. Поддерживаемые типы единиц: - length: mm, cm, m, km, in, ft, yd, mi - weight: g, kg, oz, lb - temperature: c, f, k (Celsius, Fahrenheit, Kelvin) Примеры: convert_units(5, "km", "mi", "length") # 5 километров → 3.11 мили convert_units(150, "lb", "kg", "weight") # 150 фунтов → 68.04 килограмма

Конвертер единиц измерения

Параметры
  • from_unitstringобязательный

    Source unit abbreviation. Valid units depend on unit_type: length (mm, cm, m, km, in, ft, yd, mi), weight (g, kg, oz, lb), temperature (c, f, k)

  • to_unitstringобязательный

    Target unit abbreviation. Valid units depend on unit_type: length (mm, cm, m, km, in, ft, yd, mi), weight (g, kg, oz, lb), temperature (c, f, k)

  • unit_typestringобязательный

    Unit category: length, weight, or temperature

  • valuenumberобязательный

    Numeric value to convert, e.g., 100.0

matrix_determinantтолько чтениеидемпотентный

Вычисляет определитель квадратной матрицы. Примечание: Требует NumPy. Вызывает ValueError, если NumPy недоступен. Примеры: matrix_determinant([[1, 2], [3, 4]]) matrix_determinant([[1, 0, 0], [0, 1, 0], [0, 0, 1]]) # Единичная матрица

Определитель матрицы

Параметры
  • matrixnumber[][]обязательный

    2D list of numbers representing a square matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]

matrix_eigenvaluesтолько чтениеидемпотентный

Вычисляет собственные значения квадратной матрицы. Примечание: Требует NumPy. Вызывает ValueError, если NumPy недоступен. Примеры: matrix_eigenvalues([[4, 2], [1, 3]]) matrix_eigenvalues([[3, 0, 0], [0, 5, 0], [0, 0, 7]]) # Диагональная матрица

Собственные значения матрицы

Параметры
  • matrixnumber[][]обязательный

    2D list of numbers representing a square matrix. Each inner list is a row. Example: [[4, 2], [1, 3]]

matrix_inverseтолько чтениеидемпотентный

Вычисляет обратную матрицу для квадратной матрицы. Примечание: Требуется NumPy. Вызывает ValueError, если NumPy недоступен. Примеры: matrix_inverse([[1, 2], [3, 4]]) matrix_inverse([[2, 0], [0, 2]]) # Диагональная матрица

Обратная матрица

Параметры
  • matrixnumber[][]обязательный

    2D list of numbers representing a square matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]

matrix_multiplyтолько чтениеидемпотентный

Перемножает две матрицы (A × B). Примечание: Требует NumPy. Вызывает ValueError, если NumPy недоступен. Примеры: matrix_multiply([[1, 2], [3, 4]], [[5, 6], [7, 8]]) matrix_multiply([[1, 2, 3]], [[1], [2], [3]])

Умножение матриц

Параметры
  • matrix_anumber[][]обязательный

    2D list of numbers representing the first matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]

  • matrix_bnumber[][]обязательный

    2D list of numbers representing the second matrix. Each inner list is a row. Example: [[5, 6], [7, 8]]

matrix_transposeтолько чтениеидемпотентный

Транспонирует матрицу (меняет местами строки и столбцы). Примечание: Требует NumPy. Возбуждает ValueError, если NumPy недоступен. Примеры: matrix_transpose([[1, 2, 3], [4, 5, 6]]) matrix_transpose([[1], [2], [3]])

Транспонирование матрицы

Параметры
  • matrixnumber[][]обязательный

    2D list of numbers representing the matrix. Each inner list is a row. Example: [[1, 2, 3], [4, 5, 6]]

plot_box_plotтолько чтениеидемпотентный

Создаёт ящичную диаграмму для сравнения распределений (требуется matplotlib). Примеры: plot_box_plot([[1, 2, 3, 4, 5], [2, 4, 6, 8, 10]], group_labels=["A", "B"]) plot_box_plot([[10, 20, 30], [15, 25, 35], [5, 15, 25]], title="Comparison")

Ящик с усами

Параметры
  • colorstring | null

    Box color (name or hex code, e.g., 'blue', '#2E86AB')

  • data_groupsnumber[][]обязательный

    List of data groups to compare, e.g., [[1, 2, 3], [4, 5, 6]]

  • group_labelsstring[] | null

    Labels for each group, e.g., ['Group A', 'Group B']

  • titlestring

    Chart title string, e.g., 'Distribution Comparison'

  • y_labelstring

    Y-axis label, e.g., 'Values'

plot_financial_lineтолько чтениеидемпотентный

Генерирует синтетические данные о ценах на финансовые инструменты и строит их график (требуется matplotlib). Создаёт реалистичные паттерны движения цен в учебных целях. Не использует реальные рыночные данные. Примечание: Используйте для данных временных рядов цен с опциональным наложением скользящего среднего. Для обычных данных XY используйте plot_line_chart. Примеры: plot_financial_line(days=60, trend='bullish') plot_financial_line(days=90, trend='volatile', start_price=150.0, color='orange')

Финансовый линейный график

Параметры
  • colorstring | null

    Line color (name or hex code, e.g., 'blue', '#2E86AB')

  • daysinteger

    Number of days to generate, e.g., 30

  • start_pricenumber

    Starting price value, e.g., 100.0

  • trendstring

    Market trend direction

plot_functionтолько чтениеидемпотентный

Генерирует графики математических функций (требует matplotlib). Примеры: plot_function("x**2", (-5, 5)) plot_function("sin(x)", (-3.14, 3.14))

Function Plotter

Параметры
  • expressionstringобязательный

    Mathematical expression to plot, e.g., "x2" or "sin(x)". Must be <= MAX_EXPRESSION_LENGTH characters. Example: "x2"

  • num_pointsinteger

    Number of sample points to plot along x_range, e.g., 100

  • x_rangeunknown[]обязательный

    X-axis range as (min, max), e.g., (-5.0, 5.0)

plot_histogramтолько чтениеидемпотентный

Создаёт статистические гистограммы (требуется matplotlib). Примеры: plot_histogram([1.0, 2.0, 2.5, 3.0, 3.5, 4.0, 5.0]) plot_histogram([10, 20, 30, 40, 50], bins=5, title="Test Scores")

Statistical Histogram

Параметры
  • binsinteger

    Number of histogram bins, e.g., 20

  • datanumber[]обязательный

    List of numeric values to bin, e.g., [1.0, 2.0, 2.5, 3.0]

  • titlestring

    Chart title string, e.g., 'Data Distribution'

plot_line_chartтолько чтениеидемпотентный

Строит линейный график по точкам данных (требуется matplotlib). Примечание: Используйте для общих данных XY. Для временных рядов цен с опциональным скользящим средним используйте plot_financial_line вместо этого. Примеры: plot_line_chart([1, 2, 3, 4], [1, 4, 9, 16], title="Squares") plot_line_chart([0, 1, 2], [0, 1, 4], color='red', x_label='Time', y_label='Distance')

Линейный график

Параметры
  • colorstring | null

    Line color (name or hex code, e.g., 'blue', '#2E86AB')

  • show_gridboolean

    Whether to display grid lines

  • titlestring

    Chart title string, e.g., 'Squares'

  • x_datanumber[]обязательный

    X-axis data points, e.g., [1, 2, 3, 4]

  • x_labelstring

    X-axis label, e.g., 'Time'

  • y_datanumber[]обязательный

    Y-axis data points, e.g., [1, 4, 9, 16]

  • y_labelstring

    Y-axis label, e.g., 'Distance'

plot_scatterтолько чтениеидемпотентный

Создает точечную диаграмму из точек данных (требует matplotlib). Примеры: plot_scatter([1, 2, 3, 4], [1, 4, 9, 16], title="Correlation Study") plot_scatter([1, 2, 3], [2, 4, 5], color='purple', point_size=100)

Диаграмма рассеяния.

Параметры
  • colorstring | null

    Point color (name or hex code, e.g., 'blue', '#2E86AB')

  • point_sizeinteger

    Scatter point size in points^2, e.g., 50

  • titlestring

    Chart title string, e.g., 'Correlation Study'

  • x_datanumber[]обязательный

    X-axis data points, e.g., [1, 2, 3, 4]

  • x_labelstring

    X-axis label, e.g., 'Variable X'

  • y_datanumber[]обязательный

    Y-axis data points, e.g., [1, 4, 9, 16]

  • y_labelstring

    Y-axis label, e.g., 'Variable Y'

workspace_loadтолько чтениеидемпотентный

Загружает ранее сохранённый результат вычислений из рабочей области. Примеры: load_variable("portfolio_return") # Возвращает сохранённый результат load_variable("circle_area") # Доступ между сеансами

Загружает переменную.

Параметры
  • namestringобязательный

    Name of the variable to load from workspace, e.g., 'circle_area'

workspace_save

Сохраняет вычисление в постоянное рабочее пространство (переживает перезапуски). Примеры: save_calculation("portfolio_return", "10000 * 1.07^5", 14025.52) save_calculation("circle_area", "pi * 5^2", 78.54)

Сохраняет расчет в рабочую область.

Параметры
  • expressionstringобязательный

    The mathematical expression that was evaluated. Example: 'pi * r**2'

  • namestringобязательный

    Variable name for the saved calculation. Used to retrieve it later. Example: 'circle_area'

  • resultnumberобязательный

    Numeric result of evaluating the expression, e.g., 78.54

Похожие MCP-сервера

abhiphile/fermat-mcp

abhiphile/fermat-mcp

MCP сервер для математических вычислений: численные и символьные операции + построение графиков. Использует NumPy, SymPy и Matplotlib — полезен инженерам, студентам и аналитикам для быстрых расчётов и визуализации данных.

Python20
hustcc/mcp-echarts

hustcc/mcp-echarts

MCP сервер для генерации диаграмм и визуализации данных на базе Apache ECharts. Поддерживает все опции ECharts, экспорт в png/svg/option и интеграцию с MinIO. Лёгкий и безопасный — всё генерируется локально. Идеально подходит разработчикам, работающим с ИИ-помощниками для быстрого создания интера...

TypeScript266
takashiishida/arxiv-latex-mcp

takashiishida/arxiv-latex-mcp

MCP сервер для доступа к LaTeX-исходникам arXiv. Точная обработка математических формул отличает его от PDF. Предоставляет инструменты: полный текст, абстракт, разделы статьи. Полезен для работы с научными публикациями в Claude, Cursor и других.

Python145
guimatheus92/mcp-video-analyzer

guimatheus92/mcp-video-analyzer

MCP сервер для анализа видео - извлекает транскрипт, ключевые кадры, метаданные и текст с экрана (OCR) из URL и локальных файлов. Полезен разработчикам и техподдержке для разбора видео с багами, де...

TypeScript60
rember/rember-mcp

rember/rember-mcp

Сервер Rember через MCP создаёт флеш-карточки для запоминания с интервальными повторениями — прямо из чатов с ИИ или PDF. Полезен студентам и всем, кто учится. Просто попросите «помоги запомнить» или «создай карточки», и инструмент сгенерирует заметки в Rember.

TypeScript63
PhononX/cv-mcp-server

PhononX/cv-mcp-server

MCP-сервер для интеграции AI-ассистентов с Carbon Voice. Предоставляет инструменты для голосовых сообщений, управления беседами, папками и рабочими пространствами. Полезен для автоматизации общения...

TypeScript10
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин