Advanced Math
БесплатноНе проверенEnables advanced mathematics operations including linear algebra, vector math, symbolic computation, and calculus through MCP tools. Designed for use with Claud
Описание
Enables advanced mathematics operations including linear algebra, vector math, symbolic computation, and calculus through MCP tools. Designed for use with Claude and other MCP-compatible LLMs.
README
MCP (Model Context Protocol) server for advanced mathematics — linear algebra, vector math, symbolic computation, and calculus. Designed for use with Claude and other MCP-compatible LLMs.
Quick Start
npm install -g advanced-math-mcp
Then add to your MCP client configuration (e.g., mcp_settings.json):
{
"mcpServers": {
"advanced-math-mcp": {
"command": "advanced-math-mcp",
"args": [],
"alwaysAllow": [
"evaluate",
"set_variable",
"get_variable",
"list_variables",
"clear_variables",
"matrix_create",
"matrix_identity",
"matrix_zeros",
"matrix_diagonal",
"symbolic_simplify",
"symbolic_substitute",
"symbolic_derivative",
"symbolic_expand",
"symbolic_integrate",
"symbolic_definite_integral",
"symbolic_limit",
"symbolic_partial_derivative"
]
}
}
}
Tools (17 total)
Unified Expression Evaluator
| Tool | Description |
|---|---|
evaluate |
Universal expression evaluator with natural math syntax. Supports matrices, vectors, scalars, decompositions, and custom functions. |
set_variable |
Define a named variable (matrix, vector, or scalar) for use in evaluate |
get_variable |
Retrieve a variable's value |
list_variables |
List all defined variables and their types |
clear_variables |
Reset all variables |
Matrix Creation
| Tool | Description |
|---|---|
matrix_create |
Create a matrix from a 2D array of strings |
matrix_identity |
Create an n×n identity matrix |
matrix_zeros |
Create an m×n matrix of zeros |
matrix_diagonal |
Create a diagonal matrix from a vector of values |
Symbolic Math
| Tool | Description |
|---|---|
symbolic_simplify |
Simplify algebraic expressions |
symbolic_expand |
Expand factored expressions |
symbolic_substitute |
Substitute variables with values or expressions |
symbolic_derivative |
Compute ordinary derivatives (single-variable) |
symbolic_partial_derivative |
Compute partial derivatives (multivariable) |
symbolic_integrate |
Compute indefinite integrals (antiderivatives) |
symbolic_definite_integral |
Compute definite integrals with bounds |
symbolic_limit |
Compute limits of expressions |
evaluate — The Universal Evaluator
All matrix/vector operations use a single evaluate tool with natural expression syntax:
Matrix Operations
// Arithmetic
evaluate("A + B") // addition
evaluate("A - B") // subtraction
evaluate("A * B") // matrix multiplication
evaluate("A ^ 3") // matrix power
// Properties
evaluate("det(A)") // determinant
evaluate("trace(A)") // trace
evaluate("rank(A)") // rank
evaluate("inv(A)") // inverse
evaluate("transpose(A)") // transpose
// Decompositions
evaluate("eig(A)") // eigenvalues & eigenvectors
evaluate("charpoly(A)") // characteristic polynomial (2×2, 3×3)
evaluate("lu(A)") // LU decomposition
evaluate("qr(A)") // QR decomposition
evaluate("svd(A)") // singular value decomposition
// Linear systems
evaluate("solve(A, b)") // solve Ax = b
Vector Operations
evaluate("dot([1,2,3], [4,5,6])") // dot product → 32
evaluate("cross([1,2,3], [4,5,6])") // cross product → [-3, 6, -3]
evaluate("norm([3,4])") // L2 norm → 5
evaluate("norm([3,4], \"1\")") // L1 norm → 7
evaluate("project([3,4], [1,0])") // vector projection → [3, 0]
Inline Literals
evaluate("[[1,2],[3,4]] * [[5,6],[7,8]]") // → [[19,22],[43,50]]
evaluate("det([[4,1],[2,3]])") // → 10
evaluate("inv([[4,7],[2,6]])") // → [[0.6,-0.7],[-0.2,0.4]]
Variable Workflow
set_variable("A", "[[1,2],[3,4]]")
set_variable("B", "[[5,6],[7,8]]")
evaluate("A * B") // uses stored variables
list_variables() // see all defined variables
clear_variables() // reset
Symbolic Math
Simplification & Expansion
symbolic_simplify("x^2 + 2*x + 1 - (x+1)^2") // → 0
symbolic_expand("(x+1)*(x-1)*(x+2)") // → x^3 + 2x^2 - x - 2
Substitution
// Single variable
symbolic_substitute("x^2 + 2*x", { x: "3" }) // → 15
// Multi-variable
symbolic_substitute("x^2 + y*x + z", { x: "3", y: "2", z: "1" }) // → 16
Calculus
// Derivatives
symbolic_derivative("x^3 + 2*x^2", "x") // → 3x^2 + 4x
symbolic_partial_derivative("x^2*y + sin(z)", "x", 2) // → 2y (second partial)
// Integration
symbolic_integrate("x^2 + sin(x)", "x") // → 0.333x^3 - cos(x) + C
symbolic_definite_integral("x^2", "x", "0", "2") // → 2.667 (∫₀² x² dx)
// Limits
symbolic_limit("sin(x)/x", "x", "0") // → 1
Architecture
src/
├── index.ts # Entry point, loads nerdamer plugins
├── server.ts # MCP server setup, tool routing
├── types.ts # Shared types and Zod schemas
├── engine/
│ ├── evaluator.ts # Unified expression evaluator (mathjs + custom functions)
│ ├── symbolic.ts # Symbolic engine (nerdamer + mathjs)
│ ├── math-engine.ts # Low-level matrix operations
│ └── format.ts # Output formatting utilities
└── tools/
├── evaluate.ts # evaluate + variable management tools
├── matrix-create.ts # matrix_create, identity, zeros, diagonal
├── symbolic.ts # symbolic_simplify, substitute, derivative, expand
└── calculus.ts # symbolic_integrate, definite_integral, limit, partial_derivative
Dependencies
| Package | Purpose |
|---|---|
@modelcontextprotocol/sdk |
MCP protocol implementation |
mathjs v13 |
Numeric matrix operations, expression parsing |
nerdamer |
Symbolic algebra, calculus (integrals, limits) |
zod |
Runtime input validation |
Custom Functions in evaluate
The evaluator extends mathjs with these custom functions:
| Function | Implementation |
|---|---|
rank(A) |
Via eigenvalue count of AᵀA |
solve(A, b) |
Wraps math.lusolve() |
eig(A) / eigs(A) |
Wraps math.eigs() with formatted output |
svd(A) |
Via eigenvalue decomposition of AᵀA |
charpoly(A) |
Formula-based for 2×2 and 3×3 |
lu(A) |
Alias for math.lup() |
qr(A) |
Alias for math.qr() |
project(u, v) |
Vector projection formula |
norm(v, type) |
L1, L2 (default), L∞ |
Development
git clone https://github.com/PsyWhat/advanced-math-mcp.git
cd advanced-math-mcp
npm install
npm run build # compile TypeScript
npm run dev # watch mode
npm link # install globally for local testing
Testing
npm test # run all tests (vitest)
npm run test:watch # watch mode
npm run typecheck # TypeScript validation only
| Suite | Tests | Coverage |
|---|---|---|
evaluator.test.ts |
36 | Matrix ops, vector ops, decompositions, eigenvalues, variable scope, error handling |
symbolic.test.ts |
15 | Simplify, expand, substitute, ordinary derivatives |
calculus.test.ts |
17 | Indefinite/definite integrals, limits, partial derivatives |
All 68 tests pass.
Known Limitations
- SVD: The rank-deficient SVD gives zero vectors for nullspace columns (computed via AᵀA eigen-decomposition, not full Golub-Reinsch)
- Cholesky: Not available in mathjs v13; use
lu()for general decomposition norm(v, inf): Must use quoted"inf"(not bareinf) due to mathjs parsingcharpoly: Numeric only, supports 2×2 and 3×3 matricessymbolic_limit: Some advanced limits (e.g.,(1+1/x)^xasx→∞) may not fully resolve
License
MIT
Установка Advanced Math
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/PsyWhat/advanced-math-mcpFAQ
Advanced Math MCP бесплатный?
Да, Advanced Math MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Advanced Math?
Нет, Advanced Math работает без API-ключей и переменных окружения.
Advanced Math — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Advanced Math в Claude Desktop, Claude Code или Cursor?
Открой Advanced Math на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Notion
Read and write pages in your workspace
автор: NotionLinear
Issues, cycles, triage — from Claude
автор: LinearGoogle Drive
Search and read your Drive files
автор: Googlemindsdb/mindsdb
Connect and unify data across various platforms and databases with [MindsDB as a single MCP server](https://docs.mindsdb.com/mcp/overview).
автор: mindsdbCompare Advanced Math with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории productivity
