返回市场
费马-MCP

费马-MCP

作者:abhiphile7 星标更新:2025-10-09

项目介绍

Fermat MCP

smithery 徽章

在MseeP上验证

该项目提供了一个用于数学计算的FastMCP服务器,包括数值和符号计算以及绘图。

模块

1. mpl_mcp - Matplotlib 集成

功能描述
plot_barchart绘制给定数据值的条形图
plot_scatter根据数据点创建散点图
plot_chart绘制线图、散点图或条形图
plot_stem创建离散数据的茎叶图
plot_stack生成堆叠区域图或条形图
eqn_chart绘制数学方程

2. numpy_mcp - NumPy 集成

类别操作
基础数学加法、减法、乘法、除法、幂、绝对值、指数、对数、平方根
三角函数正弦、余弦、正切
统计学均值、中位数、标准差、方差、最小值、最大值、argmin、argmax、百分位数
线性代数点积、矩阵乘法、逆矩阵、行列式、特征值、求解线性方程组、奇异值分解
矩阵操作创建、零矩阵、单位矩阵、全填充矩阵、arange、linspace
数组操作重塑、展平、连接、转置、堆叠

3. sympy_mcp - SymPy 集成

类别操作
代数化简、展开、因式分解、收集项
微积分求导、积分、极限、级数
方程解方程、解集、线性方程组求解、非线性方程组求解
矩阵操作创建、行列式、逆矩阵、简化阶梯形式、特征值

安装

要求

  • Python 3.12 或更高版本(要安装Python3.12,请参阅Python下载

  • uv(要安装uv,请参阅uv安装

克隆仓库

git clone https://github.com/abhiphile/fermat-mcp

Visual Studio Code, Windsurf

您可以在 MCP: 打开用户配置或 MCP: 打开工作区配置中找到 mcp.json 文件。

vs-code-1

向您的 mcp.json 添加以下内容:

{
  "mcpServers": {
    "fmcp": {
      "command": "bash",
      "args": ["MCP_SERVER_ABSOLUTE_PATH/setup.sh"],
      "description": "fmcp 服务器用于数学计算,包括数值和符号计算以及绘图。"
    }
  }
}

Claude (Anthropic)

如果您使用的是Claude或Anthropic MCP客户端,请向您的 mcp.json 添加以下工作配置(更新到本地克隆的目录):

{
  "mcpServers": {
    "fmcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/ty/Repositories/fermat-mcp",
        "run",
        "server.py"
      ]
    }
  }
}

Gemini CLI

  • 打开位于~/.gemini/settings.json的Gemini设置JSON文件,其中~是您的主目录。

  • 向您的settings.json添加以下内容:

{
  "mcpServers": {
    "fmcp": {
      "command": "bash",
      "args": ["MCP_SERVER_ABSOLUTE_PATH/setup.sh"],
      "description": "fmcp 服务器用于数学计算,包括数值和符号计算以及绘图。"
    }
  }
}

通过Smithery安装

要通过Smithery自动安装Fermat MCP以供本地使用:

npx -y @smithery/cli install @abhiphile/fermat-mcp --client gemini

示例用法

  • 使用Gemini CLI
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│  > 您能否使用fmcp服务器并通过numpy方法找到这个8*8矩阵的特征值?                                              |
│    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 6 2 3 8 8 1                                                                                           │
│    9 4 2 2 1 2 2 9                                                                                           │
│    8 6 4 4 2 0 2 8                                                                                           │
│    0 0 0 6 6 7 5 6                                                                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

 ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
 │ ✔  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,… │
 │                                                                                                                                         │
 │    {"eigenvalues":["32.077244457548815+0j","-11.531090644775198+0j","-6.6653982146786195+0j","0.6715984762411508+3.37024850             │
 │    10270413j","0.6715984762411508-3.3702485010270413j","4.541270555490195+2.776364664923869j","4.541270555490195-2.77636466             │
 │    4923869j","3.6935063384423428+0j"],"eigenvectors":[["-0.23263835483680192+0j","-0.2264723575289234+0j","-0.4308391916391             │
 │    0195+0j","-0.012346573390129022+0.17748655663058255j","-0.012346573390129022-0.17748655663058255j","-0.21221572277027187             │
 │    +0.3524396218277479j","-0.21221572277027187-0.3524396218277479j","0.3451499664861578+0j"],["-0.31955742545335186+0j","-0             │
 │    .2569860493445581+0j","0.05691886770041556+0j","-0.35591013681869693-0.2242364092694275j","-0.35591013681869693+0.224236             │
 │    4092694275j","0.1932161673963751-0.39527849111641133j","0.1932161673963751+0.39527849111641133j","-0.7979681696063214+0j             │
 │    "],["-0.46626263247473404+0j","-0.4684914620112376+0j","0.5469400556350749+0j","0.34325164099973565+0.06607019711949293j             │
 │    ","0.34325164099973565-0.06607019711949293j","0.21312270185159682+0.28822307710358636j","0.21312270185159682-0.288223077             │
 │    10358636j","0.42707422750984786+0j"],["-0.41589316441674523+0j","0.2291771012892302+0j","0.09410792992600435+0j","0.6375             │
 │    92441360358+0j","0.637592441360358+-0j","0.46446646137729414+0j","0.46446646137729414+-0j","0.08171661775583623+0j"],["-             │
 │    0.35812884189789035+0j","-0.26551071423139044+0j","-0.649979374400915+0j","-0.2999153430497845+0.20110182336747695j","-0             │
 │    .2999153430497845-0.20110182336747695j","0.04424367733961273-0.020400357434930304j","0.04424367733961273+0.0204003574349             │
 │    30304j","-0.037276545325188024+0j"],["-0.3042416233100104+0j","0.4027405071320744+0j","0.2343447346668298+0j","-0.119224             │
 │    87219398595+0.10317726668781271j","-0.11922487219398595-0.10317726668781271j","-0.3387759141362585+0.15790241128043445j"             │
 │    ,"-0.3387759141362585-0.15790241128043445j","0.11473144194899779+0j"],["-0.35389732755448017+0j","0.5359362131480812+0j"             │
 │    ,"0.13989902586074168+0j","-0.16008513226461316-0.26111873108374495j","-0.16008513226461316+0.26111873108374495j","0.055             │
 │    729749650881726-0.22748184206919145j","0.055729749650881726+0.22748184206919145j","-0.19838514696566653+0j"],["-0.327615             │
 │    5213691367+0j","-0.30122843153433887+0j","0.07858579556736099+0j","0.00042251379361638556-0.11670182367986544j","0.00042             │
 │    251379361638556+0.11670182367986544j","-0.18590228871569267-0.2479130526139182j","-0.18590228871569267+0.247913052613918             │
 │    2j","-0.03374593856285834+0j"]]}                                                                                                     │
 ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
✦ 当然可以。以下是给定矩阵的特征值:

  32.077244457548815
  -11.531090644775198
  -6.6653982146786195
  0.6715984762411508 + 3.3702485010270413j
  0.6715984762411508 - 3.3702485010270413j
  4.541270555490195 + 2.776364664923869j
  4.541270555490195 - 2.776364664923869j
  3.693