内容
# MCP Perfex CRM - 高性能MCP服务器,适用于Perfex CRM
[](https://badge.fury.io/js/mcp-perfex-crm)
[](https://www.typescriptlang.org/)
[](LICENSE)
[](https://modelcontextprotocol.io/)
[](https://n8n.io/)
## 🎯 概述
**MCP Perfex CRM** 是一个高性能的模型上下文协议(MCP)服务器,为 Perfex CRM 的 MySQL 数据库提供直接且优化的访问。该项目提供了一种高性能的替代传统 REST API 的方案,注重代码质量、安全性和可维护性。
### ✅ 当前状态 - v1.0.0-稳定版
- **14 个功能模块**,包含 186+ 个测试工具,涵盖全面的 Perfex CRM 功能
- **零警告**,在 ESLint 和 TypeScript 中
- **完整的 CI/CD**,使用 GitHub Actions
- **强大的类型系统**,已实现
- **完整的 API 文档**
## 🚀 特性
- 🔥 **性能**:直接 MySQL 访问,比 REST API 快 10-100 倍
- 🛡️ **安全**:预备语句、输入验证、只读连接
- 📊 **模块化**:可扩展的架构,独立模块
- 🧪 **测试**:Jest 测试框架,覆盖率不断增长
- 📝 **文档**:完整的 API 文档,包含示例
- 🔄 **CI/CD**:自动化流水线,质量门控
## 📦 可用模块
### 核心(100% 功能)
- **客户** - 完整的客户管理
- **估算** - 估算和提案
- **发票** - 完整的发票管理,包含支付和统计(8 个工具)
- **线索** - 线索管理、转换和生命周期跟踪(9 个工具)
- **项目** - 项目管理
- **任务** - 任务控制
- **合同** - 合同管理
- **支付** - 支付处理
- **费用** - 费用控制
- **工单** - 完整的支持系统,包含删除/导出工具
### 报告
- **财务报告** - 高级财务报告
- **资源管理** - 资源管理
- **时间表** - 时间跟踪
### 实用工具
- **订阅** - 订阅管理
- **信用额度** - 信用额度
## 🛠️ 安装
### 选项 1:NPM 安装(推荐)
```bash
npm install -g mcp-perfex-crm
```
### 选项 2:本地安装
```bash
# 克隆仓库
git clone https://github.com/YOUR_USERNAME/mcp-perfex-crm
cd mcp-perfex-crm
# 安装依赖
npm install
# 配置环境
cp .env.example .env
# 编辑 .env 文件,填写 MySQL 设置
# 编译项目
npm run build
# 运行测试
npm test
```
## ⚙️ 配置
### 1. 数据库配置
```env
# .env
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=perfex_readonly
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=perfex_crm
# 生产环境日志优化
LOG_LEVEL=error
NODE_ENV=production
ENABLE_AUDIT_LOG=false
```
### 2. N8N 集成
**MCP Perfex CRM** 与 N8N 完全兼容,可用于工作流自动化:
```bash
# 安装为 N8N 工具
npm install -g mcp-perfex-crm
# 或在 N8N Docker 中使用
FROM n8nio/n8n:latest
RUN npm install -g mcp-perfex-crm
```
**N8N 工作流示例:**
```json
{
"nodes": [
{
"parameters": {
"command": "mcp-perfex-crm",
"options": {
"env": {
"MYSQL_HOST": "your-db-host",
"MYSQL_USER": "readonly_user",
"MYSQL_PASSWORD": "secure_password",
"MYSQL_DATABASE": "perfex_crm"
}
}
},
"type": "@n8n/n8n-nodes-langchain.toolWorkflow",
"position": [250, 300],
"id": "perfex-crm-tool"
}
]
}
```
### 3. Claude 桌面集成
```json
{
"mcpServers": {
"mcp-perfex-crm": {
"command": "mcp-perfex-crm",
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "perfex_readonly",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "perfex_crm"
}
}
}
}
```
本地安装:
```json
{
"mcpServers": {
"mcp-perfex-crm": {
"command": "node",
"args": ["/path/to/mcp-perfex-crm/dist/index.js"],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "perfex_readonly",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "perfex_crm"
}
}
}
}
```
## 📖 使用
### 示例:列出客户
```typescript
// 通过 MCP
const result = await use_mcp_tool({
server_name: "mcp-perfex-crm",
tool_name: "get_customers",
arguments: {
limit: 10,
active: true
}
});
```
### 示例:创建项目
```typescript
const result = await use_mcp_tool({
server_name: "mcp-perfex-crm",
tool_name: "create_project",
arguments: {
name: "新网站",
client_id: 123,
start_date: "2025-02-01",
billing_type: "fixed_rate",
project_cost: 5000
}
});
```
## 🧪 开发
```bash
# 开发模式,热重载
npm run dev
# 运行 linter
npm run lint
# 格式化代码
npm run format
# 运行测试,覆盖率
npm run test:coverage
# 生产环境构建
npm run build
```
## 📊 代码质量
- ✅ **TypeScript**:强大的类型系统
- ✅ **ESLint**:零警告,严格配置
- ✅ **Prettier**:一致的格式化
- ✅ **Jest**:配置的测试框架
- ✅ **GitHub Actions**:自动化的 CI/CD
- ✅ **优化日志**:生产环境配置,对上下文影响最小
## 🔒 安全
- 所有查询使用预备语句
- 所有工具输入验证
- 默认只读连接
- 敏感操作审计日志
- 日志中敏感数据掩码
## 🤝 贡献
欢迎贡献!请:
1. 分叉项目
2. 创建功能分支(`git checkout -b feature/AmazingFeature`)
3. 提交更改(`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支(`git push origin feature/AmazingFeature`)
5. 打开拉取请求
### 代码标准
- 遵循配置的 TypeScript/ESLint 风格
- 为新功能添加测试
- 保持文档更新
- 必须为零警告
## 📈 路线图
### v1.0.1(2025 年 2 月)
- [ ] 增强错误处理
- [ ] 性能指标仪表盘
- [ ] 自动文档生成
- [ ] 扩展测试覆盖率
### v1.1.0(2025 年第一季度)
- [ ] 测试覆盖率 >80%
- [ ] 完整的 TypeScript 严格模式
- [ ] Webhook 支持
- [ ] 智能缓存
### v1.2.0(2025 年第二季度)
- [ ] 分析仪表盘
- [ ] 批量操作
- [ ] GraphQL 网关
- [ ] 增强的多租户支持
## 📝 文档
- [API 参考](./API.md) - 完整的 API 文档
- [类型系统](./TYPES-IMPLEMENTATION.md) - 类型系统指南
- [CI/CD 设置](./CI-CD-SETUP.md) - 流水线配置
- [贡献](./CONTRIBUTING.md) - 贡献指南
## 📄 许可证
该项目使用 MIT 许可证 - 参见 [LICENSE](LICENSE) 文件了解详情。
## 👨💻 作者
**Emanuel Almeida**
- GitHub:[@YOUR_USERNAME](https://github.com/YOUR_USERNAME)
- LinkedIn:[Emanuel Almeida](https://linkedin.com/in/YOUR_PROFILE)
- 邮箱:[your.email@example.com](mailto:your.email@example.com)
## 🙏 致谢
- Anthropic 团队的模型上下文协议
- Perfex CRM 社区
- 所有贡献者
## 📊 性能基准
| 操作 | REST API | MCP 直接访问 | 改进 |
|-----------|----------|------------|-------------|
| 获取客户(100) | 2.3s | 0.23s | 10 倍更快 |
| 创建项目 | 1.8s | 0.18s | 10 倍更快 |
| 复杂查询 | 5.2s | 0.52s | 10 倍更快 |
## 🏗️ 架构
```
mcp-perfex-crm/
├── src/
│ ├── modules/ # 业务逻辑模块
│ ├── tools/ # MCP 工具实现
│ ├── types/ # TypeScript 定义
│ ├── utils/ # 实用函数
│ └── connections/ # 数据库连接
├── tests/ # 测试套件
├── docs/ # 文档
└── examples/ # 使用示例
```
---
**⭐ 如果这个项目对您有帮助,请考虑给它一个星星!**
**🚀 准备好加速您的 Perfex CRM 集成吗?立即开始!**