NumPy Calculator

# NumPy MCP Server <div align="center"> <strong>A Model Context Protocol (MCP) server for numerical computations with NumPy</strong> [![MIT licensed][mit-badge]][mit-url] </div> [mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg [mit-url]: ./LICENSE [python-badge]: https://img.shields.io/badge/python-3.8%2B-blue.svg [python-url]: https://www.python.org/downloads/ A Model Context Protocol (MCP) server that provides mathematical calculations and operations using NumPy. This server exposes various mathematical tools through a standardized MCP interface, making it easy to perform numerical computations directly through Claude or other MCP-compatible LLMs. ## Features - Basic arithmetic operations (addition) - Linear algebra computations (matrix multiplication, eigendecomposition) - Statistical analysis (mean, median, standard deviation, min, max) - Polynomial fitting ## Installation ### Quick Setup with Claude Desktop The fastest way to get started is to install this server directly in Claude Desktop: ```bash # Install the server in Claude Desktop mcp install server.py --name "NumPy Calculator" ``` ### Manual Installation This project uses UV for dependency management. To install: ```bash # Install UV if you haven't already curl -LsSf https://astral.sh/uv/install.sh | sh # Clone the repository git clone https://github.com/yourusername/math-mcp.git cd math-mcp # Create virtual environment and install dependencies uv venv source .venv/bin/activate # On Unix/macOS # or # .venv\Scripts\activate # On Windows uv pip install -r requirements.txt ``` ## Usage ### Development Testing Test the server locally with the MCP Inspector: ```bash mcp dev server.py ``` ### Claude Desktop Integration 1. Install the server in Claude Desktop: ```bash mcp install server.py --name "NumPy Calculator" ``` 2. The server will now be available in Claude Desktop under "NumPy Calculator" 3. You can use it by asking Claude to perform mathematical operations, for example: - "Calculate the eigenvalues of matrix [[1, 2], [3, 4]]" - "Find the mean and standard deviation of [1, 2, 3, 4, 5]" - "Multiply matrices [[1, 0], [0, 1]] and [[2, 3], [4, 5]]" ### Direct Execution For advanced usage or custom deployments: ```bash python server.py # or mcp run server.py ``` ## Available Functions The server provides the following mathematical functions through the MCP interface: ### Basic Arithmetic - `add(a: int, b: int) -> int`: Add two integers together ### Linear Algebra - `matrix_multiply(matrix_a: List[List[float]], matrix_b: List[List[float]]) -> List[List[float]]`: Multiply two matrices - `eigen_decomposition(matrix: List[List[float]]) -> Tuple[List[float], List[List[float]]]`: Compute eigenvalues and eigenvectors of a square matrix ### Statistics - `statistical_analysis(data: List[float]) -> dict[str, float]`: Calculate basic statistics for a dataset including: - Mean - Median - Standard deviation - Minimum value - Maximum value ### Data Analysis - `polynomial_fit(x: List[float], y: List[float], degree: int = 2) -> List[float]`: Fit a polynomial of specified degree to the given data points ## Development ### Project Structure ``` math-mcp/ ├── requirements.txt ├── README.md └── server.py ``` ### Code Quality This project adheres to strict code quality standards: - Type hints throughout the codebase - Comprehensive docstrings following Google style - Error handling for numerical operations ## Dependencies - NumPy: For numerical computations and linear algebra operations - FastMCP: For Model Context Protocol server implementation ## License This project is licensed under the MIT License. ## Acknowledgments - NumPy team for their excellent scientific computing library - Model Context Protocol (MCP) for enabling standardized LLM interactions