Computing Mcp

Computing Mcp

YuChenSSR

研究与数据
访问服务器

README

symbolica-mcp

一个科学计算模型上下文协议 (MCP) 服务器,允许 AI(例如 Claude)执行符号计算、进行计算、分析数据和生成可视化效果。这对于科学和工程应用尤其有用,包括量子计算,所有这些都在容器化环境中进行。

特性

  • 使用 NumPy、SciPy、SymPy、Pandas 运行科学计算操作
  • 执行符号数学并求解微分方程
  • 支持线性代数运算和矩阵操作
  • 量子计算分析
  • 使用 Matplotlib 和 Seaborn 创建数据可视化
  • 使用 scikit-learn 执行机器学习操作
  • 执行张量运算和复杂矩阵计算
  • 使用统计工具分析数据集
  • 跨平台支持(自动检测 Windows、macOS 和 Linux),尤其适用于使用 Mac M 系列芯片的用户
  • 适用于 Intel/AMD (x86_64) 和 ARM 处理器

快速开始

使用 Docker 镜像

# 从 Docker Hub 拉取镜像
docker pull ychen94/computing-mcp:latest

# 运行容器(自动检测主机操作系统)
docker run -i --rm -v /tmp:/app/shared ychen94/computing-mcp:latest

对于 Windows 用户:

docker run -i --rm -v $env:TEMP:/app/shared ychen94/computing-mcp:latest

与 Claude for Desktop 集成

  1. 打开 Claude for Desktop
  2. 打开 Settings ➝ Developer ➝ Edit Config
  3. 添加以下配置:

对于 MacOS/Linux:

{
  "mcpServers": {
    "computing-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "/tmp:/app/shared",
        "ychen94/computing-mcp:latest"
      ]
    }
  }
}

对于 Windows:

{
  "mcpServers": {
    "computing-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "%TEMP%:/app/shared",
        "ychen94/computing-mcp:latest"
      ]
    }
  }
}

示例

张量积

你能计算并可视化两个矩阵的张量积吗?请运行:

import numpy as np
import matplotlib.pyplot as plt

# 定义两个矩阵
A = np.array([[1, 2], 
              [3, 4]])
B = np.array([[5, 6],
              [7, 8]])

# 使用 np.kron (Kronecker 积) 计算张量积
tensor_product = np.kron(A, B)

# 显示结果
print("矩阵 A:")
print(A)
print("\n矩阵 B:")
print(B)
print("\n张量积 A ⊗ B:")
print(tensor_product)

# 创建张量积的可视化
plt.figure(figsize=(8, 6))
plt.imshow(tensor_product, cmap='viridis')
plt.colorbar(label='Value')
plt.title('张量积 A ⊗ B 的可视化')

符号数学

你能解这个微分方程吗?请运行:
import sympy as sp
import matplotlib.pyplot as plt
import numpy as np

# 定义符号变量
x = sp.Symbol('x')
y = sp.Function('y')(x)

# 定义微分方程: y''(x) + 2*y'(x) + y(x) = 0
diff_eq = sp.Eq(sp.diff(y, x, 2) + 2*sp.diff(y, x) + y, 0)

# 解方程
solution = sp.dsolve(diff_eq)
print("解:")
print(solution)

# 绘制一个特解 (C1=1, C2=0)
solution_func = solution.rhs.subs({sp.symbols('C1'): 1, sp.symbols('C2'): 0})
print("特解:")
print(solution_func)

# 创建一个可以评估的数值函数
solution_lambda = sp.lambdify(x, solution_func)

# 绘制解
x_vals = np.linspace(0, 5, 100)
y_vals = [float(solution_lambda(x_val)) for x_val in x_vals]

plt.figure(figsize=(10, 6))
plt.plot(x_vals, y_vals)
plt.grid(True)
plt.title("y''(x) + 2*y'(x) + y(x) = 0 的解")
plt.xlabel('x')
plt.ylabel('y(x)')
plt.show()

数据分析

你能对这个数据集进行聚类分析吗?请运行:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.preprocessing import StandardScaler

# 创建一个示例数据集
np.random.seed(42)
n_samples = 300

# 创建三个簇
cluster1 = np.random.normal(loc=[2, 2], scale=0.5, size=(n_samples//3, 2))
cluster2 = np.random.normal(loc=[7, 7], scale=0.5, size=(n_samples//3, 2))
cluster3 = np.random.normal(loc=[2, 7], scale=0.5, size=(n_samples//3, 2))

# 合并簇
X = np.vstack([cluster1, cluster2, cluster3])

# 创建 DataFrame
df = pd.DataFrame(X, columns=['Feature1', 'Feature2'])
print(df.head())

# 标准化数据
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

# 应用 KMeans 聚类
kmeans = KMeans(n_clusters=3, random_state=42)
df['Cluster'] = kmeans.fit_predict(X_scaled)

# 绘制簇
plt.figure(figsize=(10, 6))
for cluster_id in range(3):
    cluster_data = df[df['Cluster'] == cluster_id]
    plt.scatter(cluster_data['Feature1'], cluster_data['Feature2'], 
                label=f'Cluster {cluster_id}', alpha=0.7)

# 绘制簇中心
centers = scaler.inverse_transform(kmeans.cluster_centers_)
plt.scatter(centers[:, 0], centers[:, 1], s=200, c='red', marker='X', label='Centers')

plt.title('K-Means 聚类结果')
plt.xlabel('特征 1')
plt.ylabel('特征 2')
plt.legend()
plt.grid(True)

量子计算

量子示例

示例展示

激光物理: 激光

椭圆积分: 椭圆积分 椭圆积分图片

故障排除

常见问题

  1. 卷挂载的权限错误

    • 确保挂载目录存在并且具有适当的权限
  2. 绘图图片文件未出现

    • 检查主机系统中的路径:macOS/Linux 为 /tmp,Windows 为您的临时文件夹

    • 验证 Docker 是否具有写入挂载位置的权限

    • 检查 mcp 工具的输出内容 查找图片 然后在终端或图片查看器中打开它。

      ⭐️ ⭐️ 我使用 iterm-mcp-server 或其他终端的 mcp 服务器来打开文件,而不会中断您的工作流程。 ⭐️ ⭐️

支持

如果您遇到问题,请打开一个 GitHub issue,并提供:

  1. 错误消息
  2. 您的操作系统和 Docker 版本
  3. 重现问题的步骤

许可证

本项目根据 MIT 许可证获得许可。 有关更多详细信息,请参阅此项目存储库中的 LICENSE 文件。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python