关于 Aman-Amith-Shastry-scientific_computation_mcp
Aman-Amith-Shastry-scientific_computation_mcp 是用于向量和矩阵科学计算的 MCP 服务,提供具名张量存储、线性代数与向量微积分运算,以及绘图工具。
主要功能
- 01创建、查看和删除张量
- 02矩阵运算与变换
- 03特征值、QR 与 SVD 分解
- 04向量微积分运算
- 05绘制函数和向量场
适用场景
- 01在计算步骤间保存矩阵
- 02计算矩阵分解与性质
- 03求梯度或向量场运算
- 04绘制函数和向量场
MCP 相关
该服务通过 Streamable HTTP 提供科学计算工具。张量存储按 MCP 会话隔离。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcpclaude mcp add --transport http ai-smithery-aman-amith-shastry-scientific-computation https://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcp{"mcpServers":{"ai-smithery-aman-amith-shastry-scientific-computation":{"type":"http","url":"https://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcp"}}}在 Cursor 中打开{"servers":{"ai-smithery-aman-amith-shastry-scientific-computation":{"type":"http","url":"https://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcp"}}}在 VS Code 中打开{"mcpServers":{"ai-smithery-aman-amith-shastry-scientific-computation":{"type":"http","url":"https://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcp"}}}{"mcpServers":{"ai-smithery-aman-amith-shastry-scientific-computation":{"serverUrl":"https://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://server.smithery.ai/@Aman-Amith-Shastry/scientific_computation_mcp/mcp需要授权工具
详细介绍
科学计算 MCP
安装指南
此服务使用可流式传输的 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。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
