Differentiation MCP Server

ShawneilRodrigues/mcp-differentiation-tool
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Provides comprehensive mathematical differentiation capabilities using symbolic computation (SymPy) and automatic differentiation (autograd).

README.md

Differentiation MCP Server

A Model Context Protocol (MCP) server that provides comprehensive mathematical differentiation capabilities using both symbolic computation (SymPy) and automatic differentiation (autograd).

Features

Differentiation Tools

The server provides six powerful differentiation tools:

  1. differentiate_symbolic - Compute exact symbolic derivatives using SymPy
  • Supports any order of derivatives
  • Automatic simplification
  • LaTeX output for mathematical notation
  1. differentiate_numerical - Numerical derivatives using autograd
  • First and second order derivatives
  • Evaluation at specific points
  • High precision numerical computation
  1. partial_derivatives - Multivariable function differentiation
  • First-order partials for all variables
  • Mixed partial derivatives
  • Support for any number of variables
  1. gradient_vector - Gradient computation for multivariable functions
  • Symbolic gradient vectors
  • Point evaluation capabilities
  • LaTeX formatted output
  1. chain_rule - Application of the chain rule for composite functions
  • Step-by-step breakdown
  • Automatic substitution and simplification
  • Educational explanations
  1. implicit_differentiation - Differentiation of implicit equations
  • Handles equations of the form F(x,y) = 0
  • Automatic application of implicit differentiation rules
  • Clear step-by-step solutions

Prompts

The server provides educational prompts:

  • differentiation-help: Get guidance on which tool to use for different types of problems
  • calculus-problem-solver: Structured approach to solving calculus problems

Dependencies

  • mcp - Model Context Protocol framework
  • autograd - Automatic differentiation library
  • sympy - Symbolic mathematics library
  • numpy - Numerical operations

Installation and Setup

Prerequisites

  • Python 3.12 or higher
  • Virtual environment (created automatically by the project)

Configuration for Claude Desktop

Windows

Add to %APPDATA%/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "differentiation-server": {
      "command": "python",
      "args": ["-m", "differentiation_server"],
      "cwd": "c:\\Users\\shawn\\OneDrive\\Desktop\\diffrentiation",
      "env": {
        "PYTHONPATH": "c:\\Users\\shawn\\OneDrive\\Desktop\\diffrentiation\\src"
      }
    }
  }
}

macOS

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "differentiation-server": {
      "command": "python",
      "args": ["-m", "differentiation_server"],
      "cwd": "/path/to/your/diffrentiation",
      "env": {
        "PYTHONPATH": "/path/to/your/diffrentiation/src"
      }
    }
  }
}

Usage Examples

Symbolic Differentiation

Tool: differentiate_symbolic
Arguments:
- expression: "x**3 + 2*x**2 + x + 1"
- variable: "x"
- order: 1

Numerical Differentiation

Tool: differentiate_numerical
Arguments:
- function_def: "lambda x: anp.sin(x) + x**2"
- point: 1.5707963267948966
- order: 1

Partial Derivatives

Tool: partial_derivatives
Arguments:
- expression: "x**2 + y**2 + x*y"
- variables: ["x", "y"]

Chain Rule

Tool: chain_rule
Arguments:
- outer_function: "sin(u)"
- inner_function: "x**2 + 1"
- variable: "x"

Development

Running the Server

cd diffrentiation
.\.venv\Scripts\activate.bat  # Windows
source .venv/bin/activate     # macOS/Linux

python -m differentiation_server

Debugging

Use the MCP Inspector for debugging:

npx @modelcontextprotocol/inspector python -m differentiation_server

Building

uv sync
uv build

Educational Value

This MCP server is designed to be educational, providing:

  • Step-by-step solutions for complex differentiation problems
  • Clear explanations of mathematical concepts
  • LaTeX formatting for proper mathematical notation
  • Error handling with helpful messages
  • Support for various difficulty levels from basic to advanced calculus

Contributing

The server is built using the Model Context Protocol and follows MCP best practices. Contributions are welcome for:

  • Additional differentiation techniques
  • Enhanced error handling
  • More educational prompts
  • Performance optimizations

License

This project is open source and available under standard licensing terms.

Related MCP servers

Browse all →