mcp-servicefusion
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port (only used with HTTP transport) | 3000 |
| BASE_URL | No | Public URL of your server, required for HTTP transport with OAuth | |
| TRANSPORT | No | Transport type, set to 'http' to enable HTTP transport | stdio |
| SF_CLIENT_ID | Yes | Service Fusion OAuth client ID | |
| SF_TOKEN_URL | No | URL for obtaining OAuth access token | https://api.servicefusion.com/oauth/access_token |
| MCP_OAUTH_PIN | No | PIN for browser-based OAuth approval | |
| MCP_AUTH_TOKEN | No | Static Bearer token for non-OAuth clients | |
| SF_API_BASE_URL | No | Base URL for Service Fusion API | https://api.servicefusion.com/v1 |
| SF_CLIENT_SECRET | Yes | Service Fusion OAuth client secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_todays_jobsA | Get all jobs scheduled for today. Returns jobs with start_date matching today's date, including assigned technicians. Use this for daily dispatch review, morning briefings, or checking the current day's workload. |
| search_jobsA | Search for jobs with flexible filters. Supports filtering by status, customer name, date range, address, phone, email, category, and more. Returns paginated results sorted by most recent first by default. |
| get_job_detailsA | Get complete details for a single job by its internal ID or display number. Returns the full job record with all related data: assigned technicians, tasks, notes, equipment, products, services, charges, payments, invoices, and visit history. Provide either job_id (internal) or job_number (display). |
| get_customer_jobsA | Get all jobs for a customer by name. Returns the complete job history sorted by most recent first, including assigned technicians. Use search_customers first to find the exact customer name. |
| get_job_statusesA | List all available job statuses. Returns status names grouped by category (OPEN, OPEN_ACTIVE, CLOSED). Useful for knowing valid status values when filtering jobs. Results are cached for 30 minutes. |
| search_customersA | Search for customers by name, phone, email, or address. Returns matching customer records with contact details. Use this to look up customer information or find the exact customer name for use with get_customer_jobs. |
| get_open_invoicesB | Search invoices, optionally filtered by payment status or customer name. Use this to find outstanding balances, track payments, or review billing history. |
| get_techsA | List all technicians. Returns tech names and details. Results are cached for 30 minutes. |
| get_equipmentA | Get equipment records for a customer. Requires either customer_id or customer_name (resolved to ID automatically). Equipment includes type, make, model, serial number, location, warranty info, and custom fields (filter sizes, belt specs, etc.). Optionally fetch a single equipment record by equipment_id. |
| create_jobA | Create a new service job in Service Fusion. Requires an exact customer name (use search_customers to find it), a category (use get_job_categories or try 'Commercial Service', 'Residential Service', etc.), and a status (use get_job_statuses or try 'Scheduled', 'Confirmed', etc.). Returns the created job record with its assigned job number. |
| create_estimateA | Create a new estimate in Service Fusion. Requires an exact customer name (use search_customers to find it) and a category. Returns the created estimate record with its assigned number. |
| create_customerA | Create a new customer record in Service Fusion. Note: This endpoint may require elevated API permissions. If you get a 403 error, customer creation must be done through the Service Fusion web UI instead. |
| get_job_categoriesA | List all available job categories (e.g., 'Commercial Service', 'Residential Install'). Use these values when creating jobs or filtering by category. Results are cached for 30 minutes. |
| get_sourcesA | List all available lead sources. Use these values when creating jobs, estimates, or customers. Results are cached for 30 minutes. |
| get_meA | Get current authenticated user info. Useful for verifying API connectivity and credentials. |
| get_api_docsA | Look up Service Fusion REST API documentation. Call with section="index" to see all available sections, or pass a specific section like "jobs", "customers", "estimates", "data-types", "authentication", etc. Returns official endpoint docs including parameters, filters, field lists, request/response schemas, and examples. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| api-reference | Complete Service Fusion REST API reference. Use the get_api_docs tool instead if your client doesn't support resources. |
| api-ref-overview | SF API docs — overview. |
| api-ref-authentication | SF API docs — Authentication. |
| api-ref-common-query-parameters-traits | SF API docs — Common Query Parameters (Traits). |
| api-ref-data-types | SF API docs — Data Types. |
| api-ref-api-endpoints | SF API docs — API Endpoints. |
| api-ref-me | SF API docs for /me endpoint. |
| api-ref-calendar-tasks | SF API docs for /calendar-tasks endpoint. |
| api-ref-calendar-tasks-calendar-task-id | SF API docs for /calendar-tasks/{calendar-task-id} endpoint. |
| api-ref-customers | SF API docs for /customers endpoint. |
| api-ref-customers-customer-id | SF API docs for /customers/{customer-id} endpoint. |
| api-ref-customers-customer-id-equipment | SF API docs for /customers/{customer-id}/equipment endpoint. |
| api-ref-customers-customer-id-equipment-equipment-id | SF API docs for /customers/{customer-id}/equipment/{equipment-id} endpoint. |
| api-ref-jobs | SF API docs for /jobs endpoint. |
| api-ref-jobs-job-id | SF API docs for /jobs/{job-id} endpoint. |
| api-ref-job-categories | SF API docs for /job-categories endpoint. |
| api-ref-job-categories-job-category-id | SF API docs for /job-categories/{job-category-id} endpoint. |
| api-ref-job-statuses | SF API docs for /job-statuses endpoint. |
| api-ref-job-statuses-job-status-id | SF API docs for /job-statuses/{job-status-id} endpoint. |
| api-ref-estimates | SF API docs for /estimates endpoint. |
| api-ref-estimates-estimate-id | SF API docs for /estimates/{estimate-id} endpoint. |
| api-ref-invoices | SF API docs for /invoices endpoint. |
| api-ref-invoices-invoice-id | SF API docs for /invoices/{invoice-id} endpoint. |
| api-ref-payment-types | SF API docs for /payment-types endpoint. |
| api-ref-payment-types-payment-type-id | SF API docs for /payment-types/{payment-type-id} endpoint. |
| api-ref-sources | SF API docs for /sources endpoint. |
| api-ref-sources-source-id | SF API docs for /sources/{source-id} endpoint. |
| api-ref-techs | SF API docs for /techs endpoint. |
| api-ref-techs-tech-id | SF API docs for /techs/{tech-id} endpoint. |
| api-ref-known-issues | SF API docs — Known Issues. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/commair-tools/mcp-servicefusion-public'
If you have feedback or need assistance with the MCP directory API, please join our Discord server