# mcp-parigp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/daedalus/mcp-parigp  
**GitHub Stars:** 1  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/mcp-parigp

## Description
MCP server exposing cypari2 (PARI/GP) number theory library

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "mcp-parigp": {
    "command": "uvx",
    "args": ["mcp-parigp"]
  }
}
```

## Documentation & README

# mcp-parigp

> MCP server exposing cypari2 (PARI/GP) number theory library

[![PyPI](https://img.shields.io/pypi/v/mcp-parigp.svg)](https://pypi.org/project/mcp-parigp/)
[![Python](https://img.shields.io/pypi/pyversions/mcp-parigp.svg)](https://pypi.org/project/mcp-parigp/)
[![Coverage](https://codecov.io/gh/daedalus/mcp-parigp/branch/main/graph/badge.svg)](https://codecov.io/gh/daedalus/mcp-parigp)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](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/
```

