{"id":33837727,"url":"https://github.com/abhiphile/fermat-mcp","last_synced_at":"2025-12-12T23:00:56.537Z","repository":{"id":305317054,"uuid":"1022507759","full_name":"abhiphile/fermat-mcp","owner":"abhiphile","description":"🚀 Fermat MCP: The Ultimate Math Engine - Unifying SymPy, NumPy \u0026 Matplotlib in one powerful server! Perfect for devs \u0026 researchers. ","archived":false,"fork":false,"pushed_at":"2025-10-07T19:28:29.000Z","size":657,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-07T20:37:47.033Z","etag":null,"topics":["mathematics","matplotlib","mcp","mcp-server","numerical-computation","numpy","symbolic-computation","sympy"],"latest_commit_sha":null,"homepage":"https://mcpmarket.com/server/fermat","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abhiphile.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-19T08:13:04.000Z","updated_at":"2025-10-07T19:28:33.000Z","dependencies_parsed_at":"2025-10-07T20:26:05.899Z","dependency_job_id":"f4981f4d-5435-4683-9fea-5e35be2ac331","html_url":"https://github.com/abhiphile/fermat-mcp","commit_stats":null,"previous_names":["abhiphile/fermat-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abhiphile/fermat-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiphile%2Ffermat-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiphile%2Ffermat-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiphile%2Ffermat-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiphile%2Ffermat-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abhiphile","download_url":"https://codeload.github.com/abhiphile/fermat-mcp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhiphile%2Ffermat-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27694440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-12T02:00:06.775Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mathematics","matplotlib","mcp","mcp-server","numerical-computation","numpy","symbolic-computation","sympy"],"created_at":"2025-12-07T23:00:35.442Z","updated_at":"2025-12-12T23:00:56.522Z","avatar_url":"https://github.com/abhiphile.png","language":"Python","funding_links":[],"categories":["Developer Tools","サーバー実装","カテゴリ","Data Analysis \u0026 Exploration Mcp Servers","📦 Other"],"sub_categories":["Utilities","🧮 \u003ca name=\"data-science-tools\"\u003e\u003c/a\u003eデータサイエンスツール","🧠 \u003ca name=\"data-science--ml\"\u003e\u003c/a\u003eデータサイエンス・ML"],"readme":"# Fermat MCP\n[![smithery badge](https://smithery.ai/badge/@abhiphile/fermat-mcp)](https://smithery.ai/server/@abhiphile/fermat-mcp)\n\n[![Verified on MseeP](https://mseep.ai/badge.svg)](https://mseep.ai/app/16469d0f-0c4a-4b35-babf-4666107251f5)\n\n\n\nThis project provides a FastMCP server for mathematical computations, including numerical and symbolic calculations, as well as plotting.\n\n\n\n## Modules\n\n### 1. mpl_mcp - Matplotlib Integration\n\n| Feature | Description |\n|---------|-------------|\n| `plot_barchart` | Plots bar charts of given data values |\n| `plot_scatter` | Creates scatter plots from data points |\n| `plot_chart` | Plots line, scatter, or bar charts |\n| `plot_stem` | Creates stem plots for discrete data |\n| `plot_stack` | Generates stacked area/bar charts |\n| `eqn_chart` | Plots mathematical equations |\n\n### 2. numpy_mcp - NumPy Integration\n\n| Category | Operations |\n|----------|------------|\n| **Basic Math** | add, sub, mul, div, power, abs, exp, log, sqrt |\n| **Trigonometric** | sin, cos, tan |\n| **Statistics** | mean, median, std, var, min, max, argmin, argmax, percentile |\n| **Linear Algebra** | dot, matmul, inv, det, eig, solve, svd |\n| **Matrix Operations** | create, zeros, ones, full, arange, linspace |\n| **Array Manipulation** | reshape, flatten, concatenate, transpose, stack |\n\n### 3. sympy_mcp - SymPy Integration\n\n| Category | Operations |\n|----------|------------|\n| **Algebra** | simplify, expand, factor, collect |\n| **Calculus** | diff, integrate, limit, series |\n| **Equations** | solve, solveset, linsolve, nonlinsolve |\n| **Matrix Operations** | create, det, inv, rref, eigenvals |\n\n## Setup\n\n### Requirements\n\n- Python 3.12 or higher (To install Python3.12 follow [Python Download](https://www.python.org/downloads/))\n\n- uv (To install uv follow [uv Installation](https://docs.astral.sh/uv/getting-started/installation/))\n\n#### Clone the repository\n\n```bash\ngit clone https://github.com/abhiphile/fermat-mcp\n```\n\n### Visual Studio Code, Windsurf\nYou can find the `mcp.json` file in the\nMCP: Open User Configuration or MCP: Open Workspace Configuration\n\n![vs-code-1](public/images/vs-code-1.png)\n\nAdd the following to your `mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"fmcp\": {\n      \"command\": \"bash\",\n      \"args\": [\"MCP_SERVER_ABSOLUTE_PATH/setup.sh\"],\n      \"description\": \"fmcp server is for mathematical computations, including numerical and symbolic calculations, as well as plotting.\"\n    }\n  }\n}\n```\n\n### Claude (Anthropic)\n\nIf you're using Claude or the Anthropic MCP client, add this working MCP configuration to your `mcp.json` (update the directory path to your local clone):\n\n```json\n{\n  \"mcpServers\": {\n    \"fmcp\": {\n      \"command\": \"uv\",\n      \"args\": [\n        \"--directory\",\n        \"/home/ty/Repositories/fermat-mcp\",\n        \"run\",\n        \"server.py\"\n      ]\n    }\n  }\n}\n```\n\n### Gemini CLI\n- Open your Gemini settings JSON located in ~/.gemini/settings.json where ~ is your home directory.\n\n- Add the following to your settings.json:\n\n```json\n{\n  \"mcpServers\": {\n    \"fmcp\": {\n      \"command\": \"bash\",\n      \"args\": [\"MCP_SERVER_ABSOLUTE_PATH/setup.sh\"],\n      \"description\": \"fmcp server is for mathematical computations, including numerical and symbolic calculations, as well as plotting.\"\n    }\n  }\n}\n```\n\n### Installing via Smithery\n\nTo install Fermat MCP for local usage automatically via [Smithery](https://smithery.ai/server/@abhiphile/fermat-mcp):\n\n```bash\nnpx -y @smithery/cli install @abhiphile/fermat-mcp --client gemini\n```\n\n### Example Usage\n- Using Gemini CLI\n```\n╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮\n│  \u003e Can you use fmcp server and using numpy method find the eigen values of this 8*8 matrix,                  |\n│    2 1 3 1 1 8 4 2                                                                                           |\n│    6 6 0 7 1 4 6 1                                                                                           │\n│    9 2 1 8 7 9 9 0                                                                                           │\n│    2 5 6 6 9 8 0 1                                                                                           │\n│    1 3 6 2 3 8 8 1                                                                                           │\n│    9 4 2 2 1 2 2 9                                                                                           │\n│    8 6 4 4 2 0 2 8                                                                                           │\n│    0 0 0 6 6 7 5 6                                                                                           │\n╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n\n ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮\n │ ✔  numpy_mcp_numerical_operation (fmcp MCP Server) {\"a\":[[2,1,3,1,1,8,4,2],[6,6,0,7,1,4,6,1],[9,2,1,8,7,9,9,0],[2,5,6,6,9,8,0,1],[1,3,… │\n │                                                                                                                                         │\n │    {\"eigenvalues\":[\"32.077244457548815+0j\",\"-11.531090644775198+0j\",\"-6.6653982146786195+0j\",\"0.6715984762411508+3.37024850             │\n │    10270413j\",\"0.6715984762411508-3.3702485010270413j\",\"4.541270555490195+2.776364664923869j\",\"4.541270555490195-2.77636466             │\n │    4923869j\",\"3.6935063384423428+0j\"],\"eigenvectors\":[[\"-0.23263835483680192+0j\",\"-0.2264723575289234+0j\",\"-0.4308391916391             │\n │    0195+0j\",\"-0.012346573390129022+0.17748655663058255j\",\"-0.012346573390129022-0.17748655663058255j\",\"-0.21221572277027187             │\n │    +0.3524396218277479j\",\"-0.21221572277027187-0.3524396218277479j\",\"0.3451499664861578+0j\"],[\"-0.31955742545335186+0j\",\"-0             │\n │    .2569860493445581+0j\",\"0.05691886770041556+0j\",\"-0.35591013681869693-0.2242364092694275j\",\"-0.35591013681869693+0.224236             │\n │    4092694275j\",\"0.1932161673963751-0.39527849111641133j\",\"0.1932161673963751+0.39527849111641133j\",\"-0.7979681696063214+0j             │\n │    \"],[\"-0.46626263247473404+0j\",\"-0.4684914620112376+0j\",\"0.5469400556350749+0j\",\"0.34325164099973565+0.06607019711949293j             │\n │    \",\"0.34325164099973565-0.06607019711949293j\",\"0.21312270185159682+0.28822307710358636j\",\"0.21312270185159682-0.288223077             │\n │    10358636j\",\"0.42707422750984786+0j\"],[\"-0.41589316441674523+0j\",\"0.2291771012892302+0j\",\"0.09410792992600435+0j\",\"0.6375             │\n │    92441360358+0j\",\"0.637592441360358+-0j\",\"0.46446646137729414+0j\",\"0.46446646137729414+-0j\",\"0.08171661775583623+0j\"],[\"-             │\n │    0.35812884189789035+0j\",\"-0.26551071423139044+0j\",\"-0.649979374400915+0j\",\"-0.2999153430497845+0.20110182336747695j\",\"-0             │\n │    .2999153430497845-0.20110182336747695j\",\"0.04424367733961273-0.020400357434930304j\",\"0.04424367733961273+0.0204003574349             │\n │    30304j\",\"-0.037276545325188024+0j\"],[\"-0.3042416233100104+0j\",\"0.4027405071320744+0j\",\"0.2343447346668298+0j\",\"-0.119224             │\n │    87219398595+0.10317726668781271j\",\"-0.11922487219398595-0.10317726668781271j\",\"-0.3387759141362585+0.15790241128043445j\"             │\n │    ,\"-0.3387759141362585-0.15790241128043445j\",\"0.11473144194899779+0j\"],[\"-0.35389732755448017+0j\",\"0.5359362131480812+0j\"             │\n │    ,\"0.13989902586074168+0j\",\"-0.16008513226461316-0.26111873108374495j\",\"-0.16008513226461316+0.26111873108374495j\",\"0.055             │\n │    729749650881726-0.22748184206919145j\",\"0.055729749650881726+0.22748184206919145j\",\"-0.19838514696566653+0j\"],[\"-0.327615             │\n │    5213691367+0j\",\"-0.30122843153433887+0j\",\"0.07858579556736099+0j\",\"0.00042251379361638556-0.11670182367986544j\",\"0.00042             │\n │    251379361638556+0.11670182367986544j\",\"-0.18590228871569267-0.2479130526139182j\",\"-0.18590228871569267+0.247913052613918             │\n │    2j\",\"-0.03374593856285834+0j\"]]}                                                                                                     │\n ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n✦ Of course, I can do that. Here are the eigenvalues for the given matrix:\n\n  32.077244457548815\n  -11.531090644775198\n  -6.6653982146786195\n  0.6715984762411508 + 3.3702485010270413j\n  0.6715984762411508 - 3.3702485010270413j\n  4.541270555490195 + 2.776364664923869j\n  4.541270555490195 - 2.776364664923869j\n  3.6935063384423428\n  ```\n\n- Using Visual Studio Code, Windsurf\nHere the task was to plot both x**2 and sin(x) in the same plot.\n![GUI Demo 1-2](public/images/gui-demo-1.png)\n![GUI Demo 2-2](public/images/gui-demo-2.png)\n\n\u003ca href=\"https://glama.ai/mcp/servers/@abhiphile/fermat-mcp\"\u003e\n  \u003cimg width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@abhiphile/fermat-mcp/badge\" /\u003e\n\u003c/a\u003e\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhiphile%2Ffermat-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhiphile%2Ffermat-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhiphile%2Ffermat-mcp/lists"}