Name | p6plab-mcp-calculator JSON |
Version |
1.0.1
JSON |
| download |
home_page | None |
Summary | Scientific Calculator MCP Server - Comprehensive mathematical computation service for AI assistants |
upload_time | 2025-09-06 16:26:46 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT License
Copyright (c) 2025 MCP Calculator Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. |
keywords |
calculator
calculus
linear-algebra
mathematics
mcp
model-context-protocol
scientific-computing
statistics
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Scientific Calculator MCP Server
[](https://pypi.org/project/p6plab-mcp-calculator)
[](https://pypi.org/project/p6plab-mcp-calculator)
[](https://opensource.org/licenses/MIT)
[](https://pypi.org/project/p6plab-mcp-calculator)
A comprehensive mathematical computation service that provides AI assistants with advanced calculation capabilities through the Model Context Protocol (MCP). Built with FastMCP v2.0+ and featuring 68 mathematical tools across 11 configurable tool groups.
## ๐ Features
### ๐ข Mathematical Capabilities (68 Tools Across 11 Groups)
#### **Basic Arithmetic** (8 tools) - Always Enabled
- **Core Operations**: Addition, subtraction, multiplication, division, power, square root
- **Expression Evaluation**: Safe mathematical expression parsing with SymPy
- **Health Monitoring**: Server status and configuration reporting
#### **Advanced Mathematics** (5 tools) - Optional
- **Trigonometric Functions**: sin, cos, tan, sec, csc, cot, arcsin, arccos, arctan
- **Logarithmic Functions**: Natural log, base-10, custom base logarithms
- **Exponential Functions**: e^x, custom base exponentials
- **Hyperbolic Functions**: sinh, cosh, tanh
- **Angle Conversion**: Radians โ degrees conversion
#### **Statistics & Probability** (5 tools) - Optional
- **Descriptive Statistics**: Mean, median, mode, standard deviation, variance, quartiles
- **Probability Distributions**: Normal, binomial, Poisson, uniform, exponential
- **Correlation Analysis**: Pearson correlation coefficients with p-values
- **Regression Analysis**: Linear regression with R-squared and equation
- **Hypothesis Testing**: One-sample t-test, two-sample t-test, chi-square test
#### **Matrix Operations** (8 tools) - Optional
- **Linear Algebra**: Matrix multiplication, determinant, inverse, eigenvalues
- **System Solving**: Linear system solving (Ax = b)
- **Matrix Operations**: Transpose, trace, rank, norms, SVD, QR decomposition
- **Matrix Arithmetic**: Addition, subtraction, scalar multiplication
- **Matrix Creation**: Identity matrices, zero matrices
#### **Complex Numbers** (6 tools) - Optional
- **Complex Arithmetic**: Add, subtract, multiply, divide, power operations
- **Complex Properties**: Magnitude, phase/argument, complex conjugate
- **Form Conversion**: Rectangular โ polar coordinate conversion
- **Complex Functions**: Complex exponential, logarithm, square root, trigonometric
#### **Unit Conversion** (7 tools) - Optional
- **Physical Units**: Length, weight, temperature, volume, time, energy, pressure
- **Conversion Tools**: Unit compatibility validation, conversion factors
- **Multi-Unit Conversion**: Convert to multiple target units simultaneously
- **Unit Discovery**: Find units by name, get detailed unit information
#### **Calculus** (9 tools) - Optional
- **Symbolic Calculus**: Derivatives, integrals, limits using SymPy
- **Numerical Methods**: Numerical derivatives and integrals with multiple algorithms
- **Series Expansion**: Taylor series expansion around any point
- **Critical Analysis**: Critical points, gradient calculation
- **Expression Evaluation**: Variable substitution and evaluation
#### **Equation Solving** (6 tools) - Optional
- **Linear Equations**: Single variable linear equation solving
- **Quadratic Analysis**: Quadratic equations with discriminant and vertex analysis
- **Polynomial Solving**: Equations of any degree with root analysis
- **System Solving**: Multiple equations with multiple variables
- **Numerical Root Finding**: Multiple algorithms (Newton, bisection, Brent)
- **Equation Analysis**: Automatic equation type detection and properties
#### **Financial Mathematics** (7 tools) - Optional
- **Interest Calculations**: Compound interest with flexible compounding
- **Loan Analysis**: Payment calculations, amortization schedules
- **Investment Analysis**: NPV, IRR, present value, future value
- **Annuity Calculations**: Future value of annuities (ordinary and due)
- **Financial Planning**: Comprehensive loan and investment analysis
#### **Currency Conversion** (4 tools) - Optional & Privacy-Controlled
- **Real-Time Rates**: Current exchange rates with multiple fallback APIs
- **Currency Tools**: Supported currency lists, rate information
- **Privacy First**: Disabled by default, requires explicit enablement
- **Fallback System**: API key โ free tier โ cached rates
#### **Constants & References** (3 tools) - Optional
- **Mathematical Constants**: ฯ, e, ฯ (golden ratio), etc. with high precision
- **Physical Constants**: Speed of light, Planck's constant, Avogadro's number
- **Constant Discovery**: Search and browse constants by category
### ๐ก๏ธ Security & Performance
- **Input Validation**: Comprehensive validation using Pydantic models
- **Safe Evaluation**: No code injection - uses SymPy for expression parsing
- **Resource Limits**: Configurable computation time and memory limits
- **High Precision**: 15+ decimal place accuracy using Python's Decimal module
- **Optimized Performance**: Caching, efficient algorithms, sub-second response times
- **Privacy Controls**: Local computation preferred, external APIs disabled by default
### ๐ง Tool Group Management
- **Selective Enablement**: Enable only the mathematical capabilities you need
- **Security by Default**: Only basic arithmetic enabled by default (8 tools)
- **Preset Combinations**: Scientific, Business, Engineering, or All tools
- **Individual Control**: Fine-grained control over each tool group
- **Configuration Validation**: Comprehensive environment variable validation
- **Access Monitoring**: Track usage patterns and provide recommendations
## ๐ฆ Installation
### Using uvx (Recommended for MCP Servers)
```bash
# Install and run latest stable version
uvx p6plab-mcp-calculator@latest
# Install from Test PyPI for development/testing
uvx --index-url https://test.pypi.org/simple/ p6plab-mcp-calculator@latest
# Install specific version
uvx p6plab-mcp-calculator@1.0.1
```
### Using pip
```bash
# Install from PyPI
pip install p6plab-mcp-calculator
# Install from Test PyPI
pip install --index-url https://test.pypi.org/simple/ p6plab-mcp-calculator
# Install with optional currency conversion support
pip install p6plab-mcp-calculator[currency]
# Install development dependencies
pip install p6plab-mcp-calculator[dev]
```
### From Source
```bash
# Clone and install
git clone https://github.com/peepeepopapapeepeepo/mcp-calculator.git
cd p6plab-mcp-calculator
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e ".[dev]"
```
## ๐ Quick Start
### Basic Configuration (8 Tools)
For basic arithmetic operations only:
```json
{
"mcpServers": {
"p6plab-p6plab-mcp-calculator": {
"command": "uvx",
"args": ["p6plab-mcp-calculator@latest"],
"env": {
"CALCULATOR_PRECISION": "15",
"CALCULATOR_LOG_LEVEL": "INFO"
},
"disabled": false,
"autoApprove": ["health_check", "add", "subtract", "multiply", "divide"]
}
}
}
```
### All Tools Configuration (68 Tools)
For complete mathematical capabilities:
```json
{
"mcpServers": {
"p6plab-p6plab-mcp-calculator": {
"command": "uvx",
"args": ["p6plab-mcp-calculator@latest"],
"env": {
"CALCULATOR_ENABLE_ALL": "true",
"CALCULATOR_PRECISION": "15",
"CALCULATOR_LOG_LEVEL": "INFO"
},
"disabled": false,
"autoApprove": []
}
}
}
```
### Preset Configurations
#### Scientific Configuration (42 Tools)
```json
{
"env": {
"CALCULATOR_ENABLE_SCIENTIFIC": "true"
}
}
```
#### Business Configuration (22 Tools)
```json
{
"env": {
"CALCULATOR_ENABLE_BUSINESS": "true",
"CALCULATOR_ENABLE_CURRENCY_CONVERSION": "true"
}
}
```
#### Engineering Configuration (38 Tools)
```json
{
"env": {
"CALCULATOR_ENABLE_ENGINEERING": "true"
}
}
```
### Direct Execution
```bash
# Run with basic tools only (default)
p6plab-mcp-calculator
# Run with all tools enabled
CALCULATOR_ENABLE_ALL=true p6plab-mcp-calculator
# Run with scientific preset
CALCULATOR_ENABLE_SCIENTIFIC=true p6plab-mcp-calculator
# Run with custom precision
CALCULATOR_PRECISION=20 CALCULATOR_ENABLE_ALL=true p6plab-mcp-calculator
```
### Verification
Check your configuration with the health check:
```bash
# Test basic installation
uvx p6plab-mcp-calculator@latest --help
# Verify tool count (should show 8 for basic, 68 for all)
echo '{"method": "tools/list"}' | uvx p6plab-mcp-calculator@latest
```
## Configuration
### Environment Variables
The Scientific Calculator MCP Server can be configured using the following environment variables:
#### Core Configuration
- `CALCULATOR_PRECISION`: Decimal precision for calculations (default: `15`, range: 1-50)
- `CALCULATOR_LOG_LEVEL`: Logging verbosity level (default: `INFO`, options: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`)
- `CALCULATOR_CACHE_SIZE`: Cache size for expensive operations (default: `1000`, range: 100-10000)
#### Performance & Resource Limits
- `CALCULATOR_MAX_COMPUTATION_TIME`: Maximum computation timeout in seconds (default: `30`, range: 1-300)
- `CALCULATOR_MAX_MEMORY_MB`: Memory limit in megabytes (default: `512`, range: 128-2048)
- `CALCULATOR_MAX_MATRIX_SIZE`: Maximum matrix dimension for operations (default: `1000`, range: 10-5000)
- `CALCULATOR_MAX_ARRAY_SIZE`: Maximum array size for statistical operations (default: `10000`, range: 100-100000)
#### Currency Conversion (Optional Feature)
- `CALCULATOR_ENABLE_CURRENCY_CONVERSION`: Enable currency conversion feature (default: `false`, options: `true`, `false`)
- `CALCULATOR_CURRENCY_API_KEY`: API key for premium currency conversion service (optional)
- `CALCULATOR_CURRENCY_CACHE_TTL`: Currency rate cache time-to-live in seconds (default: `3600`, range: 300-86400)
- `CALCULATOR_CURRENCY_FALLBACK_ENABLED`: Enable fallback to free currency API (default: `true`, options: `true`, `false`)
#### Security & Validation
- `CALCULATOR_STRICT_VALIDATION`: Enable strict input validation (default: `true`, options: `true`, `false`)
- `CALCULATOR_ALLOW_SYMBOLIC_COMPUTATION`: Allow symbolic math operations (default: `true`, options: `true`, `false`)
- `CALCULATOR_MAX_EXPRESSION_LENGTH`: Maximum length for mathematical expressions (default: `1000`, range: 10-10000)
#### Development & Debugging
- `CALCULATOR_DEBUG_MODE`: Enable debug mode with detailed logging (default: `false`, options: `true`, `false`)
- `CALCULATOR_PROFILE_PERFORMANCE`: Enable performance profiling (default: `false`, options: `true`, `false`)
- `CALCULATOR_DISABLE_CACHE`: Disable all caching for testing (default: `false`, options: `true`, `false`)
#### MCP Server Configuration
- `CALCULATOR_SERVER_NAME.*p6plab-mcp-calculator`)
- `CALCULATOR_SERVER_VERSION`: Override server version (default: auto-detected from package)
- `FASTMCP_LOG_LEVEL`: FastMCP framework log level (default: `ERROR`, options: `DEBUG`, `INFO`, `WARNING`, `ERROR`)
### Configuration Examples
#### Basic Configuration
```bash
# Minimal configuration for basic arithmetic
export CALCULATOR_PRECISION=10
export CALCULATOR_LOG_LEVEL=WARNING
export CALCULATOR_MAX_COMPUTATION_TIME=10
```
#### Scientific Configuration
```bash
# Configuration for advanced mathematical operations
export CALCULATOR_PRECISION=20
export CALCULATOR_LOG_LEVEL=INFO
export CALCULATOR_MAX_COMPUTATION_TIME=60
export CALCULATOR_MAX_MATRIX_SIZE=2000
export CALCULATOR_ALLOW_SYMBOLIC_COMPUTATION=true
```
#### Business/Financial Configuration
```bash
# Configuration with currency conversion enabled
export CALCULATOR_PRECISION=15
export CALCULATOR_ENABLE_CURRENCY_CONVERSION=true
export CALCULATOR_CURRENCY_API_KEY=your_api_key_here
export CALCULATOR_CURRENCY_CACHE_TTL=1800
export CALCULATOR_MAX_COMPUTATION_TIME=30
```
#### Development Configuration
```bash
# Configuration for development and testing
export CALCULATOR_DEBUG_MODE=true
export CALCULATOR_LOG_LEVEL=DEBUG
export CALCULATOR_PROFILE_PERFORMANCE=true
export CALCULATOR_STRICT_VALIDATION=true
export CALCULATOR_DISABLE_CACHE=true
export FASTMCP_LOG_LEVEL=DEBUG
```
#### Production Configuration
```bash
# Optimized configuration for production use
export CALCULATOR_PRECISION=15
export CALCULATOR_LOG_LEVEL=ERROR
export CALCULATOR_CACHE_SIZE=5000
export CALCULATOR_MAX_COMPUTATION_TIME=30
export CALCULATOR_MAX_MEMORY_MB=1024
export CALCULATOR_STRICT_VALIDATION=true
export CALCULATOR_ENABLE_CURRENCY_CONVERSION=false
export FASTMCP_LOG_LEVEL=ERROR
```
### MCP Client Configuration Examples
#### Claude Desktop Configuration
```json
{
"mcpServers": {
"p6plab-p6plab-mcp-calculator": {
"command": "uvx",
"args": ["p6plab-mcp-calculator@latest"],
"env": {
"CALCULATOR_PRECISION": "15",
"CALCULATOR_LOG_LEVEL": "INFO",
"CALCULATOR_ENABLE_CURRENCY_CONVERSION": "false",
"CALCULATOR_MAX_COMPUTATION_TIME": "30",
"CALCULATOR_CACHE_SIZE": "1000",
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": []
}
}
}
```
#### Development MCP Configuration
```json
{
"mcpServers": {
"p6plab-p6plab-mcp-calculator-dev": {
"command": "uvx",
"args": ["--index-url", "https://test.pypi.org/simple/", "p6plab-mcp-calculator@latest"],
"env": {
"CALCULATOR_ENABLE_ALL": "true",
"CALCULATOR_DEBUG_MODE": "true",
"CALCULATOR_LOG_LEVEL": "DEBUG",
"CALCULATOR_PRECISION": "20",
"CALCULATOR_PROFILE_PERFORMANCE": "true",
"FASTMCP_LOG_LEVEL": "INFO"
},
"disabled": false,
"autoApprove": ["health_check", "add", "subtract", "multiply", "divide"]
}
}
}
```
### Tool Group Configuration Examples
#### Individual Group Control
```json
{
"env": {
"CALCULATOR_ENABLE_ADVANCED": "true",
"CALCULATOR_ENABLE_STATISTICS": "true",
"CALCULATOR_ENABLE_MATRIX": "true"
}
}
```
#### Mixed Configuration
```json
{
"env": {
"CALCULATOR_ENABLE_SCIENTIFIC": "true",
"CALCULATOR_ENABLE_FINANCIAL": "true",
"CALCULATOR_ENABLE_CURRENCY_CONVERSION": "true"
}
}
```
## ๐ ๏ธ Available Tools
The MCP server provides **68 comprehensive mathematical tools** organized into **11 configurable tool groups**. By default, only the **Basic Arithmetic** group (8 tools) is enabled for security and performance.
### ๐ข Basic Arithmetic (8 tools) - **Always Enabled**
- `health_check()` - Server health verification and tool group status
- `add(a, b)` - Addition with high precision
- `subtract(a, b)` - Subtraction with high precision
- `multiply(a, b)` - Multiplication with high precision
- `divide(a, b)` - Division with high precision
- `power(base, exponent)` - Exponentiation
- `square_root(value)` - Square root calculation
- `calculate(expression)` - Safe expression evaluation with SymPy
**Enable with**: Always enabled (no configuration needed)
### ๐ Advanced Mathematics (5 tools) - **Optional**
- `trigonometric(function, value, unit)` - Sin, cos, tan, sec, csc, cot, arcsin, arccos, arctan
- `logarithm(value, base)` - Natural log, log10, custom base logarithms
- `exponential(base, exponent)` - Exponential functions (e^x, custom base)
- `hyperbolic(function, value)` - Sinh, cosh, tanh functions
- `convert_angle(value, from_unit, to_unit)` - Radians โ degrees conversion
**Enable with**: `CALCULATOR_ENABLE_ADVANCED=true`
### ๐ Statistics (5 tools) - **Optional**
- `descriptive_stats(data, sample)` - Mean, median, mode, std dev, variance, quartiles
- `probability_distribution(distribution, ...)` - Normal, binomial, Poisson, uniform, exponential
- `correlation_analysis(x_data, y_data)` - Pearson correlation coefficients
- `regression_analysis(x_data, y_data)` - Linear regression with R-squared
- `hypothesis_test(test_type, ...)` - One-sample t-test, two-sample t-test, chi-square
**Enable with**: `CALCULATOR_ENABLE_STATISTICS=true`
### ๐ข Matrix Operations (8 tools) - **Optional**
- `matrix_multiply(matrix_a, matrix_b)` - Matrix multiplication
- `matrix_determinant(matrix_data)` - Determinant calculation
- `matrix_inverse(matrix_data)` - Matrix inversion
- `matrix_eigenvalues(matrix_data)` - Eigenvalues and eigenvectors
- `solve_linear_system(coefficient_matrix, constants)` - Linear system solving
- `matrix_operations(operation, matrix_data, norm_type)` - Transpose, trace, rank, norms
- `matrix_arithmetic(operation, matrix_a, matrix_b, scalar)` - Add, subtract, scalar multiply
- `create_matrix(matrix_type, size, rows, cols)` - Identity and zero matrices
**Enable with**: `CALCULATOR_ENABLE_MATRIX=true`
### ๐ Complex Numbers (6 tools) - **Optional**
- `complex_arithmetic(operation, z1, z2)` - Add, subtract, multiply, divide, power
- `complex_magnitude(z)` - Absolute value/magnitude
- `complex_phase(z, unit)` - Phase/argument calculation
- `complex_conjugate(z)` - Complex conjugate
- `polar_conversion(operation, z, magnitude, phase, unit)` - Rectangular โ polar
- `complex_functions(function, z, base)` - Complex exp, log, sqrt, sin, cos, tan
**Enable with**: `CALCULATOR_ENABLE_COMPLEX=true`
### ๐ Unit Conversion (7 tools) - **Optional**
- `convert_units(value, from_unit, to_unit, unit_type)` - Convert between units
- `get_available_units(unit_type)` - List available units by type
- `validate_unit_compatibility(from_unit, to_unit, unit_type)` - Check compatibility
- `get_conversion_factor(from_unit, to_unit, unit_type)` - Get conversion factors
- `convert_multiple_units(value, from_unit, to_units, unit_type)` - Convert to multiple units
- `find_unit_by_name(unit_name)` - Find unit type by name
- `get_unit_info(unit_name, unit_type)` - Detailed unit information
**Enable with**: `CALCULATOR_ENABLE_UNITS=true`
### โซ Calculus (9 tools) - **Optional**
- `derivative(expression, variable, order)` - Symbolic derivatives
- `integral(expression, variable, lower_bound, upper_bound)` - Symbolic integration
- `numerical_derivative(expression, variable, point, order, dx)` - Numerical derivatives
- `numerical_integral(expression, variable, lower_bound, upper_bound, method)` - Numerical integration
- `calculate_limit(expression, variable, approach_value, direction)` - Limit calculations
- `taylor_series(expression, variable, center, order)` - Taylor series expansion
- `find_critical_points(expression, variable)` - Critical point analysis
- `gradient(expression, variables)` - Gradient calculation
- `evaluate_expression(expression, variable_values)` - Expression evaluation
**Enable with**: `CALCULATOR_ENABLE_CALCULUS=true`
### ๐ Equation Solving (6 tools) - **Optional**
- `solve_linear(equation, variable)` - Linear equation solving
- `solve_quadratic(equation, variable)` - Quadratic equations with analysis
- `solve_polynomial(equation, variable)` - Polynomial equations of any degree
- `solve_system(equations, variables)` - Systems of equations
- `find_roots(expression, variable, initial_guess, method)` - Numerical root finding
- `analyze_equation(equation, variable)` - Equation type and properties analysis
**Enable with**: `CALCULATOR_ENABLE_SOLVER=true`
### ๐ฐ Financial Mathematics (7 tools) - **Optional**
- `compound_interest(principal, rate, time, compounding_frequency)` - Compound interest
- `loan_payment(principal, rate, periods, payment_type)` - Loan payment calculation
- `net_present_value(cash_flows, discount_rate, initial_investment)` - NPV calculation
- `internal_rate_of_return(cash_flows, initial_investment)` - IRR calculation
- `present_value(future_value, rate, periods)` - Present value calculation
- `future_value_annuity(payment, rate, periods, payment_type)` - Annuity future value
- `amortization_schedule(principal, rate, periods, max_periods_display)` - Loan amortization
**Enable with**: `CALCULATOR_ENABLE_FINANCIAL=true`
### ๐ฑ Currency Conversion (4 tools) - **Optional & Privacy-Controlled**
- `convert_currency(amount, from_currency, to_currency)` - Currency conversion
- `get_exchange_rate(from_currency, to_currency)` - Exchange rate lookup
- `get_supported_currencies()` - List supported currencies
- `get_currency_info()` - Currency system configuration
**Enable with**: `CALCULATOR_ENABLE_CURRENCY=true` + `CALCULATOR_ENABLE_CURRENCY_CONVERSION=true`
### ๐ Constants & References (3 tools) - **Optional**
- `get_constant(name, precision)` - Mathematical/physical constants (ฯ, e, c, h, etc.)
- `list_constants(category)` - List available constants by category
- `search_constants(query)` - Search constants database
**Enable with**: `CALCULATOR_ENABLE_CONSTANTS=true`
### ๐ Tool Group Summary
| Group | Tools | Default | Enable With |
|-------|-------|---------|-------------|
| **Basic** | 8 | โ
Always | No configuration needed |
| **Advanced** | 5 | โ | `CALCULATOR_ENABLE_ADVANCED=true` |
| **Statistics** | 5 | โ | `CALCULATOR_ENABLE_STATISTICS=true` |
| **Matrix** | 8 | โ | `CALCULATOR_ENABLE_MATRIX=true` |
| **Complex** | 6 | โ | `CALCULATOR_ENABLE_COMPLEX=true` |
| **Units** | 7 | โ | `CALCULATOR_ENABLE_UNITS=true` |
| **Calculus** | 9 | โ | `CALCULATOR_ENABLE_CALCULUS=true` |
| **Solver** | 6 | โ | `CALCULATOR_ENABLE_SOLVER=true` |
| **Financial** | 7 | โ | `CALCULATOR_ENABLE_FINANCIAL=true` |
| **Currency** | 4 | โ | `CALCULATOR_ENABLE_CURRENCY=true` |
| **Constants** | 3 | โ | `CALCULATOR_ENABLE_CONSTANTS=true` |
| **TOTAL** | **68** | **8** | `CALCULATOR_ENABLE_ALL=true` |
### ๐ฏ Preset Combinations
| Preset | Groups | Tools | Use Case |
|--------|--------|-------|----------|
| **Scientific** | Basic + Advanced + Statistics + Matrix + Complex + Calculus | 42 | Research, analysis, scientific computing |
| **Business** | Basic + Financial + Currency + Units | 22 | Finance, accounting, business analysis |
| **Engineering** | Basic + Advanced + Matrix + Complex + Calculus + Units + Constants | 38 | Engineering calculations, physics |
| **All** | All 11 groups | 68 | Complete mathematical capabilities |
## ๐ฌ Example Prompts
The Scientific Calculator MCP Server integrates seamlessly with AI assistants, allowing you to perform complex mathematical operations through natural language. Here are examples of how to interact with each tool category:
### ๐ค How It Works
Simply ask your AI assistant mathematical questions in natural language. The assistant will automatically:
1. **Understand** your request and identify the appropriate mathematical operation
2. **Select** the right tool from the 68 available mathematical functions
3. **Execute** the calculation using the MCP server
4. **Explain** the results in a clear, understandable format
### ๐ Prompt Examples by Category
### ๐ข Basic Arithmetic
```
"Add 15.7 and 23.8"
"What's 144 divided by 12?"
"Calculate 2 to the power of 10"
"Find the square root of 169"
"Evaluate the expression: (3 + 4) * 2 - 1"
"What's 25% of 80?"
```
### ๐ Advanced Mathematics
```
"Calculate sin(ฯ/4) in radians"
"What's the cosine of 60 degrees?"
"Find log base 10 of 1000"
"Calculate the natural logarithm of eยฒ"
"What's e to the power of 2?"
"Find sinh(1)"
"Convert 90 degrees to radians"
```
### ๐ Statistics & Probability
```
"Calculate descriptive statistics for the dataset: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
"What's the mean and standard deviation of [23, 45, 67, 89, 12, 34, 56]?"
"Calculate the probability density for a normal distribution with mean 0, std dev 1, at x=1.96"
"Find the correlation coefficient between [1,2,3,4,5] and [2,4,6,8,10]"
"Perform linear regression on x=[1,2,3,4] and y=[2,4,6,8]"
"Do a one-sample t-test on [1,2,3,4,5] with population mean 3"
```
### ๐ข Matrix Operations
```
"Multiply matrices [[1,2],[3,4]] and [[5,6],[7,8]]"
"Find the determinant of [[1,2],[3,4]]"
"Calculate the inverse of [[2,1],[1,3]]"
"Find eigenvalues of [[4,-2],[1,1]]"
"Solve the linear system Ax=b where A=[[2,1],[1,3]] and b=[5,6]"
"Calculate the transpose of [[1,2,3],[4,5,6]]"
```
### ๐ Complex Numbers
```
"Add (3+4i) and (1+2i)"
"Find the magnitude of 3+4i"
"Calculate the phase of 1+i in degrees"
"Find the complex conjugate of 2-3i"
"Convert 3+4i to polar form"
"Calculate e^(iฯ)"
```
### ๐ Unit Conversions
```
"Convert 100 kilometers to miles"
"How many feet are in 2 meters?"
"Convert 32 degrees Fahrenheit to Celsius"
"What's 1000 joules in calories?"
"Convert 5 gallons to liters"
"How many seconds are in 2.5 hours?"
```
### โซ Calculus Operations
```
"Find the derivative of xยณ + 2xยฒ + x with respect to x"
"Calculate the second derivative of sin(x)"
"Integrate xยฒ from 0 to 3"
"Find the indefinite integral of cos(x)"
"Calculate the limit of (sin(x)/x) as x approaches 0"
"Find the Taylor series of e^x around x=0 up to order 5"
"Find critical points of xยณ - 3xยฒ + 2"
"Calculate the gradient of xยฒ + yยฒ + zยฒ"
```
### ๐ Equation Solving
```
"Solve 2x + 3 = 7 for x"
"Solve the quadratic equation xยฒ - 5x + 6 = 0"
"Find roots of xยณ - 6xยฒ + 11x - 6 = 0"
"Solve the system: 2x + y = 5, x + 3y = 6"
"Find where f(x) = xยฒ - 4 equals zero"
"Analyze the equation xยฒ + 4x + 4 = 0"
```
### ๐ฐ Financial Mathematics
```
"Calculate compound interest on $1000 at 5% annual rate for 10 years"
"What's the monthly payment on a $200,000 loan at 4.5% for 30 years?"
"Find the NPV of cash flows [-1000, 300, 400, 500] at 10% discount rate"
"Calculate the IRR for an investment of $1000 with returns [300, 400, 500, 600]"
"What's the present value of $1000 received in 5 years at 6% discount rate?"
"Generate an amortization schedule for a $100,000 loan at 6% for 15 years"
```
### ๐ฑ Currency Conversion
```
"Convert 100 USD to EUR"
"What's the current exchange rate from GBP to JPY?"
"How much is 50 CAD in USD?"
"List all supported currencies"
"Convert 1000 EUR to multiple currencies: USD, GBP, JPY"
```
### ๐ Constants & References
```
"What's the value of ฯ (pi) to 10 decimal places?"
"Give me the speed of light in m/s"
"What's Planck's constant?"
"List all mathematical constants"
"Search for constants related to 'gravity'"
"What's Avogadro's number?"
"Show me all physical constants"
```
### ๐ฌ Advanced Scientific Examples
```
"Calculate the kinetic energy of a 2kg object moving at 10 m/s using KE = ยฝmvยฒ"
"Find the period of a pendulum with length 1 meter using T = 2ฯโ(L/g)"
"Calculate the wavelength of light with frequency 5ร10ยนโด Hz using ฮป = c/f"
"Determine the half-life from decay constant 0.693 using tโ/โ = ln(2)/ฮป"
"Find the escape velocity from Earth using v = โ(2GM/r)"
```
### ๐ Data Analysis Examples
```
"Analyze this dataset for outliers: [1,2,3,4,5,100,6,7,8,9]"
"Calculate confidence intervals for sample mean of [23,25,27,29,31]"
"Test if two datasets have significantly different means: [1,2,3,4,5] vs [3,4,5,6,7]"
"Find the best-fit line for points (1,2), (2,4), (3,6), (4,8)"
"Calculate R-squared for the regression"
```
### ๐๏ธ Engineering Examples
```
"Calculate stress in a beam: Force = 1000N, Area = 0.01 mยฒ"
"Find the resonant frequency: L = 0.1H, C = 1ฮผF using f = 1/(2ฯโLC)"
"Calculate power dissipation: V = 12V, R = 4ฮฉ using P = Vยฒ/R"
"Determine the moment of inertia for a solid cylinder: m = 5kg, r = 0.2m"
"Find the critical buckling load for a column"
```
### ๐ผ Business Analysis Examples
```
"Calculate ROI: Initial investment $10,000, Final value $12,000"
"Find break-even point: Fixed costs $5000, Variable cost per unit $10, Price per unit $25"
"Calculate depreciation using straight-line method: Cost $50,000, Salvage $5,000, Life 10 years"
"Determine optimal order quantity: Demand 1000 units/year, Order cost $50, Holding cost $2/unit/year"
"Calculate present value of annuity: $1000/year for 10 years at 8%"
```
### โ๏ธ Configuration-Specific Examples
#### Basic Configuration (8 tools)
```
"Add 25 and 17"
"What's 144 divided by 12?"
"Calculate 2ยณ"
"Find โ64"
"Evaluate: (5 + 3) ร 2"
```
#### Scientific Configuration (42+ tools)
```
"Calculate the derivative of xยฒ + 3x + 2"
"Find the correlation between these datasets: [1,2,3,4,5] and [2,4,6,8,10]"
"What's the eigenvalue of this matrix: [[3,1],[0,2]]?"
"Solve the quadratic equation: xยฒ - 5x + 6 = 0"
"Calculate sin(ฯ/3) and convert the result to degrees"
```
#### Business Configuration (22+ tools)
```
"Convert 1000 USD to EUR at current rates"
"Calculate monthly payment for $300,000 mortgage at 4.2% for 30 years"
"What's the NPV of cash flows [-50000, 15000, 20000, 25000, 30000] at 8% discount?"
"Convert 50 kilometers to miles for my business trip"
"Find the IRR for this investment opportunity"
```
#### Engineering Configuration (38+ tools)
```
"Calculate the moment of inertia for a solid disk: mass=5kg, radius=0.3m"
"Find the natural frequency: spring constant=1000 N/m, mass=2kg"
"What's the stress in this beam: force=5000N, cross-sectional area=0.02mยฒ?"
"Calculate the derivative of the displacement function: s(t) = 4.9tยฒ"
"Convert 100 PSI to Pascals"
```
### ๐ฏ Pro Tips for Better Prompts
#### โ
**Good Prompts:**
- **Be specific**: "Calculate the derivative of xยณ + 2xยฒ with respect to x"
- **Include units**: "Convert 100 kilometers to miles"
- **Provide context**: "Find the monthly payment for a $200,000 loan at 4.5% APR for 30 years"
- **Specify precision**: "Calculate ฯ to 10 decimal places"
#### โ **Avoid:**
- Vague requests: "Do some math"
- Missing parameters: "Calculate compound interest" (missing principal, rate, time)
- Ambiguous units: "Convert 100 degrees" (Celsius to Fahrenheit? Degrees to radians?)
#### ๐ง **Configuration Hints:**
- If you get "tool not available" errors, you may need to enable additional tool groups
- Use `health_check` to see which tools are currently available
- Check the configuration guide for enabling specific mathematical capabilities
## ๐ ๏ธ Development
### Prerequisites
- Python 3.8+ (tested on 3.8, 3.9, 3.10, 3.11, 3.12)
- Virtual environment (venv)
- Git
### Development Setup
```bash
# Clone the repository
git clone https://github.com/peepeepopapapeepeepo/mcp-calculator.git
cd p6plab-mcp-calculator
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"
# Verify installation
python -c "import calculator; print(calculator.__version__)"
```
### Project Structure
```
p6plab-mcp-calculator/
โโโ calculator/ # Main package
โ โโโ __init__.py # Version and package info
โ โโโ server.py # FastMCP server implementation
โ โโโ core/ # Core mathematical modules
โ โ โโโ basic.py # Basic arithmetic operations
โ โ โโโ advanced.py # Advanced mathematical functions
โ โ โโโ statistics.py # Statistical analysis tools
โ โ โโโ matrix.py # Matrix operations
โ โ โโโ complex.py # Complex number operations
โ โ โโโ units.py # Unit conversion system
โ โ โโโ calculus.py # Calculus operations
โ โ โโโ solver.py # Equation solving
โ โ โโโ financial.py # Financial mathematics
โ โ โโโ currency.py # Currency conversion
โ โ โโโ constants.py # Mathematical constants
โ โ โโโ tool_groups.py # Tool group management
โ โ โโโ tool_filter.py # Tool filtering system
โ โ โโโ validators.py # Input validation
โ โโโ models/ # Data models
โ โโโ utils/ # Utility functions
โโโ tests/ # Test suite (216+ tests)
โโโ scripts/ # Build and deployment scripts
โโโ docs/ # Documentation
โโโ pyproject.toml # Project configuration
โโโ README.md # This file
โโโ CHANGELOG.md # Version history
โโโ LICENSE # MIT License
```
### Running Tests
```bash
# Run all tests with coverage
./scripts/run-tests.sh
# Run specific test categories
pytest tests/test_basic.py -v # Basic arithmetic tests
pytest tests/test_tool_groups.py -v # Tool group management tests
pytest tests/test_server.py -v # MCP server tests
pytest -m "not slow" -v # Skip slow tests
pytest -k "matrix" -v # Run matrix-related tests
# Run tests with specific tool group configurations
CALCULATOR_ENABLE_ALL=true pytest tests/ -v # Test with all tools
CALCULATOR_ENABLE_SCIENTIFIC=true pytest tests/ -v # Test scientific preset
```
### Code Quality
```bash
# Linting and formatting
ruff check calculator/ tests/ # Check code style
ruff format calculator/ tests/ # Format code
# Type checking
pyright calculator/ # Static type analysis
# Security scanning
bandit -r calculator/ # Security analysis
```
### Building and Publishing
The project includes automated scripts for building and publishing:
```bash
# Build uvx-compatible package
./scripts/build-uvx-package.sh
# Test uvx package locally
./scripts/test-uvx-package.sh
# Test uvx installation from Test PyPI
./scripts/test-uvx-install.sh testpypi
# Publish to Test PyPI
./scripts/publish-test-pypi.sh
# Publish to production PyPI
./scripts/publish-pypi.sh
# Clean build artifacts
./scripts/clean.sh
```
### Development Workflow
1. **Create Feature Branch**: `git checkout -b feature/new-tool-group`
2. **Implement Changes**: Add new mathematical tools or improve existing ones
3. **Add Tests**: Ensure comprehensive test coverage (target: 95%+)
4. **Run Quality Checks**: `ruff check`, `pyright`, test suite
5. **Test Tool Groups**: Verify tool filtering and configuration works
6. **Update Documentation**: Update README, docstrings, and examples
7. **Submit Pull Request**: Include description of changes and test results
### Adding New Mathematical Tools
1. **Create Core Function**: Add to appropriate module in `calculator/core/`
2. **Register Tool**: Add to tool group in `calculator/core/tool_groups.py`
3. **Add Server Endpoint**: Register in `calculator/server.py` with `@filtered_tool`
4. **Write Tests**: Add comprehensive tests in `tests/`
5. **Update Documentation**: Add to README tool list and examples
### Environment Variables for Development
```bash
# Enable debug mode
export CALCULATOR_DEBUG_MODE=true
export CALCULATOR_LOG_LEVEL=DEBUG
export FASTMCP_LOG_LEVEL=DEBUG
# Enable all tools for testing
export CALCULATOR_ENABLE_ALL=true
# Performance profiling
export CALCULATOR_PROFILE_PERFORMANCE=true
# Disable caching for testing
export CALCULATOR_DISABLE_CACHE=true
```
## โก Performance
The calculator is optimized for high-performance mathematical computation:
### Response Time Targets
- **Basic operations**: < 10ms response time
- **Advanced functions**: < 100ms response time
- **Statistical operations**: < 500ms response time
- **Matrix operations**: < 1s response time (up to 1000ร1000 matrices)
- **Unit conversions**: < 50ms response time
- **Currency conversion**: < 2s response time (with caching)
### Performance Features
- **Efficient Algorithms**: NumPy and SciPy optimized implementations
- **Smart Caching**: Configurable cache for expensive operations
- **Resource Limits**: Configurable memory and computation time limits
- **Lazy Loading**: Tool groups loaded only when enabled
- **Optimized Parsing**: SymPy integration for safe expression evaluation
### Benchmarks (on modern hardware)
- **Matrix multiplication** (100ร100): ~5ms
- **Eigenvalue calculation** (50ร50): ~15ms
- **Statistical analysis** (10,000 data points): ~50ms
- **Symbolic derivative**: ~20ms
- **Numerical integration**: ~100ms
## ๐ Security
Security is built into every aspect of the calculator:
### Input Security
- **Comprehensive Validation**: All inputs validated with Pydantic models
- **Safe Expression Parsing**: Uses SymPy - no `eval()` or code execution
- **Type Safety**: Strong typing with Python 3.8+ type hints
- **Sanitization**: Mathematical expressions sanitized before processing
### Resource Protection
- **Computation Limits**: Configurable timeout (default: 30s)
- **Memory Limits**: Configurable memory usage (default: 512MB)
- **Matrix Size Limits**: Prevents memory exhaustion attacks
- **Array Size Limits**: Protects against large dataset attacks
### Privacy Controls
- **Local-First**: All core mathematical operations run locally
- **External APIs Disabled**: Currency conversion disabled by default
- **No Data Persistence**: No user data stored or logged
- **Minimal Network**: Only currency APIs when explicitly enabled
### Tool Group Security
- **Principle of Least Privilege**: Only basic tools enabled by default
- **Selective Enablement**: Enable only needed mathematical capabilities
- **Access Monitoring**: Track attempts to access disabled tools
- **Configuration Validation**: Comprehensive environment variable validation
### Error Handling
- **Safe Error Messages**: No sensitive information in error responses
- **Structured Errors**: Consistent error format with actionable suggestions
- **Logging Controls**: Configurable logging levels
- **No Stack Traces**: Production-safe error responses
## ๐ค Contributing
We welcome contributions to the Scientific Calculator MCP Server! Whether you're fixing bugs, adding new mathematical tools, improving documentation, or enhancing performance, your contributions are valued.
### Ways to Contribute
- **Bug Reports**: Report issues with detailed reproduction steps
- **Feature Requests**: Suggest new mathematical tools or capabilities
- **Code Contributions**: Implement new features or fix existing issues
- **Documentation**: Improve README, docstrings, or examples
- **Testing**: Add test cases or improve test coverage
- **Performance**: Optimize algorithms or improve efficiency
### Development Workflow
1. **Fork the Repository**: Create your own fork on GitHub
2. **Create Feature Branch**: `git checkout -b feature/your-feature-name`
3. **Set Up Development Environment**: Follow the development setup guide
4. **Make Your Changes**: Implement your feature or fix
5. **Add Tests**: Ensure comprehensive test coverage (target: 95%+)
6. **Run Quality Checks**:
```bash
./scripts/run-tests.sh # Run test suite
ruff check calculator/ tests/ # Code style
pyright calculator/ # Type checking
```
7. **Update Documentation**: Update README, docstrings, and examples
8. **Submit Pull Request**: Include clear description and test results
### Code Standards
- **Python 3.8+**: Compatible with Python 3.8 through 3.12
- **Type Hints**: Use comprehensive type annotations
- **Docstrings**: Google-style docstrings for all functions
- **Code Style**: Follow ruff formatting (line length: 99 characters)
- **Testing**: pytest with asyncio support, 95%+ coverage target
- **Security**: No `eval()`, comprehensive input validation
### Adding New Mathematical Tools
1. **Core Implementation**: Add to appropriate module in `calculator/core/`
2. **Tool Registration**: Add to tool group in `calculator/core/tool_groups.py`
3. **Server Integration**: Register in `calculator/server.py` with `@filtered_tool`
4. **Comprehensive Testing**: Add tests covering edge cases and error conditions
5. **Documentation**: Update README with tool description and examples
### Pull Request Guidelines
- **Clear Description**: Explain what your PR does and why
- **Test Coverage**: Include tests for new functionality
- **Documentation Updates**: Update relevant documentation
- **Breaking Changes**: Clearly mark any breaking changes
- **Performance Impact**: Note any performance implications
### Getting Help
- **Issues**: [GitHub Issues](https://github.com/peepeepopapapeepeepo/mcp-calculator/issues)
- **Discussions**: [GitHub Discussions](https://github.com/peepeepopapapeepeepo/mcp-calculator/discussions)
- **Documentation**: Check README and inline documentation
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
**Copyright (c) 2025 MCP Calculator Team**
## ๐ Support & Resources
### Getting Help
- **๐ Issues**: [GitHub Issues](https://github.com/peepeepopapapeepeepo/mcp-calculator/issues) - Bug reports and feature requests
- **๐ฌ Discussions**: [GitHub Discussions](https://github.com/peepeepopapapeepeepo/mcp-calculator/discussions) - Questions and community support
- **๐ Documentation**: This README and inline code documentation
- **๐ Troubleshooting**: Check the configuration examples and error messages
### Project Links
- **๐ Homepage**: [GitHub Repository](https://github.com/peepeepopapapeepeepo/mcp-calculator)
- **๐ฆ PyPI Package**: [p6plab-mcp-calculator](https://pypi.org/project/p6plab-mcp-calculator)
- **๐ Test PyPI**: [p6plab-mcp-calculator (Test)](https://test.pypi.org/project/p6plab-mcp-calculator)
- **๐ Changelog**: [CHANGELOG.md](CHANGELOG.md) - Detailed version history
- **โ๏ธ License**: [LICENSE](LICENSE) - MIT License terms
### Quick Links
- **Installation**: `uvx p6plab-mcp-calculator@latest`
- **All Tools**: Add `CALCULATOR_ENABLE_ALL=true` to environment
- **Health Check**: Use `health_check()` tool to verify configuration
- **Tool Count**: 8 tools (basic) to 68 tools (all groups enabled)
---
**Version**: 1.0.1 | **Status**: Production/Stable | **Python**: 3.8+ | **License**: MIT
Made with ๐ป Kiro, an agentic IDE.
Raw data
{
"_id": null,
"home_page": null,
"name": "p6plab-mcp-calculator",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "MCP Calculator Team <peepeepopapapeepeepo@gmail.com>",
"keywords": "calculator, calculus, linear-algebra, mathematics, mcp, model-context-protocol, scientific-computing, statistics",
"author": null,
"author_email": "MCP Calculator Team <peepeepopapapeepeepo@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/83/fb/375532385e6728553a3ba24a4c31ed2f27232365ef62a22c5cbf9e198a22/p6plab_mcp_calculator-1.0.1.tar.gz",
"platform": null,
"description": "# Scientific Calculator MCP Server\n\n[](https://pypi.org/project/p6plab-mcp-calculator)\n[](https://pypi.org/project/p6plab-mcp-calculator)\n[](https://opensource.org/licenses/MIT)\n[](https://pypi.org/project/p6plab-mcp-calculator)\n\nA comprehensive mathematical computation service that provides AI assistants with advanced calculation capabilities through the Model Context Protocol (MCP). Built with FastMCP v2.0+ and featuring 68 mathematical tools across 11 configurable tool groups.\n\n## \ud83d\ude80 Features\n\n### \ud83d\udd22 Mathematical Capabilities (68 Tools Across 11 Groups)\n\n#### **Basic Arithmetic** (8 tools) - Always Enabled\n- **Core Operations**: Addition, subtraction, multiplication, division, power, square root\n- **Expression Evaluation**: Safe mathematical expression parsing with SymPy\n- **Health Monitoring**: Server status and configuration reporting\n\n#### **Advanced Mathematics** (5 tools) - Optional\n- **Trigonometric Functions**: sin, cos, tan, sec, csc, cot, arcsin, arccos, arctan\n- **Logarithmic Functions**: Natural log, base-10, custom base logarithms\n- **Exponential Functions**: e^x, custom base exponentials\n- **Hyperbolic Functions**: sinh, cosh, tanh\n- **Angle Conversion**: Radians \u2194 degrees conversion\n\n#### **Statistics & Probability** (5 tools) - Optional\n- **Descriptive Statistics**: Mean, median, mode, standard deviation, variance, quartiles\n- **Probability Distributions**: Normal, binomial, Poisson, uniform, exponential\n- **Correlation Analysis**: Pearson correlation coefficients with p-values\n- **Regression Analysis**: Linear regression with R-squared and equation\n- **Hypothesis Testing**: One-sample t-test, two-sample t-test, chi-square test\n\n#### **Matrix Operations** (8 tools) - Optional\n- **Linear Algebra**: Matrix multiplication, determinant, inverse, eigenvalues\n- **System Solving**: Linear system solving (Ax = b)\n- **Matrix Operations**: Transpose, trace, rank, norms, SVD, QR decomposition\n- **Matrix Arithmetic**: Addition, subtraction, scalar multiplication\n- **Matrix Creation**: Identity matrices, zero matrices\n\n#### **Complex Numbers** (6 tools) - Optional\n- **Complex Arithmetic**: Add, subtract, multiply, divide, power operations\n- **Complex Properties**: Magnitude, phase/argument, complex conjugate\n- **Form Conversion**: Rectangular \u2194 polar coordinate conversion\n- **Complex Functions**: Complex exponential, logarithm, square root, trigonometric\n\n#### **Unit Conversion** (7 tools) - Optional\n- **Physical Units**: Length, weight, temperature, volume, time, energy, pressure\n- **Conversion Tools**: Unit compatibility validation, conversion factors\n- **Multi-Unit Conversion**: Convert to multiple target units simultaneously\n- **Unit Discovery**: Find units by name, get detailed unit information\n\n#### **Calculus** (9 tools) - Optional\n- **Symbolic Calculus**: Derivatives, integrals, limits using SymPy\n- **Numerical Methods**: Numerical derivatives and integrals with multiple algorithms\n- **Series Expansion**: Taylor series expansion around any point\n- **Critical Analysis**: Critical points, gradient calculation\n- **Expression Evaluation**: Variable substitution and evaluation\n\n#### **Equation Solving** (6 tools) - Optional\n- **Linear Equations**: Single variable linear equation solving\n- **Quadratic Analysis**: Quadratic equations with discriminant and vertex analysis\n- **Polynomial Solving**: Equations of any degree with root analysis\n- **System Solving**: Multiple equations with multiple variables\n- **Numerical Root Finding**: Multiple algorithms (Newton, bisection, Brent)\n- **Equation Analysis**: Automatic equation type detection and properties\n\n#### **Financial Mathematics** (7 tools) - Optional\n- **Interest Calculations**: Compound interest with flexible compounding\n- **Loan Analysis**: Payment calculations, amortization schedules\n- **Investment Analysis**: NPV, IRR, present value, future value\n- **Annuity Calculations**: Future value of annuities (ordinary and due)\n- **Financial Planning**: Comprehensive loan and investment analysis\n\n#### **Currency Conversion** (4 tools) - Optional & Privacy-Controlled\n- **Real-Time Rates**: Current exchange rates with multiple fallback APIs\n- **Currency Tools**: Supported currency lists, rate information\n- **Privacy First**: Disabled by default, requires explicit enablement\n- **Fallback System**: API key \u2192 free tier \u2192 cached rates\n\n#### **Constants & References** (3 tools) - Optional\n- **Mathematical Constants**: \u03c0, e, \u03c6 (golden ratio), etc. with high precision\n- **Physical Constants**: Speed of light, Planck's constant, Avogadro's number\n- **Constant Discovery**: Search and browse constants by category\n\n### \ud83d\udee1\ufe0f Security & Performance\n- **Input Validation**: Comprehensive validation using Pydantic models\n- **Safe Evaluation**: No code injection - uses SymPy for expression parsing\n- **Resource Limits**: Configurable computation time and memory limits\n- **High Precision**: 15+ decimal place accuracy using Python's Decimal module\n- **Optimized Performance**: Caching, efficient algorithms, sub-second response times\n- **Privacy Controls**: Local computation preferred, external APIs disabled by default\n\n### \ud83d\udd27 Tool Group Management\n- **Selective Enablement**: Enable only the mathematical capabilities you need\n- **Security by Default**: Only basic arithmetic enabled by default (8 tools)\n- **Preset Combinations**: Scientific, Business, Engineering, or All tools\n- **Individual Control**: Fine-grained control over each tool group\n- **Configuration Validation**: Comprehensive environment variable validation\n- **Access Monitoring**: Track usage patterns and provide recommendations\n\n## \ud83d\udce6 Installation\n\n### Using uvx (Recommended for MCP Servers)\n```bash\n# Install and run latest stable version\nuvx p6plab-mcp-calculator@latest\n\n# Install from Test PyPI for development/testing\nuvx --index-url https://test.pypi.org/simple/ p6plab-mcp-calculator@latest\n\n# Install specific version\nuvx p6plab-mcp-calculator@1.0.1\n```\n\n### Using pip\n```bash\n# Install from PyPI\npip install p6plab-mcp-calculator\n\n# Install from Test PyPI\npip install --index-url https://test.pypi.org/simple/ p6plab-mcp-calculator\n\n# Install with optional currency conversion support\npip install p6plab-mcp-calculator[currency]\n\n# Install development dependencies\npip install p6plab-mcp-calculator[dev]\n```\n\n### From Source\n```bash\n# Clone and install\ngit clone https://github.com/peepeepopapapeepeepo/mcp-calculator.git\ncd p6plab-mcp-calculator\npython -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\npip install -e \".[dev]\"\n```\n\n## \ud83d\ude80 Quick Start\n\n### Basic Configuration (8 Tools)\nFor basic arithmetic operations only:\n\n```json\n{\n \"mcpServers\": {\n \"p6plab-p6plab-mcp-calculator\": {\n \"command\": \"uvx\",\n \"args\": [\"p6plab-mcp-calculator@latest\"],\n \"env\": {\n \"CALCULATOR_PRECISION\": \"15\",\n \"CALCULATOR_LOG_LEVEL\": \"INFO\"\n },\n \"disabled\": false,\n \"autoApprove\": [\"health_check\", \"add\", \"subtract\", \"multiply\", \"divide\"]\n }\n }\n}\n```\n\n### All Tools Configuration (68 Tools)\nFor complete mathematical capabilities:\n\n```json\n{\n \"mcpServers\": {\n \"p6plab-p6plab-mcp-calculator\": {\n \"command\": \"uvx\",\n \"args\": [\"p6plab-mcp-calculator@latest\"],\n \"env\": {\n \"CALCULATOR_ENABLE_ALL\": \"true\",\n \"CALCULATOR_PRECISION\": \"15\",\n \"CALCULATOR_LOG_LEVEL\": \"INFO\"\n },\n \"disabled\": false,\n \"autoApprove\": []\n }\n }\n}\n```\n\n### Preset Configurations\n\n#### Scientific Configuration (42 Tools)\n```json\n{\n \"env\": {\n \"CALCULATOR_ENABLE_SCIENTIFIC\": \"true\"\n }\n}\n```\n\n#### Business Configuration (22 Tools)\n```json\n{\n \"env\": {\n \"CALCULATOR_ENABLE_BUSINESS\": \"true\",\n \"CALCULATOR_ENABLE_CURRENCY_CONVERSION\": \"true\"\n }\n}\n```\n\n#### Engineering Configuration (38 Tools)\n```json\n{\n \"env\": {\n \"CALCULATOR_ENABLE_ENGINEERING\": \"true\"\n }\n}\n```\n\n### Direct Execution\n\n```bash\n# Run with basic tools only (default)\np6plab-mcp-calculator\n\n# Run with all tools enabled\nCALCULATOR_ENABLE_ALL=true p6plab-mcp-calculator\n\n# Run with scientific preset\nCALCULATOR_ENABLE_SCIENTIFIC=true p6plab-mcp-calculator\n\n# Run with custom precision\nCALCULATOR_PRECISION=20 CALCULATOR_ENABLE_ALL=true p6plab-mcp-calculator\n```\n\n### Verification\n\nCheck your configuration with the health check:\n\n```bash\n# Test basic installation\nuvx p6plab-mcp-calculator@latest --help\n\n# Verify tool count (should show 8 for basic, 68 for all)\necho '{\"method\": \"tools/list\"}' | uvx p6plab-mcp-calculator@latest\n```\n\n## Configuration\n\n### Environment Variables\n\nThe Scientific Calculator MCP Server can be configured using the following environment variables:\n\n#### Core Configuration\n- `CALCULATOR_PRECISION`: Decimal precision for calculations (default: `15`, range: 1-50)\n- `CALCULATOR_LOG_LEVEL`: Logging verbosity level (default: `INFO`, options: `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`)\n- `CALCULATOR_CACHE_SIZE`: Cache size for expensive operations (default: `1000`, range: 100-10000)\n\n#### Performance & Resource Limits\n- `CALCULATOR_MAX_COMPUTATION_TIME`: Maximum computation timeout in seconds (default: `30`, range: 1-300)\n- `CALCULATOR_MAX_MEMORY_MB`: Memory limit in megabytes (default: `512`, range: 128-2048)\n- `CALCULATOR_MAX_MATRIX_SIZE`: Maximum matrix dimension for operations (default: `1000`, range: 10-5000)\n- `CALCULATOR_MAX_ARRAY_SIZE`: Maximum array size for statistical operations (default: `10000`, range: 100-100000)\n\n#### Currency Conversion (Optional Feature)\n- `CALCULATOR_ENABLE_CURRENCY_CONVERSION`: Enable currency conversion feature (default: `false`, options: `true`, `false`)\n- `CALCULATOR_CURRENCY_API_KEY`: API key for premium currency conversion service (optional)\n- `CALCULATOR_CURRENCY_CACHE_TTL`: Currency rate cache time-to-live in seconds (default: `3600`, range: 300-86400)\n- `CALCULATOR_CURRENCY_FALLBACK_ENABLED`: Enable fallback to free currency API (default: `true`, options: `true`, `false`)\n\n#### Security & Validation\n- `CALCULATOR_STRICT_VALIDATION`: Enable strict input validation (default: `true`, options: `true`, `false`)\n- `CALCULATOR_ALLOW_SYMBOLIC_COMPUTATION`: Allow symbolic math operations (default: `true`, options: `true`, `false`)\n- `CALCULATOR_MAX_EXPRESSION_LENGTH`: Maximum length for mathematical expressions (default: `1000`, range: 10-10000)\n\n#### Development & Debugging\n- `CALCULATOR_DEBUG_MODE`: Enable debug mode with detailed logging (default: `false`, options: `true`, `false`)\n- `CALCULATOR_PROFILE_PERFORMANCE`: Enable performance profiling (default: `false`, options: `true`, `false`)\n- `CALCULATOR_DISABLE_CACHE`: Disable all caching for testing (default: `false`, options: `true`, `false`)\n\n#### MCP Server Configuration\n- `CALCULATOR_SERVER_NAME.*p6plab-mcp-calculator`)\n- `CALCULATOR_SERVER_VERSION`: Override server version (default: auto-detected from package)\n- `FASTMCP_LOG_LEVEL`: FastMCP framework log level (default: `ERROR`, options: `DEBUG`, `INFO`, `WARNING`, `ERROR`)\n\n### Configuration Examples\n\n#### Basic Configuration\n```bash\n# Minimal configuration for basic arithmetic\nexport CALCULATOR_PRECISION=10\nexport CALCULATOR_LOG_LEVEL=WARNING\nexport CALCULATOR_MAX_COMPUTATION_TIME=10\n```\n\n#### Scientific Configuration\n```bash\n# Configuration for advanced mathematical operations\nexport CALCULATOR_PRECISION=20\nexport CALCULATOR_LOG_LEVEL=INFO\nexport CALCULATOR_MAX_COMPUTATION_TIME=60\nexport CALCULATOR_MAX_MATRIX_SIZE=2000\nexport CALCULATOR_ALLOW_SYMBOLIC_COMPUTATION=true\n```\n\n#### Business/Financial Configuration\n```bash\n# Configuration with currency conversion enabled\nexport CALCULATOR_PRECISION=15\nexport CALCULATOR_ENABLE_CURRENCY_CONVERSION=true\nexport CALCULATOR_CURRENCY_API_KEY=your_api_key_here\nexport CALCULATOR_CURRENCY_CACHE_TTL=1800\nexport CALCULATOR_MAX_COMPUTATION_TIME=30\n```\n\n#### Development Configuration\n```bash\n# Configuration for development and testing\nexport CALCULATOR_DEBUG_MODE=true\nexport CALCULATOR_LOG_LEVEL=DEBUG\nexport CALCULATOR_PROFILE_PERFORMANCE=true\nexport CALCULATOR_STRICT_VALIDATION=true\nexport CALCULATOR_DISABLE_CACHE=true\nexport FASTMCP_LOG_LEVEL=DEBUG\n```\n\n#### Production Configuration\n```bash\n# Optimized configuration for production use\nexport CALCULATOR_PRECISION=15\nexport CALCULATOR_LOG_LEVEL=ERROR\nexport CALCULATOR_CACHE_SIZE=5000\nexport CALCULATOR_MAX_COMPUTATION_TIME=30\nexport CALCULATOR_MAX_MEMORY_MB=1024\nexport CALCULATOR_STRICT_VALIDATION=true\nexport CALCULATOR_ENABLE_CURRENCY_CONVERSION=false\nexport FASTMCP_LOG_LEVEL=ERROR\n```\n\n### MCP Client Configuration Examples\n\n#### Claude Desktop Configuration\n```json\n{\n \"mcpServers\": {\n \"p6plab-p6plab-mcp-calculator\": {\n \"command\": \"uvx\",\n \"args\": [\"p6plab-mcp-calculator@latest\"],\n \"env\": {\n \"CALCULATOR_PRECISION\": \"15\",\n \"CALCULATOR_LOG_LEVEL\": \"INFO\",\n \"CALCULATOR_ENABLE_CURRENCY_CONVERSION\": \"false\",\n \"CALCULATOR_MAX_COMPUTATION_TIME\": \"30\",\n \"CALCULATOR_CACHE_SIZE\": \"1000\",\n \"FASTMCP_LOG_LEVEL\": \"ERROR\"\n },\n \"disabled\": false,\n \"autoApprove\": []\n }\n }\n}\n```\n\n#### Development MCP Configuration\n```json\n{\n \"mcpServers\": {\n \"p6plab-p6plab-mcp-calculator-dev\": {\n \"command\": \"uvx\",\n \"args\": [\"--index-url\", \"https://test.pypi.org/simple/\", \"p6plab-mcp-calculator@latest\"],\n \"env\": {\n \"CALCULATOR_ENABLE_ALL\": \"true\",\n \"CALCULATOR_DEBUG_MODE\": \"true\",\n \"CALCULATOR_LOG_LEVEL\": \"DEBUG\",\n \"CALCULATOR_PRECISION\": \"20\",\n \"CALCULATOR_PROFILE_PERFORMANCE\": \"true\",\n \"FASTMCP_LOG_LEVEL\": \"INFO\"\n },\n \"disabled\": false,\n \"autoApprove\": [\"health_check\", \"add\", \"subtract\", \"multiply\", \"divide\"]\n }\n }\n}\n```\n\n### Tool Group Configuration Examples\n\n#### Individual Group Control\n```json\n{\n \"env\": {\n \"CALCULATOR_ENABLE_ADVANCED\": \"true\",\n \"CALCULATOR_ENABLE_STATISTICS\": \"true\",\n \"CALCULATOR_ENABLE_MATRIX\": \"true\"\n }\n}\n```\n\n#### Mixed Configuration\n```json\n{\n \"env\": {\n \"CALCULATOR_ENABLE_SCIENTIFIC\": \"true\",\n \"CALCULATOR_ENABLE_FINANCIAL\": \"true\",\n \"CALCULATOR_ENABLE_CURRENCY_CONVERSION\": \"true\"\n }\n}\n```\n\n## \ud83d\udee0\ufe0f Available Tools\n\nThe MCP server provides **68 comprehensive mathematical tools** organized into **11 configurable tool groups**. By default, only the **Basic Arithmetic** group (8 tools) is enabled for security and performance.\n\n### \ud83d\udd22 Basic Arithmetic (8 tools) - **Always Enabled**\n- `health_check()` - Server health verification and tool group status\n- `add(a, b)` - Addition with high precision\n- `subtract(a, b)` - Subtraction with high precision \n- `multiply(a, b)` - Multiplication with high precision\n- `divide(a, b)` - Division with high precision\n- `power(base, exponent)` - Exponentiation\n- `square_root(value)` - Square root calculation\n- `calculate(expression)` - Safe expression evaluation with SymPy\n\n**Enable with**: Always enabled (no configuration needed)\n\n### \ud83d\udcca Advanced Mathematics (5 tools) - **Optional**\n- `trigonometric(function, value, unit)` - Sin, cos, tan, sec, csc, cot, arcsin, arccos, arctan\n- `logarithm(value, base)` - Natural log, log10, custom base logarithms\n- `exponential(base, exponent)` - Exponential functions (e^x, custom base)\n- `hyperbolic(function, value)` - Sinh, cosh, tanh functions\n- `convert_angle(value, from_unit, to_unit)` - Radians \u2194 degrees conversion\n\n**Enable with**: `CALCULATOR_ENABLE_ADVANCED=true`\n\n### \ud83d\udcc8 Statistics (5 tools) - **Optional**\n- `descriptive_stats(data, sample)` - Mean, median, mode, std dev, variance, quartiles\n- `probability_distribution(distribution, ...)` - Normal, binomial, Poisson, uniform, exponential\n- `correlation_analysis(x_data, y_data)` - Pearson correlation coefficients\n- `regression_analysis(x_data, y_data)` - Linear regression with R-squared\n- `hypothesis_test(test_type, ...)` - One-sample t-test, two-sample t-test, chi-square\n\n**Enable with**: `CALCULATOR_ENABLE_STATISTICS=true`\n\n### \ud83d\udd22 Matrix Operations (8 tools) - **Optional**\n- `matrix_multiply(matrix_a, matrix_b)` - Matrix multiplication\n- `matrix_determinant(matrix_data)` - Determinant calculation\n- `matrix_inverse(matrix_data)` - Matrix inversion\n- `matrix_eigenvalues(matrix_data)` - Eigenvalues and eigenvectors\n- `solve_linear_system(coefficient_matrix, constants)` - Linear system solving\n- `matrix_operations(operation, matrix_data, norm_type)` - Transpose, trace, rank, norms\n- `matrix_arithmetic(operation, matrix_a, matrix_b, scalar)` - Add, subtract, scalar multiply\n- `create_matrix(matrix_type, size, rows, cols)` - Identity and zero matrices\n\n**Enable with**: `CALCULATOR_ENABLE_MATRIX=true`\n\n### \ud83d\udd04 Complex Numbers (6 tools) - **Optional**\n- `complex_arithmetic(operation, z1, z2)` - Add, subtract, multiply, divide, power\n- `complex_magnitude(z)` - Absolute value/magnitude\n- `complex_phase(z, unit)` - Phase/argument calculation\n- `complex_conjugate(z)` - Complex conjugate\n- `polar_conversion(operation, z, magnitude, phase, unit)` - Rectangular \u2194 polar\n- `complex_functions(function, z, base)` - Complex exp, log, sqrt, sin, cos, tan\n\n**Enable with**: `CALCULATOR_ENABLE_COMPLEX=true`\n\n### \ud83d\udccf Unit Conversion (7 tools) - **Optional**\n- `convert_units(value, from_unit, to_unit, unit_type)` - Convert between units\n- `get_available_units(unit_type)` - List available units by type\n- `validate_unit_compatibility(from_unit, to_unit, unit_type)` - Check compatibility\n- `get_conversion_factor(from_unit, to_unit, unit_type)` - Get conversion factors\n- `convert_multiple_units(value, from_unit, to_units, unit_type)` - Convert to multiple units\n- `find_unit_by_name(unit_name)` - Find unit type by name\n- `get_unit_info(unit_name, unit_type)` - Detailed unit information\n\n**Enable with**: `CALCULATOR_ENABLE_UNITS=true`\n\n### \u222b Calculus (9 tools) - **Optional**\n- `derivative(expression, variable, order)` - Symbolic derivatives\n- `integral(expression, variable, lower_bound, upper_bound)` - Symbolic integration\n- `numerical_derivative(expression, variable, point, order, dx)` - Numerical derivatives\n- `numerical_integral(expression, variable, lower_bound, upper_bound, method)` - Numerical integration\n- `calculate_limit(expression, variable, approach_value, direction)` - Limit calculations\n- `taylor_series(expression, variable, center, order)` - Taylor series expansion\n- `find_critical_points(expression, variable)` - Critical point analysis\n- `gradient(expression, variables)` - Gradient calculation\n- `evaluate_expression(expression, variable_values)` - Expression evaluation\n\n**Enable with**: `CALCULATOR_ENABLE_CALCULUS=true`\n\n### \ud83d\udd0d Equation Solving (6 tools) - **Optional**\n- `solve_linear(equation, variable)` - Linear equation solving\n- `solve_quadratic(equation, variable)` - Quadratic equations with analysis\n- `solve_polynomial(equation, variable)` - Polynomial equations of any degree\n- `solve_system(equations, variables)` - Systems of equations\n- `find_roots(expression, variable, initial_guess, method)` - Numerical root finding\n- `analyze_equation(equation, variable)` - Equation type and properties analysis\n\n**Enable with**: `CALCULATOR_ENABLE_SOLVER=true`\n\n### \ud83d\udcb0 Financial Mathematics (7 tools) - **Optional**\n- `compound_interest(principal, rate, time, compounding_frequency)` - Compound interest\n- `loan_payment(principal, rate, periods, payment_type)` - Loan payment calculation\n- `net_present_value(cash_flows, discount_rate, initial_investment)` - NPV calculation\n- `internal_rate_of_return(cash_flows, initial_investment)` - IRR calculation\n- `present_value(future_value, rate, periods)` - Present value calculation\n- `future_value_annuity(payment, rate, periods, payment_type)` - Annuity future value\n- `amortization_schedule(principal, rate, periods, max_periods_display)` - Loan amortization\n\n**Enable with**: `CALCULATOR_ENABLE_FINANCIAL=true`\n\n### \ud83d\udcb1 Currency Conversion (4 tools) - **Optional & Privacy-Controlled**\n- `convert_currency(amount, from_currency, to_currency)` - Currency conversion\n- `get_exchange_rate(from_currency, to_currency)` - Exchange rate lookup\n- `get_supported_currencies()` - List supported currencies\n- `get_currency_info()` - Currency system configuration\n\n**Enable with**: `CALCULATOR_ENABLE_CURRENCY=true` + `CALCULATOR_ENABLE_CURRENCY_CONVERSION=true`\n\n### \ud83d\udcda Constants & References (3 tools) - **Optional**\n- `get_constant(name, precision)` - Mathematical/physical constants (\u03c0, e, c, h, etc.)\n- `list_constants(category)` - List available constants by category\n- `search_constants(query)` - Search constants database\n\n**Enable with**: `CALCULATOR_ENABLE_CONSTANTS=true`\n\n### \ud83d\udccb Tool Group Summary\n\n| Group | Tools | Default | Enable With |\n|-------|-------|---------|-------------|\n| **Basic** | 8 | \u2705 Always | No configuration needed |\n| **Advanced** | 5 | \u274c | `CALCULATOR_ENABLE_ADVANCED=true` |\n| **Statistics** | 5 | \u274c | `CALCULATOR_ENABLE_STATISTICS=true` |\n| **Matrix** | 8 | \u274c | `CALCULATOR_ENABLE_MATRIX=true` |\n| **Complex** | 6 | \u274c | `CALCULATOR_ENABLE_COMPLEX=true` |\n| **Units** | 7 | \u274c | `CALCULATOR_ENABLE_UNITS=true` |\n| **Calculus** | 9 | \u274c | `CALCULATOR_ENABLE_CALCULUS=true` |\n| **Solver** | 6 | \u274c | `CALCULATOR_ENABLE_SOLVER=true` |\n| **Financial** | 7 | \u274c | `CALCULATOR_ENABLE_FINANCIAL=true` |\n| **Currency** | 4 | \u274c | `CALCULATOR_ENABLE_CURRENCY=true` |\n| **Constants** | 3 | \u274c | `CALCULATOR_ENABLE_CONSTANTS=true` |\n| **TOTAL** | **68** | **8** | `CALCULATOR_ENABLE_ALL=true` |\n\n### \ud83c\udfaf Preset Combinations\n\n| Preset | Groups | Tools | Use Case |\n|--------|--------|-------|----------|\n| **Scientific** | Basic + Advanced + Statistics + Matrix + Complex + Calculus | 42 | Research, analysis, scientific computing |\n| **Business** | Basic + Financial + Currency + Units | 22 | Finance, accounting, business analysis |\n| **Engineering** | Basic + Advanced + Matrix + Complex + Calculus + Units + Constants | 38 | Engineering calculations, physics |\n| **All** | All 11 groups | 68 | Complete mathematical capabilities |\n\n## \ud83d\udcac Example Prompts\n\nThe Scientific Calculator MCP Server integrates seamlessly with AI assistants, allowing you to perform complex mathematical operations through natural language. Here are examples of how to interact with each tool category:\n\n### \ud83e\udd16 How It Works\nSimply ask your AI assistant mathematical questions in natural language. The assistant will automatically:\n1. **Understand** your request and identify the appropriate mathematical operation\n2. **Select** the right tool from the 68 available mathematical functions \n3. **Execute** the calculation using the MCP server\n4. **Explain** the results in a clear, understandable format\n\n### \ud83d\udcdd Prompt Examples by Category\n\n### \ud83d\udd22 Basic Arithmetic\n```\n\"Add 15.7 and 23.8\"\n\"What's 144 divided by 12?\"\n\"Calculate 2 to the power of 10\"\n\"Find the square root of 169\"\n\"Evaluate the expression: (3 + 4) * 2 - 1\"\n\"What's 25% of 80?\"\n```\n\n### \ud83d\udcca Advanced Mathematics\n```\n\"Calculate sin(\u03c0/4) in radians\"\n\"What's the cosine of 60 degrees?\"\n\"Find log base 10 of 1000\"\n\"Calculate the natural logarithm of e\u00b2\"\n\"What's e to the power of 2?\"\n\"Find sinh(1)\"\n\"Convert 90 degrees to radians\"\n```\n\n### \ud83d\udcc8 Statistics & Probability\n```\n\"Calculate descriptive statistics for the dataset: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\"\n\"What's the mean and standard deviation of [23, 45, 67, 89, 12, 34, 56]?\"\n\"Calculate the probability density for a normal distribution with mean 0, std dev 1, at x=1.96\"\n\"Find the correlation coefficient between [1,2,3,4,5] and [2,4,6,8,10]\"\n\"Perform linear regression on x=[1,2,3,4] and y=[2,4,6,8]\"\n\"Do a one-sample t-test on [1,2,3,4,5] with population mean 3\"\n```\n\n### \ud83d\udd22 Matrix Operations\n```\n\"Multiply matrices [[1,2],[3,4]] and [[5,6],[7,8]]\"\n\"Find the determinant of [[1,2],[3,4]]\"\n\"Calculate the inverse of [[2,1],[1,3]]\"\n\"Find eigenvalues of [[4,-2],[1,1]]\"\n\"Solve the linear system Ax=b where A=[[2,1],[1,3]] and b=[5,6]\"\n\"Calculate the transpose of [[1,2,3],[4,5,6]]\"\n```\n\n### \ud83d\udd04 Complex Numbers\n```\n\"Add (3+4i) and (1+2i)\"\n\"Find the magnitude of 3+4i\"\n\"Calculate the phase of 1+i in degrees\"\n\"Find the complex conjugate of 2-3i\"\n\"Convert 3+4i to polar form\"\n\"Calculate e^(i\u03c0)\"\n```\n\n### \ud83d\udccf Unit Conversions\n```\n\"Convert 100 kilometers to miles\"\n\"How many feet are in 2 meters?\"\n\"Convert 32 degrees Fahrenheit to Celsius\"\n\"What's 1000 joules in calories?\"\n\"Convert 5 gallons to liters\"\n\"How many seconds are in 2.5 hours?\"\n```\n\n### \u222b Calculus Operations\n```\n\"Find the derivative of x\u00b3 + 2x\u00b2 + x with respect to x\"\n\"Calculate the second derivative of sin(x)\"\n\"Integrate x\u00b2 from 0 to 3\"\n\"Find the indefinite integral of cos(x)\"\n\"Calculate the limit of (sin(x)/x) as x approaches 0\"\n\"Find the Taylor series of e^x around x=0 up to order 5\"\n\"Find critical points of x\u00b3 - 3x\u00b2 + 2\"\n\"Calculate the gradient of x\u00b2 + y\u00b2 + z\u00b2\"\n```\n\n### \ud83d\udd0d Equation Solving\n```\n\"Solve 2x + 3 = 7 for x\"\n\"Solve the quadratic equation x\u00b2 - 5x + 6 = 0\"\n\"Find roots of x\u00b3 - 6x\u00b2 + 11x - 6 = 0\"\n\"Solve the system: 2x + y = 5, x + 3y = 6\"\n\"Find where f(x) = x\u00b2 - 4 equals zero\"\n\"Analyze the equation x\u00b2 + 4x + 4 = 0\"\n```\n\n### \ud83d\udcb0 Financial Mathematics\n```\n\"Calculate compound interest on $1000 at 5% annual rate for 10 years\"\n\"What's the monthly payment on a $200,000 loan at 4.5% for 30 years?\"\n\"Find the NPV of cash flows [-1000, 300, 400, 500] at 10% discount rate\"\n\"Calculate the IRR for an investment of $1000 with returns [300, 400, 500, 600]\"\n\"What's the present value of $1000 received in 5 years at 6% discount rate?\"\n\"Generate an amortization schedule for a $100,000 loan at 6% for 15 years\"\n```\n\n### \ud83d\udcb1 Currency Conversion\n```\n\"Convert 100 USD to EUR\"\n\"What's the current exchange rate from GBP to JPY?\"\n\"How much is 50 CAD in USD?\"\n\"List all supported currencies\"\n\"Convert 1000 EUR to multiple currencies: USD, GBP, JPY\"\n```\n\n### \ud83d\udcda Constants & References\n```\n\"What's the value of \u03c0 (pi) to 10 decimal places?\"\n\"Give me the speed of light in m/s\"\n\"What's Planck's constant?\"\n\"List all mathematical constants\"\n\"Search for constants related to 'gravity'\"\n\"What's Avogadro's number?\"\n\"Show me all physical constants\"\n```\n\n### \ud83d\udd2c Advanced Scientific Examples\n```\n\"Calculate the kinetic energy of a 2kg object moving at 10 m/s using KE = \u00bdmv\u00b2\"\n\"Find the period of a pendulum with length 1 meter using T = 2\u03c0\u221a(L/g)\"\n\"Calculate the wavelength of light with frequency 5\u00d710\u00b9\u2074 Hz using \u03bb = c/f\"\n\"Determine the half-life from decay constant 0.693 using t\u2081/\u2082 = ln(2)/\u03bb\"\n\"Find the escape velocity from Earth using v = \u221a(2GM/r)\"\n```\n\n### \ud83d\udcca Data Analysis Examples\n```\n\"Analyze this dataset for outliers: [1,2,3,4,5,100,6,7,8,9]\"\n\"Calculate confidence intervals for sample mean of [23,25,27,29,31]\"\n\"Test if two datasets have significantly different means: [1,2,3,4,5] vs [3,4,5,6,7]\"\n\"Find the best-fit line for points (1,2), (2,4), (3,6), (4,8)\"\n\"Calculate R-squared for the regression\"\n```\n\n### \ud83c\udfd7\ufe0f Engineering Examples\n```\n\"Calculate stress in a beam: Force = 1000N, Area = 0.01 m\u00b2\"\n\"Find the resonant frequency: L = 0.1H, C = 1\u03bcF using f = 1/(2\u03c0\u221aLC)\"\n\"Calculate power dissipation: V = 12V, R = 4\u03a9 using P = V\u00b2/R\"\n\"Determine the moment of inertia for a solid cylinder: m = 5kg, r = 0.2m\"\n\"Find the critical buckling load for a column\"\n```\n\n### \ud83d\udcbc Business Analysis Examples\n```\n\"Calculate ROI: Initial investment $10,000, Final value $12,000\"\n\"Find break-even point: Fixed costs $5000, Variable cost per unit $10, Price per unit $25\"\n\"Calculate depreciation using straight-line method: Cost $50,000, Salvage $5,000, Life 10 years\"\n\"Determine optimal order quantity: Demand 1000 units/year, Order cost $50, Holding cost $2/unit/year\"\n\"Calculate present value of annuity: $1000/year for 10 years at 8%\"\n```\n\n### \u2699\ufe0f Configuration-Specific Examples\n\n#### Basic Configuration (8 tools)\n```\n\"Add 25 and 17\"\n\"What's 144 divided by 12?\"\n\"Calculate 2\u00b3\"\n\"Find \u221a64\"\n\"Evaluate: (5 + 3) \u00d7 2\"\n```\n\n#### Scientific Configuration (42+ tools)\n```\n\"Calculate the derivative of x\u00b2 + 3x + 2\"\n\"Find the correlation between these datasets: [1,2,3,4,5] and [2,4,6,8,10]\"\n\"What's the eigenvalue of this matrix: [[3,1],[0,2]]?\"\n\"Solve the quadratic equation: x\u00b2 - 5x + 6 = 0\"\n\"Calculate sin(\u03c0/3) and convert the result to degrees\"\n```\n\n#### Business Configuration (22+ tools)\n```\n\"Convert 1000 USD to EUR at current rates\"\n\"Calculate monthly payment for $300,000 mortgage at 4.2% for 30 years\"\n\"What's the NPV of cash flows [-50000, 15000, 20000, 25000, 30000] at 8% discount?\"\n\"Convert 50 kilometers to miles for my business trip\"\n\"Find the IRR for this investment opportunity\"\n```\n\n#### Engineering Configuration (38+ tools)\n```\n\"Calculate the moment of inertia for a solid disk: mass=5kg, radius=0.3m\"\n\"Find the natural frequency: spring constant=1000 N/m, mass=2kg\"\n\"What's the stress in this beam: force=5000N, cross-sectional area=0.02m\u00b2?\"\n\"Calculate the derivative of the displacement function: s(t) = 4.9t\u00b2\"\n\"Convert 100 PSI to Pascals\"\n```\n\n### \ud83c\udfaf Pro Tips for Better Prompts\n\n#### \u2705 **Good Prompts:**\n- **Be specific**: \"Calculate the derivative of x\u00b3 + 2x\u00b2 with respect to x\"\n- **Include units**: \"Convert 100 kilometers to miles\"\n- **Provide context**: \"Find the monthly payment for a $200,000 loan at 4.5% APR for 30 years\"\n- **Specify precision**: \"Calculate \u03c0 to 10 decimal places\"\n\n#### \u274c **Avoid:**\n- Vague requests: \"Do some math\"\n- Missing parameters: \"Calculate compound interest\" (missing principal, rate, time)\n- Ambiguous units: \"Convert 100 degrees\" (Celsius to Fahrenheit? Degrees to radians?)\n\n#### \ud83d\udd27 **Configuration Hints:**\n- If you get \"tool not available\" errors, you may need to enable additional tool groups\n- Use `health_check` to see which tools are currently available\n- Check the configuration guide for enabling specific mathematical capabilities\n\n## \ud83d\udee0\ufe0f Development\n\n### Prerequisites\n- Python 3.8+ (tested on 3.8, 3.9, 3.10, 3.11, 3.12)\n- Virtual environment (venv)\n- Git\n\n### Development Setup\n```bash\n# Clone the repository\ngit clone https://github.com/peepeepopapapeepeepo/mcp-calculator.git\ncd p6plab-mcp-calculator\n\n# Create and activate virtual environment\npython -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\n\n# Install development dependencies\npip install -e \".[dev]\"\n\n# Verify installation\npython -c \"import calculator; print(calculator.__version__)\"\n```\n\n### Project Structure\n```\np6plab-mcp-calculator/\n\u251c\u2500\u2500 calculator/ # Main package\n\u2502 \u251c\u2500\u2500 __init__.py # Version and package info\n\u2502 \u251c\u2500\u2500 server.py # FastMCP server implementation\n\u2502 \u251c\u2500\u2500 core/ # Core mathematical modules\n\u2502 \u2502 \u251c\u2500\u2500 basic.py # Basic arithmetic operations\n\u2502 \u2502 \u251c\u2500\u2500 advanced.py # Advanced mathematical functions\n\u2502 \u2502 \u251c\u2500\u2500 statistics.py # Statistical analysis tools\n\u2502 \u2502 \u251c\u2500\u2500 matrix.py # Matrix operations\n\u2502 \u2502 \u251c\u2500\u2500 complex.py # Complex number operations\n\u2502 \u2502 \u251c\u2500\u2500 units.py # Unit conversion system\n\u2502 \u2502 \u251c\u2500\u2500 calculus.py # Calculus operations\n\u2502 \u2502 \u251c\u2500\u2500 solver.py # Equation solving\n\u2502 \u2502 \u251c\u2500\u2500 financial.py # Financial mathematics\n\u2502 \u2502 \u251c\u2500\u2500 currency.py # Currency conversion\n\u2502 \u2502 \u251c\u2500\u2500 constants.py # Mathematical constants\n\u2502 \u2502 \u251c\u2500\u2500 tool_groups.py # Tool group management\n\u2502 \u2502 \u251c\u2500\u2500 tool_filter.py # Tool filtering system\n\u2502 \u2502 \u2514\u2500\u2500 validators.py # Input validation\n\u2502 \u251c\u2500\u2500 models/ # Data models\n\u2502 \u2514\u2500\u2500 utils/ # Utility functions\n\u251c\u2500\u2500 tests/ # Test suite (216+ tests)\n\u251c\u2500\u2500 scripts/ # Build and deployment scripts\n\u251c\u2500\u2500 docs/ # Documentation\n\u251c\u2500\u2500 pyproject.toml # Project configuration\n\u251c\u2500\u2500 README.md # This file\n\u251c\u2500\u2500 CHANGELOG.md # Version history\n\u2514\u2500\u2500 LICENSE # MIT License\n```\n\n### Running Tests\n```bash\n# Run all tests with coverage\n./scripts/run-tests.sh\n\n# Run specific test categories\npytest tests/test_basic.py -v # Basic arithmetic tests\npytest tests/test_tool_groups.py -v # Tool group management tests\npytest tests/test_server.py -v # MCP server tests\npytest -m \"not slow\" -v # Skip slow tests\npytest -k \"matrix\" -v # Run matrix-related tests\n\n# Run tests with specific tool group configurations\nCALCULATOR_ENABLE_ALL=true pytest tests/ -v # Test with all tools\nCALCULATOR_ENABLE_SCIENTIFIC=true pytest tests/ -v # Test scientific preset\n```\n\n### Code Quality\n```bash\n# Linting and formatting\nruff check calculator/ tests/ # Check code style\nruff format calculator/ tests/ # Format code\n\n# Type checking\npyright calculator/ # Static type analysis\n\n# Security scanning\nbandit -r calculator/ # Security analysis\n```\n\n### Building and Publishing\n\nThe project includes automated scripts for building and publishing:\n\n```bash\n# Build uvx-compatible package\n./scripts/build-uvx-package.sh\n\n# Test uvx package locally\n./scripts/test-uvx-package.sh\n\n# Test uvx installation from Test PyPI\n./scripts/test-uvx-install.sh testpypi\n\n# Publish to Test PyPI\n./scripts/publish-test-pypi.sh\n\n# Publish to production PyPI\n./scripts/publish-pypi.sh\n\n# Clean build artifacts\n./scripts/clean.sh\n```\n\n### Development Workflow\n1. **Create Feature Branch**: `git checkout -b feature/new-tool-group`\n2. **Implement Changes**: Add new mathematical tools or improve existing ones\n3. **Add Tests**: Ensure comprehensive test coverage (target: 95%+)\n4. **Run Quality Checks**: `ruff check`, `pyright`, test suite\n5. **Test Tool Groups**: Verify tool filtering and configuration works\n6. **Update Documentation**: Update README, docstrings, and examples\n7. **Submit Pull Request**: Include description of changes and test results\n\n### Adding New Mathematical Tools\n\n1. **Create Core Function**: Add to appropriate module in `calculator/core/`\n2. **Register Tool**: Add to tool group in `calculator/core/tool_groups.py`\n3. **Add Server Endpoint**: Register in `calculator/server.py` with `@filtered_tool`\n4. **Write Tests**: Add comprehensive tests in `tests/`\n5. **Update Documentation**: Add to README tool list and examples\n\n### Environment Variables for Development\n```bash\n# Enable debug mode\nexport CALCULATOR_DEBUG_MODE=true\nexport CALCULATOR_LOG_LEVEL=DEBUG\nexport FASTMCP_LOG_LEVEL=DEBUG\n\n# Enable all tools for testing\nexport CALCULATOR_ENABLE_ALL=true\n\n# Performance profiling\nexport CALCULATOR_PROFILE_PERFORMANCE=true\n\n# Disable caching for testing\nexport CALCULATOR_DISABLE_CACHE=true\n```\n\n## \u26a1 Performance\n\nThe calculator is optimized for high-performance mathematical computation:\n\n### Response Time Targets\n- **Basic operations**: < 10ms response time\n- **Advanced functions**: < 100ms response time \n- **Statistical operations**: < 500ms response time\n- **Matrix operations**: < 1s response time (up to 1000\u00d71000 matrices)\n- **Unit conversions**: < 50ms response time\n- **Currency conversion**: < 2s response time (with caching)\n\n### Performance Features\n- **Efficient Algorithms**: NumPy and SciPy optimized implementations\n- **Smart Caching**: Configurable cache for expensive operations\n- **Resource Limits**: Configurable memory and computation time limits\n- **Lazy Loading**: Tool groups loaded only when enabled\n- **Optimized Parsing**: SymPy integration for safe expression evaluation\n\n### Benchmarks (on modern hardware)\n- **Matrix multiplication** (100\u00d7100): ~5ms\n- **Eigenvalue calculation** (50\u00d750): ~15ms\n- **Statistical analysis** (10,000 data points): ~50ms\n- **Symbolic derivative**: ~20ms\n- **Numerical integration**: ~100ms\n\n## \ud83d\udd12 Security\n\nSecurity is built into every aspect of the calculator:\n\n### Input Security\n- **Comprehensive Validation**: All inputs validated with Pydantic models\n- **Safe Expression Parsing**: Uses SymPy - no `eval()` or code execution\n- **Type Safety**: Strong typing with Python 3.8+ type hints\n- **Sanitization**: Mathematical expressions sanitized before processing\n\n### Resource Protection\n- **Computation Limits**: Configurable timeout (default: 30s)\n- **Memory Limits**: Configurable memory usage (default: 512MB)\n- **Matrix Size Limits**: Prevents memory exhaustion attacks\n- **Array Size Limits**: Protects against large dataset attacks\n\n### Privacy Controls\n- **Local-First**: All core mathematical operations run locally\n- **External APIs Disabled**: Currency conversion disabled by default\n- **No Data Persistence**: No user data stored or logged\n- **Minimal Network**: Only currency APIs when explicitly enabled\n\n### Tool Group Security\n- **Principle of Least Privilege**: Only basic tools enabled by default\n- **Selective Enablement**: Enable only needed mathematical capabilities\n- **Access Monitoring**: Track attempts to access disabled tools\n- **Configuration Validation**: Comprehensive environment variable validation\n\n### Error Handling\n- **Safe Error Messages**: No sensitive information in error responses\n- **Structured Errors**: Consistent error format with actionable suggestions\n- **Logging Controls**: Configurable logging levels\n- **No Stack Traces**: Production-safe error responses\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions to the Scientific Calculator MCP Server! Whether you're fixing bugs, adding new mathematical tools, improving documentation, or enhancing performance, your contributions are valued.\n\n### Ways to Contribute\n- **Bug Reports**: Report issues with detailed reproduction steps\n- **Feature Requests**: Suggest new mathematical tools or capabilities\n- **Code Contributions**: Implement new features or fix existing issues\n- **Documentation**: Improve README, docstrings, or examples\n- **Testing**: Add test cases or improve test coverage\n- **Performance**: Optimize algorithms or improve efficiency\n\n### Development Workflow\n1. **Fork the Repository**: Create your own fork on GitHub\n2. **Create Feature Branch**: `git checkout -b feature/your-feature-name`\n3. **Set Up Development Environment**: Follow the development setup guide\n4. **Make Your Changes**: Implement your feature or fix\n5. **Add Tests**: Ensure comprehensive test coverage (target: 95%+)\n6. **Run Quality Checks**: \n ```bash\n ./scripts/run-tests.sh # Run test suite\n ruff check calculator/ tests/ # Code style\n pyright calculator/ # Type checking\n ```\n7. **Update Documentation**: Update README, docstrings, and examples\n8. **Submit Pull Request**: Include clear description and test results\n\n### Code Standards\n- **Python 3.8+**: Compatible with Python 3.8 through 3.12\n- **Type Hints**: Use comprehensive type annotations\n- **Docstrings**: Google-style docstrings for all functions\n- **Code Style**: Follow ruff formatting (line length: 99 characters)\n- **Testing**: pytest with asyncio support, 95%+ coverage target\n- **Security**: No `eval()`, comprehensive input validation\n\n### Adding New Mathematical Tools\n1. **Core Implementation**: Add to appropriate module in `calculator/core/`\n2. **Tool Registration**: Add to tool group in `calculator/core/tool_groups.py`\n3. **Server Integration**: Register in `calculator/server.py` with `@filtered_tool`\n4. **Comprehensive Testing**: Add tests covering edge cases and error conditions\n5. **Documentation**: Update README with tool description and examples\n\n### Pull Request Guidelines\n- **Clear Description**: Explain what your PR does and why\n- **Test Coverage**: Include tests for new functionality\n- **Documentation Updates**: Update relevant documentation\n- **Breaking Changes**: Clearly mark any breaking changes\n- **Performance Impact**: Note any performance implications\n\n### Getting Help\n- **Issues**: [GitHub Issues](https://github.com/peepeepopapapeepeepo/mcp-calculator/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/peepeepopapapeepeepo/mcp-calculator/discussions)\n- **Documentation**: Check README and inline documentation\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n**Copyright (c) 2025 MCP Calculator Team**\n\n## \ud83d\udcde Support & Resources\n\n### Getting Help\n- **\ud83d\udccb Issues**: [GitHub Issues](https://github.com/peepeepopapapeepeepo/mcp-calculator/issues) - Bug reports and feature requests\n- **\ud83d\udcac Discussions**: [GitHub Discussions](https://github.com/peepeepopapapeepeepo/mcp-calculator/discussions) - Questions and community support\n- **\ud83d\udcd6 Documentation**: This README and inline code documentation\n- **\ud83d\udd0d Troubleshooting**: Check the configuration examples and error messages\n\n### Project Links\n- **\ud83c\udfe0 Homepage**: [GitHub Repository](https://github.com/peepeepopapapeepeepo/mcp-calculator)\n- **\ud83d\udce6 PyPI Package**: [p6plab-mcp-calculator](https://pypi.org/project/p6plab-mcp-calculator)\n- **\ud83d\udccb Test PyPI**: [p6plab-mcp-calculator (Test)](https://test.pypi.org/project/p6plab-mcp-calculator)\n- **\ud83d\udcdd Changelog**: [CHANGELOG.md](CHANGELOG.md) - Detailed version history\n- **\u2696\ufe0f License**: [LICENSE](LICENSE) - MIT License terms\n\n### Quick Links\n- **Installation**: `uvx p6plab-mcp-calculator@latest`\n- **All Tools**: Add `CALCULATOR_ENABLE_ALL=true` to environment\n- **Health Check**: Use `health_check()` tool to verify configuration\n- **Tool Count**: 8 tools (basic) to 68 tools (all groups enabled)\n\n---\n\n**Version**: 1.0.1 | **Status**: Production/Stable | **Python**: 3.8+ | **License**: MIT\n\nMade with \ud83d\udc7b Kiro, an agentic IDE.",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2025 MCP Calculator Team\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.",
"summary": "Scientific Calculator MCP Server - Comprehensive mathematical computation service for AI assistants",
"version": "1.0.1",
"project_urls": {
"Changelog": "https://github.com/peepeepopapapeepeepo/mcp-calculator/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/peepeepopapapeepeepo/mcp-calculator/blob/main/README.md",
"Homepage": "https://github.com/peepeepopapapeepeepo/mcp-calculator",
"Issues": "https://github.com/peepeepopapapeepeepo/mcp-calculator/issues",
"Repository": "https://github.com/peepeepopapapeepeepo/mcp-calculator"
},
"split_keywords": [
"calculator",
" calculus",
" linear-algebra",
" mathematics",
" mcp",
" model-context-protocol",
" scientific-computing",
" statistics"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2a5b36823e1372c831b936a795eb16390d2b86402a14c7f3a041c2e8e96e8bae",
"md5": "3075f70b87e253ccb51c50f59f377861",
"sha256": "37c80b0f9cd48f00986132ea94af6380ea7f16cea2af38d76461db65574cabba"
},
"downloads": -1,
"filename": "p6plab_mcp_calculator-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3075f70b87e253ccb51c50f59f377861",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 110654,
"upload_time": "2025-09-06T16:26:44",
"upload_time_iso_8601": "2025-09-06T16:26:44.488245Z",
"url": "https://files.pythonhosted.org/packages/2a/5b/36823e1372c831b936a795eb16390d2b86402a14c7f3a041c2e8e96e8bae/p6plab_mcp_calculator-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "83fb375532385e6728553a3ba24a4c31ed2f27232365ef62a22c5cbf9e198a22",
"md5": "8b41982b1a32e5a151f856cdfd023ba7",
"sha256": "af6da161f42660d1dfc364169def8f265cf5130cd2185945bd8dd5046dd3b91a"
},
"downloads": -1,
"filename": "p6plab_mcp_calculator-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "8b41982b1a32e5a151f856cdfd023ba7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 192837,
"upload_time": "2025-09-06T16:26:46",
"upload_time_iso_8601": "2025-09-06T16:26:46.196193Z",
"url": "https://files.pythonhosted.org/packages/83/fb/375532385e6728553a3ba24a4c31ed2f27232365ef62a22c5cbf9e198a22/p6plab_mcp_calculator-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-06 16:26:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "peepeepopapapeepeepo",
"github_project": "mcp-calculator",
"github_not_found": true,
"lcname": "p6plab-mcp-calculator"
}