extreme-p-mcp

extreme-p-mcp

0

The Extreme P-value MCP Server offers an API interface for extreme p-value calculations using specially designed R functions accessed via Python. Notable for its ease of integration with existing systems and ongoing active development.

Extreme P-value MCP Server

Overview

This MCP server provides an API interface to extreme p-value calculation functions (z, t, F, chi-square, SAIGE) implemented in the R script extreme-P.R, via Python.

  • Strongly depends on the R script extreme-P.R (except for Wald).
  • Uses pyper to call R from Python.
  • The API server is built with FastMCP.
  • extreme_p_helper.py is a 1-to-1 wrapper for the R functions.
  • server.py provides the API endpoints.

Status

🚧 Under Active Development 🚧

This project is under active development. APIs and features may change without notice.

Dependencies

  • uv
  • pyper
  • fastmcp
  • mcp[cli]

Directory structure

+.
ā”œā”€ā”€ server.py              # Main FastMCP server
ā”œā”€ā”€ extreme_p_helper.py    # R function wrapper
ā”œā”€ā”€ extreme-P.R            # R script for extreme p-value calculation (see acknowledgements)
ā”œā”€ā”€ pyproject.toml         # Dependencies
└── README.md              # This document

Setup and Running

Add the MCP server to your MCP server list (Claude, Cursor, etc.)

{
    "mcpServers": {
      "ExtremeP": {
        "command": "uv",
        "args": ["--directory", "where you cloned the repo", "run", "server.py"],
        "env": {}
      }
    }
}

Run MCP Inspector

# Install dependencies
uv sync

# Run MCP Inspector
uv --directory ./ run mcp dev server.py

Run the MCP server

# Install dependencies
uv sync

# Run the MCP server
uv run server.py

Example: Using from Python (not running as MCP server)

from extreme_p_helper import ExtremePHelper
helper = ExtremePHelper()
result = helper.pvalue_extreme_z(10)
print(result)  # {'mantissa': ..., 'exponent': ...}

License

This MCP server is released under the Apache License 2.0.

Acknowledgements