io.github.daedalus/mcp-parigp
MCP server exposing cypari2 (PARI/GP) number theory library
Open source Open in the app JSON README (API)
About
MCP server exposing cypari2 (PARI/GP) number theory library
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- daedalus
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.0
- Stars
- 1
- Forks
- 1
- Last push
- 2026-04-21T19:27:26Z
- Repository state
- ativo
- Language
- Python
- License
- MIT
- Added
- 2026-08-29 03:02:40
- Updated
- 2026-08-29 03:02:40
- Origin id
io.github.daedalus/mcp-parigp
README
# mcp-parigp
> MCP server exposing cypari2 (PARI/GP) number theory library
[](https://pypi.org/project/mcp-parigp/)
[](https://pypi.org/project/mcp-parigp/)
[](https://codecov.io/gh/daedalus/mcp-parigp)
[](https://github.com/astral-sh/ruff)
mcp-name: io.github.daedalus/mcp-parigp
## Install
```bash
pip install mcp-parigp
```
## Usage
### As MCP Server
Run directly:
```bash
mcp-parigp
```
Or use with an MCP client by configuring in your settings:
```json
{
"mcpServers": {
"mcp-parigp": {
"command": "mcp-parigp"
}
}
}
```
### In Python
```python
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
```
## API
### Number Theory
- `factor(n)` - Factor an integer
- `isprime(n)` - Test if n is prime
- `gcd(a, b)` - Greatest common divisor
- `phi(n)` - Euler's totient function
- `sigma(n, k)` - Sum of k-th power of divisors
- `jacobi(a, n)` - Jacobi symbol
- `znorder(x, n)` - Multiplicative order modulo n
- `primes(n)` - First n primes
- `nextprime(n)` - Next prime after n
### Polynomials
- `polroots(pol)` - Find roots of polynomial
- `polcyclo(n)` - n-th cyclotomic polynomial
- `deriv(pol)` - Derivative of polynomial
- `subst(pol, v, expr)` - Substitute in polynomial
### Number Fields
- `nfinit(pol)` - Initialize number field
- `bnfinit(pol)` - Initialize with Buchmann's algorithm
- `idealadd(nf, a, b)` - Add ideals
- `idealmul(nf, a, b)` - Multiply ideals
### Elliptic Curves
- `ellinit(eq)` - Initialize elliptic curve
- `ellap(E, p)` - Trace of Frobenius at p
- `elltors(E)` - Torsion subgroup
- `ellheight(E, P)` - Canonical height
### Matrices
- `matid(n)` - n×n identity matrix
- `matdet(m)` - Matrix determinant
- `matinv(m)` - Matrix inverse
- `matrank(m)` - Matrix rank
### Elementary Functions
- `sin`, `cos`, `tan`, `asin`, `acos`, `atan`
- `sinh`, `cosh`, `tanh`, `asinh`, `acosh`, `atanh`
- `exp`, `log`, `sqrt`, `abs`
- `pi()`, `euler()`, `I()`
## Development
```bash
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/
```