业务分析MCP服务器
用于分析业务电子邮件和电子表格数据的模型上下文协议(MCP)服务器。与Claude Desktop集成,提供智能分析工具。
特性
电子邮件分析
- 提取发件人信息(姓名、电子邮件、域名)
- 解析并分类收件人(收件人、抄送、密件抄送)
- 分析电子邮件内容的语气、紧迫性和关键主题
- 提取行动项并估算阅读时间
电子表格分析
- 验证电子表格结构和数据质量
- 对数值列进行统计分析
- 检测数据中的模式和趋势
- 按各种条件筛选数据
- 通过分组操作聚合数据
快速开始
先决条件
- Python 3.8+
- 克劳德桌面(最新版本)
- pip包管理器
安装
- 克隆或导航到项目目录:
cd \path_to_project\MCPBusinessAnalytics- 安装依赖项:
pip install fastmcp- 验证安装:
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
- 按条件筛选行
- 输入:数据、列、运算符(=、!=、>、\=、\
To: jane@company.com, Bob Johnson 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/` 文件夹
1. 从导入所需的公用设施 `core.utils`
1. 创建分析函数
1. 在中注册为MCP工具 `main.py` 使用 `@app.tool()` 装饰器