FastMCP数据分析服务器
一种模型上下文协议(MCP)服务器,提供全面的数据分析工具,包括统计函数、概率分布和数据处理工具。
特性
概率分布
- 泊松概率:计算点数、累积概率和生存概率
- 正态分布:PDF、CDF和生存函数计算
- 二项式概率:完成二项分布分析
统计分析
- 描述性统计:平均值、中位数、众数、方差、偏度、峰度、四分位数
- 相关性分析Pearson和Spearman相关性与显著性检验
- 假设检验:具有详细结果的单样本t检验
- 线性回归:具有R²、MSE和方程的简单线性回归
数据处理
- CSV分析:处理CSV文本数据并生成全面的摘要
- 数据汇总:自动检测数字/分类列
安装
- 使用uv初始化项目:
uv init fastmcp-data-analysis-server
cd fastmcp-data-analysis-server- 安装依赖项:
uv add fastmcp numpy scipy pandas或者从pyproject.toml安装:
uv sync- 安装开发依赖项(可选):
uv add --dev pytest pytest-asyncio black isort mypy用法
运行服务器
# Using uv
uv run python main.py
# Or if installed
python main.py可用工具
1.泊松概率
# Point probability: P(X = k)
poisson_probability(lam=3.5, k=2, prob_type="point")
# Cumulative probability: P(X ≤ k)
poisson_probability(lam=3.5, k=5, prob_type="cumulative")
# Survival probability: P(X > k)
poisson_probability(lam=3.5, k=4, prob_type="survival")2.描述性统计
descriptive_statistics([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])3.正态分布
# Standard normal
normal_probability(x=1.96, mean=0, std_dev=1, prob_type="cumulative")
# Custom normal distribution
normal_probability(x=85, mean=100, std_dev=15, prob_type="point")4.相关性分析
correlation_analysis(
x_data=[1, 2, 3, 4, 5],
y_data=[2, 4, 6, 8, 10]
)5.假设检验
hypothesis_test_ttest(
sample_data=[12, 15, 18, 16, 17],
population_mean=14,
alpha=0.05
)6.线性回归
linear_regression_analysis(
x_data=[1, 2, 3, 4, 5],
y_data=[2, 4, 5, 4, 5]
)7.二项式概率
# Probability of exactly 3 successes in 10 trials
binomial_probability(n=10, k=3, p=0.4, prob_type="point")8.CSV数据分析
csv_text = """name,age,score
Alice,25,85
Bob,30,92
Charlie,22,78"""
data_summary_from_csv_text(csv_text)示例响应
泊松概率响应
{
"probability": 0.2138,
"description": "P(X = 2)",
"lambda": 3.5,
"k": 2,
"prob_type": "point",
"mean": 3.5,
"variance": 3.5,
"std_dev": 1.8708
}描述性统计响应
{
"count": 10,
"mean": 5.5,
"median": 5.5,
"std_dev": 3.0277,
"variance": 9.1667,
"min": 1.0,
"max": 10.0,
"skewness": 0.0,
"kurtosis": -1.2
}发展
代码格式化
uv run black main.py
uv run isort main.py类型检查
uv run mypy main.py测试
uv run pytestMCP客户端集成
此服务器可以与任何MCP客户端一起使用。这些工具会自动公开,并可以使用适当的参数进行调用。
MCP客户端使用示例
# Assuming you have an MCP client connected
client.call_tool("poisson_probability", {
"lam": 2.5,
"k": 3,
"prob_type": "cumulative"
})MCP服务器配置示例
{
"mcpServers": {
"analysis-mcp": {
"command": "fastmcp-data-analysis-server/.venv/bin/python",
"args": [
"fastmcp-data-analysis-server/main.py"
],
}
}
}错误处理
所有功能都包括全面的错误处理,用于:
- 参数值无效
- 空数据集
- 数据长度不匹配
- 概率类型无效
- 数学域错误
许可证
MIT许可证
