Jake Shore d3382ec35a Update 6 MCP servers — fieldedge, lightspeed, squarespace, toast, touchbistro, servicetitan — 2026-02-12
=== UPDATES ===
- fieldedge: Added apps, tools, main server entry, full rebuild
- lightspeed: Added complete src/ directory with tools + apps
- squarespace: Full rebuild — new apps, clients, tools, types modules
- toast: Full rebuild — api-client, apps, tools, types
- touchbistro: Full rebuild — api-client, tools, types, gitignore
- servicetitan: Added 4 React UI apps (call-tracking, lead-source-analytics, performance-metrics, schedule-calendar)

All servers restructured from single-file to modular architecture.
2026-02-12 17:58:15 -05:00

239 lines
7.8 KiB
Markdown

# FieldEdge MCP Server
Complete Model Context Protocol (MCP) server for FieldEdge field service management platform. Provides comprehensive access to jobs, customers, invoices, estimates, technicians, dispatch, equipment, inventory, service agreements, and reporting.
## Features
### 45+ Tools Across 10 Categories
#### Jobs Management (9 tools)
- `fieldedge_jobs_list` - List and filter jobs
- `fieldedge_jobs_get` - Get job details
- `fieldedge_jobs_create` - Create new job
- `fieldedge_jobs_update` - Update job
- `fieldedge_jobs_complete` - Mark job complete
- `fieldedge_jobs_cancel` - Cancel job
- `fieldedge_jobs_line_items_list` - List job line items
- `fieldedge_jobs_line_items_add` - Add line item to job
- `fieldedge_jobs_equipment_list` - List equipment on job
#### Customer Management (8 tools)
- `fieldedge_customers_list` - List and filter customers
- `fieldedge_customers_get` - Get customer details
- `fieldedge_customers_create` - Create new customer
- `fieldedge_customers_update` - Update customer
- `fieldedge_customers_delete` - Delete/deactivate customer
- `fieldedge_customers_search` - Search customers
- `fieldedge_customers_locations_list` - List customer locations
- `fieldedge_customers_equipment_list` - List customer equipment
#### Invoice Management (6 tools)
- `fieldedge_invoices_list` - List and filter invoices
- `fieldedge_invoices_get` - Get invoice details
- `fieldedge_invoices_create` - Create invoice
- `fieldedge_invoices_update` - Update invoice
- `fieldedge_invoices_payments_list` - List payments
- `fieldedge_invoices_payments_add` - Add payment
#### Estimate Management (6 tools)
- `fieldedge_estimates_list` - List estimates
- `fieldedge_estimates_get` - Get estimate details
- `fieldedge_estimates_create` - Create estimate
- `fieldedge_estimates_update` - Update estimate
- `fieldedge_estimates_send` - Send estimate to customer
- `fieldedge_estimates_approve` - Approve and convert to job
#### Technician Management (6 tools)
- `fieldedge_technicians_list` - List technicians
- `fieldedge_technicians_get` - Get technician details
- `fieldedge_technicians_create` - Create technician
- `fieldedge_technicians_update` - Update technician
- `fieldedge_technicians_performance_get` - Get performance metrics
- `fieldedge_technicians_time_entries_list` - List time entries
#### Dispatch Management (5 tools)
- `fieldedge_dispatch_board_get` - Get dispatch board
- `fieldedge_dispatch_assign_tech` - Assign technician to job
- `fieldedge_dispatch_technician_availability_get` - Get technician availability
- `fieldedge_dispatch_zones_list` - List dispatch zones
- `fieldedge_dispatch_optimize` - Auto-optimize dispatch schedule
#### Equipment Management (5 tools)
- `fieldedge_equipment_list` - List equipment
- `fieldedge_equipment_get` - Get equipment details
- `fieldedge_equipment_create` - Create equipment record
- `fieldedge_equipment_update` - Update equipment
- `fieldedge_equipment_service_history_list` - List service history
#### Inventory Management (6 tools)
- `fieldedge_inventory_parts_list` - List inventory parts
- `fieldedge_inventory_parts_get` - Get part details
- `fieldedge_inventory_stock_update` - Update stock levels
- `fieldedge_inventory_purchase_orders_list` - List purchase orders
- `fieldedge_inventory_purchase_orders_get` - Get PO details
- `fieldedge_inventory_reorder_report` - Get reorder report
#### Service Agreements (6 tools)
- `fieldedge_agreements_list` - List service agreements
- `fieldedge_agreements_get` - Get agreement details
- `fieldedge_agreements_create` - Create agreement
- `fieldedge_agreements_update` - Update agreement
- `fieldedge_agreements_cancel` - Cancel agreement
- `fieldedge_agreements_renew` - Renew agreement
#### Reporting & Analytics (6 tools)
- `fieldedge_reports_revenue` - Revenue report
- `fieldedge_reports_job_profitability` - Job profitability analysis
- `fieldedge_reports_technician_performance` - Tech performance metrics
- `fieldedge_reports_aging` - A/R aging report
- `fieldedge_reports_service_agreement_revenue` - Agreement revenue
- `fieldedge_reports_equipment_service_due` - Equipment service due
### 16 Interactive MCP Apps
- **job-dashboard** - Interactive jobs overview with filtering
- **job-detail** - Detailed job view with all information
- **job-grid** - Spreadsheet-style bulk job management
- **customer-detail** - Complete customer profile
- **customer-grid** - Customer data grid view
- **invoice-dashboard** - Invoice and payment tracking
- **estimate-builder** - Interactive estimate creation
- **dispatch-board** - Visual dispatch board
- **schedule-calendar** - Job scheduling calendar
- **technician-dashboard** - Tech performance dashboard
- **equipment-tracker** - Equipment and maintenance tracking
- **inventory-manager** - Inventory and stock management
- **agreement-manager** - Service agreement management
- **revenue-dashboard** - Revenue analytics
- **performance-metrics** - Performance analytics
- **aging-report** - A/R aging visualization
## Installation
```bash
npm install
npm run build
```
## Configuration
Set the following environment variables:
```bash
export FIELDEDGE_API_KEY="your_api_key_here"
export FIELDEDGE_BASE_URL="https://api.fieldedge.com/v2" # Optional, defaults to production
```
## Usage
### With Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"fieldedge": {
"command": "node",
"args": ["/path/to/fieldedge/dist/main.js"],
"env": {
"FIELDEDGE_API_KEY": "your_api_key_here"
}
}
}
}
```
### Standalone
```bash
FIELDEDGE_API_KEY=your_key npm start
```
## Example Queries
**Jobs:**
- "Show me all emergency jobs scheduled for today"
- "Create a new HVAC maintenance job for customer C123"
- "What jobs are assigned to technician T456?"
- "Mark job J789 as complete"
**Customers:**
- "Find all commercial customers in Chicago"
- "Show me customer details for account C123"
- "List all equipment for customer C456"
**Invoices:**
- "Show me all overdue invoices"
- "Create an invoice for job J789"
- "Add a $500 payment to invoice INV-123"
**Dispatch:**
- "Show me today's dispatch board"
- "Assign technician T123 to job J456"
- "What's the technician availability for tomorrow?"
- "Optimize the dispatch schedule for tomorrow"
**Reports:**
- "Show me revenue for the last 30 days"
- "What's the profitability of job J123?"
- "Generate an aging report"
- "Show technician performance metrics for this month"
## Architecture
```
src/
├── client.ts # API client with auth, pagination, error handling
├── types.ts # TypeScript type definitions
├── tools/ # Tool implementations
│ ├── jobs-tools.ts
│ ├── customers-tools.ts
│ ├── invoices-tools.ts
│ ├── estimates-tools.ts
│ ├── technicians-tools.ts
│ ├── dispatch-tools.ts
│ ├── equipment-tools.ts
│ ├── inventory-tools.ts
│ ├── agreements-tools.ts
│ └── reporting-tools.ts
├── apps/ # MCP app implementations
│ └── index.ts
├── server.ts # MCP server setup
└── main.ts # Entry point
```
## API Client Features
- **Bearer Token Authentication** - Automatic authorization header injection
- **Pagination Support** - Built-in pagination handling with `getPaginated()` and `getAllPages()`
- **Error Handling** - Comprehensive error handling with detailed error messages
- **Request Methods** - Full REST support (GET, POST, PUT, PATCH, DELETE)
- **Type Safety** - Full TypeScript typing for all API responses
## Development
```bash
# Install dependencies
npm install
# Build
npm run build
# Development with watch mode
npm run build -- --watch
# Run tests (if implemented)
npm test
```
## License
MIT
## Support
For issues or questions:
- FieldEdge API documentation: https://developer.fieldedge.com
- MCP Protocol: https://modelcontextprotocol.io