业务数据分析服务器

一个用于分析商业邮件和电子表格数据的模型上下文协议(MCP)服务器,提供智能分析工具。

  • by keidson299
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 keidson299/MCPBusinessAnalytics

使用说明

业务分析MCP服务器

用于分析业务电子邮件和电子表格数据的模型上下文协议(MCP)服务器。与Claude Desktop集成,提供智能分析工具。

特性

电子邮件分析

  • 提取发件人信息(姓名、电子邮件、域名)
  • 解析并分类收件人(收件人、抄送、密件抄送)
  • 分析电子邮件内容的语气、紧迫性和关键主题
  • 提取行动项并估算阅读时间

电子表格分析

  • 验证电子表格结构和数据质量
  • 对数值列进行统计分析
  • 检测数据中的模式和趋势
  • 按各种条件筛选数据
  • 通过分组操作聚合数据

快速开始

先决条件

  • Python 3.8+
  • 克劳德桌面(最新版本)
  • pip包管理器

安装

  1. 克隆或导航到项目目录:

    cd \path_to_project\MCPBusinessAnalytics
    
  2. 安装依赖项:

    pip install fastmcp
    
  3. 验证安装:

    python main.py --help
    

运行MCP服务器

启动服务器

打开PowerShell并运行:

python main.py

服务器将从输出开始:

Starting Business Analytics MCP Server...

服务器在stdio模式下运行,并通过标准输入/输出与Claude Desktop通信。

连接到克劳德桌面

步骤1:找到Claude桌面配置

MCP服务器配置文件通常位于:

  • 视窗: %APPDATA%\Claude\claude_desktop_config.json

步骤2:更新Claude桌面配置

编辑您的Claude Desktop配置文件并添加MCP服务器:

{
  "mcpServers": {
    "business-analytics": {
      "command": "python",
      "args": ["\\path_to_project\\MCPBusinessAnalytics\\main.py"]
    }
  }
}

注: 在Windows上对路径使用正斜杠或双反斜杠。

步骤3:重新启动克劳德桌面

更新配置后,完全关闭并重新启动Claude Desktop。MCP服务器现在可用。

与Claude一起使用服务器

连接后,Claude将可以访问以下工具:

电子邮件分析工具

1. analyze_eml_file

  • 处理.eml电子邮件文件并运行全面分析
  • 输入:.eml文件的文件路径
  • 返回:发件人信息、收件人详细信息、内容分析
  • 自动提取所有电子邮件标题和正文内容

2. analyze_business_email (综合)

  • 分析电子邮件的各个方面
  • 输入:发件人、收件人(收件人、抄送、密件抄送)、主题、正文
  • 返回:发件人信息、收件人详细信息、内容分析

3. extract_sender_details

  • 仅提取发件人信息
  • 输入:发件人电子邮件
  • 返回:姓名、电子邮件、域名

4. extract_recipients_details

  • 提取收件人信息
  • 输入:收件人、抄送、密件抄送收件人
  • 返回:已解析的具有域的收件人

5. analyze_email_body

  • 仅分析电子邮件内容
  • 输入:主题、正文
  • 返回:语气、紧迫性、主题、行动项目、阅读时间

电子表格分析工具

1. validate_spreadsheet

  • 检查数据结构和质量
  • 输入:行字典列表
  • 返回:验证结果、缺失值、数据类型

2. analyze_numeric_data

  • 列的统计分析
  • 输入:数据、列名
  • 返回值:平均值、中位数、标准偏差、最小值、最大值、四分位数

3. detect_column_patterns

  • 在列数据中查找模式
  • 输入:数据、列名
  • 返回:唯一值、频率、重复项

4. filter_spreadsheet_data

  • 按条件筛选行
  • 输入:数据、列、运算符(=、!=、>、<、>=、<=、包含)、值
  • 返回:已筛选的行

5. aggregate_spreadsheet_data

  • 分组和汇总数据
  • 输入:数据、group_by列、aggregate_column、运算(求和、平均值、计数、最小值、最大值)
  • 返回:聚合结果

实用工具

health_check

  • 验证服务器是否正在运行
  • 返回:状态、时间戳、功能

Claude中的示例用法

分析.eml文件

询问Claude:“为我分析此电子邮件文件:\path_to_email_file\email.eml”

克劳德将使用 analyze_eml_file 工具用于:

  • 解析.eml文件
  • 提取所有标题(from、to、cc、bcc、subject)
  • 提取电子邮件正文
  • 运行完整内容分析

分析电子邮件

问克劳德:“帮我分析这封电子邮件”

From: John Smith <john@company.com>
To: jane@company.com, Bob Johnson <bob@company.com>
Subject: URGENT: Project Update Needed ASAP
Body: Hi team,
We need the quarterly report by tomorrow. Can you please prioritize this?
This is critical for our presentation.
Thanks,
John

克劳德将使用 analyze_business_email 提取工具:

  • 发件人:来自company.com的约翰·史密斯
  • 收件人:jane@company.com,来自company.com的鲍勃·约翰逊
  • 紧急程度:检测到(紧急、尽快、严重)
  • 语气:正式、消极(需求、批评)
  • 行动项目:“我们需要在明天之前提交季度报告”

分析电子表格数据

问克劳德:“销售栏的统计数据是什么?”

以JSON格式提供数据:

[
  { "Month": "January", "Sales": 5000, "Region": "North" },
  { "Month": "February", "Sales": 6200, "Region": "North" },
  { "Month": "March", "Sales": 5800, "Region": "South" }
]

克劳德将使用 analyze_numeric_data 计算统计数据。

项目结构

MCPBusinessAnalytics/
├── main.py                      # Server entry point
├── core/                        # Core utilities & models
│   ├── __init__.py
│   ├── models.py                # Data classes
│   └── utils.py                 # Shared utilities
├── analyzers/                   # Analysis modules
│   ├── __init__.py
│   ├── email_analyzer.py        # Email analysis functions
│   └── spreadsheet_analyzer.py  # Spreadsheet analysis functions
├── logs/                        # Server logs
├── README.md                    # This file
└── QUICKSTART.md                # Guide for starting the project

故障排除

服务器无法启动

  • 验证Python是否已安装: python --version
  • 检查fastmcp是否已安装: pip list | findstr fastmcp
  • 确保你在正确的目录中

Claude Desktop无法识别服务器

  • 验证配置文件路径是否正确
  • 检查配置中的python路径是否准确
  • 使用正斜杠: d:/path/to/main.py
  • 完全重新启动Claude Desktop(而不仅仅是关闭)
  • 确保日志文件夹存在于%APPDATA%\Local\AnthopicClaude\app版本
  • 检查日志文件夹中的错误消息

导入错误

  • 确保所有Python文件都在正确的文件夹中
  • 验证 __init__.py 文件存在于core/和分析器中/
  • 从项目根目录运行

发展

要添加新的分析器:

  1. 在中创建新模块 analyzers/ 文件夹
  2. 从导入所需的公用设施 core.utils
  3. 创建分析函数
  4. 在中注册为MCP工具 main.py 使用 @app.tool() 装饰器