Uses npm for package management and dependency installation
Implements type-safe interface with full TypeScript support and validation
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ServiceFusion MCP Servercreate a new customer for ABC Property Management with primary contact John Doe"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ServiceFusion MCP Server
A Model Context Protocol (MCP) server that provides AI agents with standardized access to ServiceFusion API operations.
Features
OAuth 2.0 Authentication: Automatic token management and refresh
Complete CRUD Operations: Create, read, update, and delete customers and jobs
Type-Safe Interface: Full TypeScript support with validation
Resource Access: MCP resources for browsing customers and jobs
Error Handling: Comprehensive error handling and validation
Related MCP server: Agentforce MCP Server
Available Tools
Connection Management
sf_test_connection- Test ServiceFusion API connectivitysf_get_api_status- Get current authentication status
Customer Operations
sf_create_customer- Create new customers with contacts and locationssf_get_customers- Search and retrieve customers with pagination
Job Operations
sf_create_job- Create new work orders/jobssf_get_jobs- Search and retrieve jobs with filteringsf_update_job- Update job status and detailssf_delete_job- Delete/cancel jobs
Available Resources
servicefusion://customers- Paginated list of customersservicefusion://jobs- Paginated list of jobsservicefusion://customer/{id}- Individual customer detailsservicefusion://job/{id}- Individual job detailsservicefusion://api-status- API connection status
Installation
Clone and install dependencies:
npm installSet up environment variables:
cp .env.example .env
# Edit .env with your ServiceFusion credentialsBuild the project:
npm run buildUsage
Running the MCP Server
npm startDevelopment Mode
npm run devTesting
npm testConfiguration
Set the following environment variables:
SERVICEFUSION_CLIENT_ID- Your ServiceFusion API client IDSERVICEFUSION_CLIENT_SECRET- Your ServiceFusion API client secretSERVICEFUSION_BASE_URL- (Optional) API base URL (defaults to https://api.servicefusion.com)
Integration with Claude Desktop
Add to your Claude Desktop MCP configuration:
{
"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"
}
}
}
}API Examples
Create a Customer
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"
}]
});Create a Job
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"
});Search Jobs
await sf_get_jobs({
page: 1,
customer_name: "ABC Property",
status: "Scheduled",
updated_since: "2025-01-01T00:00:00Z"
});Data Models
Customer
customer_name(required)parent_customer(optional) - For hierarchical customerscontacts[]- Array of contact informationlocations[]- Array of location information
Job
check_number(required) - Unique identifiercustomer_id(required) - Associated customerdescription(required) - Job descriptionstatus- Job status (Scheduled, In Progress, Completed, etc.)priority- Job priority (Normal, High, Low)custom_fields[]- Custom field values
Error Handling
The server includes comprehensive error handling for:
Authentication failures (automatic token refresh)
API rate limits and timeouts
Invalid input validation
Network connectivity issues
Contributing
Make changes to TypeScript files in
src/Build with
npm run buildTest with
npm testSubmit pull requests with tests
License
MIT