Brings PARI/GP's number theory capabilities into Claude through the cypari2 Python binding. You get direct access to integer factorization, primality testing, Euler's totient, polynomial root finding, and more specialized operations like computing cyclotomic polynomials or Jacobi symbols. The server also exposes number field arithmetic, elliptic curve functions including torsion groups and canonical heights, and matrix operations. Reach for this when you need computational number theory beyond basic arithmetic, whether you're exploring Diophantine equations, working with algebraic number fields, or analyzing elliptic curves. The API surface is comprehensive enough for serious mathematical work while staying close to PARI/GP's native function names.
MCP server exposing cypari2 (PARI/GP) number theory library
mcp-name: io.github.daedalus/mcp-parigp
pip install mcp-parigp
Run directly:
mcp-parigp
Or use with an MCP client by configuring in your settings:
{
"mcpServers": {
"mcp-parigp": {
"command": "mcp-parigp"
}
}
}
from mcp_parigp import eval_expression, factor, isprime
# Evaluate PARI/GP expressions
result = eval_expression("factor(100)")
print(result) # [[2, 2], [5, 2]]
# Factor integers
print(factor(100)) # [[2, 2], [5, 2]]
# Test primality
print(isprime(29)) # True
factor(n) - Factor an integerisprime(n) - Test if n is primegcd(a, b) - Greatest common divisorphi(n) - Euler's totient functionsigma(n, k) - Sum of k-th power of divisorsjacobi(a, n) - Jacobi symbolznorder(x, n) - Multiplicative order modulo nprimes(n) - First n primesnextprime(n) - Next prime after npolroots(pol) - Find roots of polynomialpolcyclo(n) - n-th cyclotomic polynomialderiv(pol) - Derivative of polynomialsubst(pol, v, expr) - Substitute in polynomialnfinit(pol) - Initialize number fieldbnfinit(pol) - Initialize with Buchmann's algorithmidealadd(nf, a, b) - Add idealsidealmul(nf, a, b) - Multiply idealsellinit(eq) - Initialize elliptic curveellap(E, p) - Trace of Frobenius at pelltors(E) - Torsion subgroupellheight(E, P) - Canonical heightmatid(n) - n×n identity matrixmatdet(m) - Matrix determinantmatinv(m) - Matrix inversematrank(m) - Matrix ranksin, cos, tan, asin, acos, atansinh, cosh, tanh, asinh, acosh, atanhexp, log, sqrt, abspi(), euler(), I()git clone https://github.com/daedalus/mcp-parigp.git
cd mcp-parigp
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/