ServiceFusion MCP 服务器是一个基于模型上下文协议(MCP)的服务器,它为 AI 代理提供了标准化的方式来访问 ServiceFusion API 操作。
npm install
cp .env.example .env
# 使用你的 ServiceFusion 凭证编辑 .env 文件
npm run build
npm start
npm run dev
npm test
sf_test_connection
- 测试 ServiceFusion API 连接性。sf_get_api_status
- 获取当前认证状态。sf_create_customer
- 创建带有联系人与地址的新客户。sf_get_customers
- 分页搜索和检索客户信息。sf_create_job
- 创建新的工作订单/任务。sf_get_jobs
- 过滤搜索和检索工作任务信息。sf_update_job
- 更新工作任务状态和详细信息。sf_delete_job
- 删除/取消工作任务。servicefusion://customers
- 客户的分页列表。servicefusion://jobs
- 工作任务的分页列表。servicefusion://customer/{id}
- 单个客户的详细信息。servicefusion://job/{id}
- 单个工作任务的详细信息。servicefusion://api-status
- API 连接状态。设置以下环境变量:
SERVICEFUSION_CLIENT_ID
- 你的 ServiceFusion API 客户端 ID。SERVICEFUSION_CLIENT_SECRET
- 你的 ServiceFusion API 客户端密钥。SERVICEFUSION_BASE_URL
- (可选)API 基础 URL(默认为 https://api.servicefusion.com)。将以下内容添加到你的 Claude Desktop MCP 配置中:
{
"mcpServers": {
"servicefusion": {
"command": "node",
"args": ["/path/to/servicefusion-mcp/build/index.js"],
"env": {
"SERVICEFUSION_CLIENT_ID": "your_client_id",
"SERVICEFUSION_CLIENT_SECRET": "your_client_secret"
}
}
}
}
await sf_create_customer({
customer_name: "ABC Property Management",
contacts: [{
fname: "John",
lname: "Doe",
contact_type: "Primary",
phone: "555-1234",
email: "john@abc.com"
}],
locations: [{
street_1: "123 Main St",
city: "Dallas",
state_prov: "TX",
postal_code: "75201"
}]
});
await sf_create_job({
check_number: "WO-12345",
customer_id: 123456,
description: "HVAC repair needed",
category: "Maintenance",
priority: "High",
street_1: "123 Main St",
city: "Dallas",
state_prov: "TX"
});
await sf_get_jobs({
page: 1,
customer_name: "ABC Property",
status: "Scheduled",
updated_since: "2025-01-01T00:00:00Z"
});
customer_name
(必需)parent_customer
(可选) - 用于分层客户。contacts[]
- 联系人信息数组。locations[]
- 地址信息数组。check_number
(必需) - 唯一标识符。customer_id
(必需) - 关联的客户。description
(必需) - 工作任务描述。status
- 工作任务状态(已安排、进行中、已完成等)。priority
- 工作任务优先级(正常、高、低)。custom_fields[]
- 自定义字段值。服务器包含全面的错误处理,可处理以下情况:
src/
目录下的 TypeScript 文件中进行更改。npm run build
进行构建。npm test
进行测试。本项目采用 MIT 许可证。