mcpField
A
Aman-Amith-Shastry-scientific_computation_mcp

Aman-Amith-Shastry-scientific_computation_mcp

远程服务
github.com/Aman-Amith-Shastry科研与教育311 周前更新
代码仓库

关于 Aman-Amith-Shastry-scientific_computation_mcp

Aman-Amith-Shastry-scientific_computation_mcp 是用于向量和矩阵科学计算的 MCP 服务,提供具名张量存储、线性代数与向量微积分运算,以及绘图工具。

主要功能

  1. 01创建、查看和删除张量
  2. 02矩阵运算与变换
  3. 03特征值、QR 与 SVD 分解
  4. 04向量微积分运算
  5. 05绘制函数和向量场

适用场景

  1. 01在计算步骤间保存矩阵
  2. 02计算矩阵分解与性质
  3. 03求梯度或向量场运算
  4. 04绘制函数和向量场

MCP 相关

该服务通过 Streamable HTTP 提供科学计算工具。张量存储按 MCP 会话隔离。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcp需要授权

工具

详细介绍

MseeP.ai Security Assessment Badge

科学计算 MCP

smithery badge

Verified on MseeP

MCP Badge

安装指南

此服务使用可流式传输的 HTTP。使用 Smithery CLI(Node 20+)从 Smithery 添加:

npm install -g smithery@latest
smithery mcp add @aman-amith-shastry/scientific_computation_mcp --client claude

命名空间必须使用小写。Smithery 的注册表查找区分大小写,大小写混合的拼写会解析为空记录(其中没有工具),而不是直接报错,因此名称首字母大写时,看起来就像服务没有任何功能。

将 --client cursor 替换为 Cursor,或移除 --client,将其添加为远程 Smithery 连接。之后重启客户端,以便加载该服务。

本地运行

uv sync
uv run src/main.py

MCP 端点位于 http://localhost:8081/mcp,存活探针位于 http://localhost:8081/health。环境变量覆盖项:PORT、HOST、MCP_PATH、 ALLOWED_ORIGINS、LOG_LEVEL。

部署

Smithery 不再构建或托管容器——服务要么以 URL 的形式发布,由 Smithery 网关代理访问;要么以 MCPB 包的形式发布,供本地 stdio 使用。本服务以 URL 形式发布,因此容器可运行在任何能够提供 HTTPS 的主机上。

docker build -t scientific-computation-mcp .
docker run -p 8081:8081 -e PORT=8081 scientific-computation-mcp

主机必须满足以下两项约束:

  • 仅运行一个实例。 张量在工具调用之间存储于进程内存中,因此扩展到单个副本以上会分散存储,并导致 create_tensor → view_tensor 流程失效。
  • 会话必须保持有效。 传输采用有状态模式(stateless_http=False),张量存储按 MCP 会话进行分区,因此并发用户不会读取彼此的张量。
在 Render 上托管

render.yaml 会将 Dockerfile 部署为一个免费套餐 Web 服务。在 Render 控制面板中,选择 New → Blueprint,然后选中此仓库。Render 会注入 PORT、终止 TLS,并探测 /health;无需其他配置。

免费实例在 15 分钟没有传入流量后会休眠,恢复大约需要一分钟。打开的 MCP 会话无法阻止休眠:可流式传输的 HTTP 流是从服务端到客户端的,因此空闲会话不会发送传入流量,服务会在会话仍打开时进入休眠。需要提前考虑以下两点:

  • 工具调用之间间隔 15 分钟,张量就无法保留。 存储位于进程内存中,因此实例休眠时,会话及其张量也会一并丢失。活跃使用会让服务保持运行,因为每次工具调用都是传入流量;但分析中途长时间暂停则不会。
  • 发布时扫描可能会遇到休眠的实例。 Smithery 会以 SmitheryBot/1.0 扫描 URL,冷启动可能超出其超时时间。请先访问 /health 唤醒服务。

免费套餐还为每个工作区每月提供 750 个实例小时,而每月约有 730 小时,因此一个持续运行的免费服务刚好够用,第二个则不够。

任何能够让单个进程始终运行的主机都能避免上述问题——容器使用 $PORT 提供纯 HTTP 服务,不依赖特定平台。

发布
curl -sS -o /dev/null -w '%{http_code}\n' https://<your-host>/health
smithery mcp publish "https://<your-host>/mcp" -n @aman-amith-shastry/scientific_computation_mcp

此服务无需用户配置,因此不需要配置架构。

服务组件

工具
张量存储
  • create_tensor:根据给定的名称、形状和值创建新张量,并将其添加到张量存储中。对于此服务,张量是向量和矩阵。
  • view_tensor:显示存储中的张量内容。
  • delete_tensor:根据张量在存储中的名称将其删除。
线性代数
  • add_matrices:如果两个矩阵兼容,则将指定名称的两个矩阵相加。
  • subtract_matrices:如果两个矩阵兼容,则将指定名称的两个矩阵相减。
  • multiply_matrices:如果两个矩阵兼容,则将指定名称的两个矩阵相乘。
  • scale_matrix:将指定名称的矩阵乘以某个因子,默认在原矩阵上进行操作。
  • matrix_inverse:计算指定名称矩阵的逆矩阵。
  • transpose:计算指定名称矩阵的逆矩阵的转置。
  • determinant:计算指定名称矩阵的行列式。
  • rank:计算指定名称矩阵的秩(主元数量)。
  • compute_eigen:计算指定名称矩阵的特征向量和特征值。
  • qr_decompose:计算指定名称矩阵的 QR 分解。Q 的列构成矩阵像空间的一组标准正交基,R 为上三角矩阵。
  • svd_decompose:计算指定名称矩阵的奇异值分解。
  • find_orthonormal_basis:查找指定名称矩阵的一组标准正交基。返回的向量两两正交,且长度为 1。
  • change_basis:计算指定名称矩阵在新基下的表示。
向量微积分
  • vector_project:将张量存储区中的一个向量投影到同一向量空间中指定的向量上。
  • vector_dot_product:根据提供的名称,计算张量存储区中两个向量的点积。
  • vector_cross_product:根据提供的名称,计算张量存储区中两个向量的叉积。
  • gradient:根据输入函数计算多变量函数的梯度。调用示例:gradient("x^2 + 2xyz + zy^3")。请勿包含函数名称(例如 f(x, y, z) = ...`)。
  • curl:根据输入的向量场计算其旋度。输入字符串必须采用 Python 列表格式。调用示例:curl("[3xy, 2z^4, 2y]"")。
  • divergence根据输入的向量场计算其散度。输入字符串必须采用 Python 列表格式。调用示例:divergence("[3xy, 2z^4, 2y]"")。
  • laplacian计算标量函数(作为梯度的散度)或向量场的拉普拉斯算子(逐分量计算)。如果输入的是标量函数,格式必须与 gradient 工具相同。如果输入的是向量场,格式必须与 curl/divergence 工具相同。
  • directional_deriv:计算函数沿给定方向 u 的方向导数。默认情况下,该工具会在计算方向导数前对 u 进行归一化,具体由 unit 参数指定。
可视化
  • plot_vector_field:绘制向量场(格式与 curl/divergence 函数中的格式相同)。目前仅支持 3D 向量场。返回向量场的 2D PNG 透视图像。默认情况下,图像各坐标轴的范围为 -1 到 1。
  • plot_function:根据输入变量,在 2D 或 3D 中绘制函数,格式与 gradient 工具相同。只能使用变量 x 和 y。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。