MCP 服务器

FieldRobin

com.fieldrobin/fieldrobin
商业与运营 销售与 CRM 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Provides authenticated field-service workspace access for customers, leads, jobs, quotes, invoices, service requests, operations reports, campaigns, and reviews.

complaint-recall-risk
Complaint Recall Risk Tool
Lists complaint and recall risk records for the authenticated workspace without exposing private operational notes.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum records to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Job title, customer name, or technician name.'}, 'status': {'enum': ['open', 'resolved', 'all'], 'type': ['string', 'null'], 'description': 'Risk state; defaults to open.'}}}
create-customer
Create Customer Tool
Creates one customer directly in the selected FieldRobin business when the connection has customer-write permission. Search first to avoid creating a duplicate; reuse the idempotency key only when retrying the same request.
幂等
输入模式
{'type': 'object', 'required': ['name', 'idempotency_key'], 'properties': {'name': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Customer full name.'}, 'email': {'type': ['string', 'null'], 'format': 'email', 'maxLength': 255, 'description': 'Customer email address, if known.'}, 'notes': {'type': ['string', 'null'], 'description': 'Internal customer notes.'}, 'phone': {'type': ['string', 'null'], 'maxLength': 30, 'description': 'Customer phone number, if known.'}, 'address': {'type': ['string', 'null'], 'maxLength': 500, 'description': 'Customer address, if known.'}, 'trade_type': {'type': ['string', 'null'], 'maxLength': 100, 'description': 'Customer trade or service type.'}, 'location_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Business location for the customer.'}, 'business_name': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Customer business name, if known.'}, 'lifecycle_tag': {'enum': ['active', 'inactive', 'vip'], 'type': ['string', 'null'], 'description': 'Lifecycle tag.'}, 'idempotency_key': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Opaque retry key. Reuse it only for the same request to receive the verified result without creating a duplicate.'}, 'acquisition_source': {'type': ['string', 'null'], 'maxLength': 100, 'description': 'How the customer was acquired.'}}}
create-job
Create Job Tool
Creates one job directly in the selected FieldRobin business when the connection has job-write permission. Resolve the customer first and pass the verified customer ID when one is named.
幂等
输入模式
{'type': 'object', 'required': ['title', 'idempotency_key'], 'properties': {'title': {'type': 'string', 'maxLength': 255, 'minLength': 1, 'description': 'Short job title.'}, 'status': {'enum': ['lead', 'pending', 'quoted', 'approved', 'scheduled'], 'type': ['string', 'null'], 'description': 'Initial job status.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Verified customer ID, if the job belongs to an existing customer.'}, 'description': {'type': ['string', 'null'], 'description': 'Readable issue and service description.'}, 'location_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Business location for the job.'}, 'voice_notes': {'type': ['string', 'null'], 'description': 'Optional internal voice-note text.'}, 'scheduled_at': {'type': ['string', 'null'], 'description': 'Optional local wall-clock appointment date/time or ISO timestamp with offset.'}, 'total_amount': {'type': ['number', 'null'], 'minimum': 0, 'description': 'Optional quoted amount.'}, 'idempotency_key': {'type': 'string', 'maxLength': 128, 'minLength': 1, 'description': 'Opaque retry key. Reuse it only for the same request to receive the verified result without creating a duplicate.'}, 'service_address': {'type': ['string', 'null'], 'maxLength': 2000, 'description': 'Service address, if known.'}, 'appointment_count': {'type': ['integer', 'null'], 'maximum': 99, 'minimum': 1, 'description': 'Optional appointment count.'}, 'technician_user_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Verified technician user ID, if assigned.'}}}
customer-service-requests
Customer Service Requests Tool
Lists recent active service requests associated with one authorized customer using bounded status, source, urgency, and scheduling fields.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of service requests to return.'}, 'customer_id': {'type': 'integer', 'minimum': 1, 'description': 'Customer ID returned by search-customers.'}}}
draft-review-reply
Draft Review Reply Tool
Drafts a policy-aware reply for one authorized review without posting or changing the review.
只读
输入模式
{'type': 'object', 'properties': {'tone': {'enum': ['professional', 'warm', 'concise'], 'type': ['string', 'null'], 'description': 'Draft tone.'}, 'review_id': {'type': 'integer', 'minimum': 1, 'description': 'Review ID returned by search-reviews.'}}}
get-customer
Get Customer Tool
Returns one authorized customer using bounded contact and lifecycle fields; addresses and notes are excluded.
只读
输入模式
{'type': 'object', 'properties': {'customer_id': {'type': 'integer', 'minimum': 1, 'description': 'Customer ID returned by search-customers.'}}}
get-invoice
Get Invoice Tool
Returns one authorized invoice with bounded customer, job, payment-state, due-date, and line-item fields; payment links, addresses, and internal notes are excluded.
只读
输入模式
{'type': 'object', 'properties': {'invoice_id': {'type': 'integer', 'minimum': 1, 'description': 'Invoice ID returned by search-invoices.'}}}
get-invoice-payment-status
Get Invoice Payment Status Tool
Returns the authoritative payment state for one authorized invoice without exposing payment links or provider identifiers.
只读
输入模式
{'type': 'object', 'properties': {'invoice_id': {'type': 'integer', 'minimum': 1, 'description': 'Invoice ID returned by search-invoices.'}}}
get-job
Get Job Tool
Returns one authorized job using bounded customer, schedule, status, and technician fields; service addresses, notes, and amounts are excluded.
只读
输入模式
{'type': 'object', 'properties': {'job_id': {'type': 'integer', 'minimum': 1, 'description': 'Job ID returned by search-jobs or jobs-today.'}}}
get-lead
Get Lead Tool
Returns one authorized lead using bounded contact, source, status, and service-interest fields; notes, budget, and internal summaries are excluded.
只读
输入模式
{'type': 'object', 'properties': {'lead_id': {'type': 'integer', 'minimum': 1, 'description': 'Lead ID returned by search-leads.'}}}
get-location
Get Location Tool
Returns one location and its public Google listing status. A confirmed place is not a Google Business Profile connection.
只读
输入模式
{'type': 'object', 'properties': {'location_id': {'type': 'integer', 'minimum': 1, 'description': 'Location ID.'}}}
get-quote
Get Quote Tool
Returns one authorized estimate with bounded customer, status, pricing, revision, and line-item fields; addresses, notes, and terms are excluded.
只读
输入模式
{'type': 'object', 'properties': {'quote_id': {'type': 'integer', 'minimum': 1, 'description': 'Estimate ID returned by search-quotes.'}}}
get-referral-campaign-attribution
Get Referral Campaign Attribution Tool
Shows verified referral campaign totals and conversion activity without returning referral tokens or bearer-like links.
只读
输入模式
{'type': 'object', 'properties': {'days': {'type': ['integer', 'null'], 'default': 30, 'maximum': 180, 'minimum': 1, 'description': 'Lookback window in days.'}, 'campaign_id': {'type': 'integer', 'minimum': 1, 'description': 'Referral campaign ID returned by search-referral-campaigns.'}}}
get-service-request
Service Request Get Tool
Returns one authorized service-request inbox record using bounded status, source, urgency, and scheduling fields without exposing request descriptions, addresses, contact channels, metadata, files, or outreach controls.
只读
输入模式
{'type': 'object', 'properties': {'service_request_id': {'type': 'integer', 'minimum': 1, 'description': 'Service-request ID returned by search-service-requests.'}}}
get-workspace-summary
Get Workspace Summary Tool
Returns a limited, read-only summary of the authenticated FieldRobin workspace.
只读
输入模式
{'type': 'object', 'properties': {}}
jobs-today
Jobs Today Tool
Lists authorized jobs scheduled for a business day, with bounded customer, schedule, status, and technician fields.
只读
输入模式
{'type': 'object', 'properties': {'date': {'type': ['string', 'null'], 'format': 'date', 'description': 'Local business date, YYYY-MM-DD; defaults to today.'}, 'limit': {'type': ['integer', 'null'], 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of jobs to return.'}, 'status': {'type': ['string', 'null'], 'maxLength': 40, 'description': 'Optional job status filter.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional technician ID.'}}}
list-job-photos
List Job Photos Tool
Lists authorized private photos attached to one job with protected download URLs, filenames, captions, and media types.
只读
输入模式
{'type': 'object', 'properties': {'job_id': {'type': 'integer', 'minimum': 1, 'description': 'Job ID returned by search-jobs.'}}}
operations-parts
Operations Parts Tool
Reads bounded parts stock, technician exposure, and transaction metadata for the authenticated workspace without exposing amounts, item pricing, or private notes.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum inventory, transactions, and technician balances to return.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional same-business technician ID.'}}}
operations-scorecards
Operations Scorecards Tool
Reads bounded technician performance and coaching signals for the authenticated workspace without exposing coaching notes or private contact fields.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum jobs sampled per technician.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional same-business technician ID.'}}}
pipeline-next-actions
Pipeline Next Actions Tool
Lists persisted pipeline attention items for the authenticated business without changing, dismissing, or executing them.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum number of actions to return.'}, 'priority': {'enum': ['urgent', 'high', 'normal', 'low'], 'type': ['string', 'null'], 'description': 'Optional priority filter.'}, 'due_before': {'type': ['string', 'null'], 'format': 'date', 'description': 'Only actions due on or before this local date.'}, 'action_type': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Optional exact action type.'}, 'action_state': {'enum': ['open', 'in_progress', 'snoozed', 'blocked', 'dismissed', 'done'], 'type': ['string', 'null'], 'description': 'Pipeline state; defaults to open.'}}}
pipeline-recommendations
Pipeline Recommendations Tool
Lists persisted pipeline recommendations for the authenticated business without generating, editing, approving, rejecting, or executing them.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum recommendations to return.'}, 'status': {'enum': ['pending', 'approved', 'rejected', 'expired'], 'type': ['string', 'null'], 'description': 'Recommendation state; defaults to pending.'}, 'action_type': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Optional exact pipeline recommendation action type.'}, 'recommendation_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional exact recommendation ID.'}, 'include_draft_history': {'type': ['boolean', 'null'], 'default': False, 'description': 'When true, recommendation_id is required and bounded draft edit history is returned.'}}}
preview-broadcast-campaign
Preview Broadcast Campaign Tool
Previews one approved broadcast audience, including suppression and policy skips, without sending or changing records.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Maximum audience items to evaluate.'}, 'campaign_id': {'type': 'integer', 'minimum': 1, 'description': 'Broadcast campaign ID returned by search-broadcast-campaigns.'}}}
preview-invoice
Preview Invoice Tool
Calculates a deterministic invoice preview without saving, charging, sending, or creating an invoice.
只读
输入模式
{'type': 'object', 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'quantity': {'type': 'number', 'minimum': 0}, 'item_type': {'enum': ['material', 'labour', 'service', 'equipment', 'fee'], 'type': ['string', 'null']}, 'unit_price': {'type': 'number', 'minimum': 0}, 'description': {'type': 'string', 'maxLength': 500}, 'tax_behavior': {'enum': ['inherit', 'taxable', 'non_taxable', 'automatic'], 'type': ['string', 'null']}, 'discount_type': {'enum': ['none', 'percentage', 'fixed'], 'type': ['string', 'null']}, 'discount_value': {'type': ['number', 'null'], 'minimum': 0}}}, 'maxItems': 50, 'minItems': 1, 'description': 'Invoice line items.'}, 'tax_mode': {'enum': ['none', 'manual'], 'type': ['string', 'null']}, 'coupon_code': {'type': ['string', 'null'], 'maxLength': 100}, 'customer_id': {'type': 'integer', 'minimum': 1, 'description': 'Resolved customer ID; required for an invoice preview.'}, 'tax_rate_id': {'type': ['integer', 'null'], 'minimum': 1}, 'document_discount_type': {'enum': ['none', 'percentage', 'fixed'], 'type': ['string', 'null']}, 'document_discount_value': {'type': ['number', 'null'], 'minimum': 0}}}
preview-quote
Preview Quote Tool
Calculates a deterministic estimate preview without saving, sending, or creating a quote.
只读
输入模式
{'type': 'object', 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'quantity': {'type': 'number', 'minimum': 0}, 'item_type': {'enum': ['material', 'labour', 'service', 'equipment', 'fee'], 'type': ['string', 'null']}, 'unit_price': {'type': 'number', 'minimum': 0}, 'description': {'type': 'string', 'maxLength': 500}, 'tax_behavior': {'enum': ['inherit', 'taxable', 'non_taxable', 'automatic'], 'type': ['string', 'null']}, 'discount_type': {'enum': ['none', 'percentage', 'fixed'], 'type': ['string', 'null']}, 'discount_value': {'type': ['number', 'null'], 'minimum': 0}}}, 'maxItems': 50, 'minItems': 1, 'description': 'Estimate line item.'}, 'tax_mode': {'enum': ['none', 'manual'], 'type': ['string', 'null']}, 'coupon_code': {'type': ['string', 'null'], 'maxLength': 100}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional resolved customer ID.'}, 'tax_rate_id': {'type': ['integer', 'null'], 'minimum': 1}, 'document_discount_type': {'enum': ['none', 'percentage', 'fixed'], 'type': ['string', 'null']}, 'document_discount_value': {'type': ['number', 'null'], 'minimum': 0}}}
preview-reactivation-campaign
Preview Reactivation Campaign Tool
Previews dormant customers eligible for one authorized reactivation campaign without sending or changing records.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Maximum audience items to evaluate.'}, 'campaign_id': {'type': 'integer', 'minimum': 1, 'description': 'Reactivation campaign ID returned by search-reactivation-campaigns.'}}}
preview-referral-campaign
Preview Referral Campaign Tool
Previews eligible completed jobs for one authorized referral campaign without sending or changing records.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 25, 'maximum': 50, 'minimum': 1, 'description': 'Maximum audience items to evaluate.'}, 'campaign_id': {'type': 'integer', 'minimum': 1, 'description': 'Referral campaign ID returned by search-referral-campaigns.'}}}
preview-review-requests
Preview Review Requests Tool
Previews explicit completed jobs for review requests, including eligibility and skip reasons, without sending anything.
只读
输入模式
{'type': 'object', 'properties': {'channel': {'enum': ['sms', 'email'], 'type': ['string', 'null'], 'description': 'Optional review-request channel preference.'}, 'job_ids': {'type': 'array', 'items': {'type': 'integer', 'minimum': 1}, 'maxItems': 50, 'minItems': 1, 'description': 'Explicit job IDs to evaluate.'}}}
preview-social-draft
Preview Social Draft Tool
Validates social post copy for an authorized source review without saving or publishing it.
只读
输入模式
{'type': 'object', 'properties': {'content': {'type': 'string', 'maxLength': 1200, 'minLength': 3, 'description': 'Proposed social post content.'}, 'platform': {'enum': ['facebook', 'instagram', 'google_business'], 'type': ['string', 'null'], 'description': 'Social platform.'}, 'review_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional authorized source review ID.'}}}
reports-by-location
Reports By Location Tool
Compares revenue, activation, retention, and review-request outcomes by physical location. Does not expose customer names, invoice rows, or mutation access. Location writes stay on the in-product assistant, not MCP.
只读
输入模式
{'type': 'object', 'properties': {'period': {'enum': [7, 30, 90, 365], 'type': ['integer', 'null'], 'default': 30, 'description': 'Number of days for location comparison metrics; defaults to 30.'}}}
reports-customer-revenue-rank
Customer Revenue Rank Tool
Ranks named customers by paid invoice revenue for the authenticated workspace. Uses all paid, non-sample invoices and returns aggregate customer totals without invoice rows.
只读
输入模式
{'type': 'object', 'properties': {'to': {'type': ['string', 'null'], 'description': 'Inclusive end date when period is custom.'}, 'from': {'type': ['string', 'null'], 'description': 'Inclusive start date when period is custom.'}, 'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of ranked customers to return.'}, 'period': {'enum': ['all_time', '7', '30', '90', '365', 'custom'], 'type': ['string', 'null'], 'default': 'all_time', 'description': 'Ranking window. Use all_time for to-date questions.'}}}
reports-overview
Reports Overview Tool
Reads aggregate revenue, receivables, job, lead, and estimate performance for the authenticated workspace without exposing customer names, addresses, invoice rows, or mutation access.
只读
输入模式
{'type': 'object', 'properties': {'period': {'enum': [7, 30, 90, 365], 'type': ['integer', 'null'], 'default': 30, 'description': 'Number of days for the bounded trend metrics; defaults to 30.'}}}
routing-driving-risk
Routing Driving Risk Tool
Reads a local business day route and high driving-risk stops for the authenticated workspace without exposing addresses or private route notes.
只读
输入模式
{'type': 'object', 'properties': {'date': {'type': ['string', 'null'], 'format': 'date', 'description': 'Local business date, YYYY-MM-DD; defaults to today.'}, 'limit': {'type': ['integer', 'null'], 'default': 50, 'maximum': 50, 'minimum': 1, 'description': 'Maximum route stops to return.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional technician filter.'}}}
schedule-availability
Schedule Availability Tool
Calculates verified busy jobs and open planning windows for a local business day without scheduling or changing a job.
只读
输入模式
{'type': 'object', 'properties': {'date': {'type': ['string', 'null'], 'format': 'date', 'description': 'Local business date, YYYY-MM-DD; defaults to today.'}, 'workday_end': {'type': ['integer', 'null'], 'default': 20, 'maximum': 24, 'minimum': 1, 'description': 'Planning window end hour.'}, 'technician_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional same-business technician ID.'}, 'workday_start': {'type': ['integer', 'null'], 'default': 10, 'maximum': 23, 'minimum': 0, 'description': 'Planning window start hour.'}, 'duration_minutes': {'type': ['integer', 'null'], 'default': 60, 'maximum': 480, 'minimum': 15, 'description': 'Requested appointment length.'}, 'job_duration_minutes': {'type': ['integer', 'null'], 'default': 60, 'maximum': 480, 'minimum': 15, 'description': 'Planning duration for existing jobs.'}}}
search-broadcast-campaigns
Search Broadcast Campaigns Tool
Searches authorized broadcast campaigns by name, status, message channel, and bounded delivery fields.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of campaigns to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Campaign name, message, or channel.'}, 'status': {'enum': ['draft', 'pending_approval', 'approved', 'rejected', 'sent', 'archived'], 'type': ['string', 'null'], 'description': 'Campaign status.'}}}
search-customers
Search Customers Tool
Searches the authenticated workspace customers without exposing addresses, notes, or other private fields.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of customers to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Name, email, phone, or business name to search for.'}}}
search-inventory
Search Inventory Tool
Searches active inventory in the authenticated workspace and can identify low-stock items without exposing internal cost or margin fields.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum items to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Inventory name, SKU, or description.'}, 'active': {'type': ['boolean', 'null'], 'description': 'Filter by active state; defaults to true.'}, 'low_stock': {'type': ['boolean', 'null'], 'description': 'Only items at or below minimum quantity.'}}}
search-invoices
Search Invoices Tool
Searches authorized invoices using bounded customer, job, status, payment, due-date, and total fields; payment links and addresses are excluded.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum number of invoices to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Invoice number, customer name, email, phone, job title, or description.'}, 'job_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one job ID.'}, 'status': {'enum': ['draft', 'sent', 'overdue', 'paid', 'cancelled'], 'type': ['string', 'null'], 'description': 'Invoice lifecycle status.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one customer ID.'}, 'payment_status': {'type': ['string', 'null'], 'maxLength': 40, 'description': 'Authoritative payment state, such as unpaid, pending, paid, or refunded.'}}}
search-jobs
Search Jobs Tool
Searches the authenticated workspace jobs using safe summary fields only; it does not return service addresses, notes, or amounts.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of jobs to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Customer name, email, phone, or job title.'}, 'status': {'type': ['string', 'null'], 'maxLength': 40, 'description': 'Optional job status filter.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one customer ID.'}, 'location_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one business location ID.'}, 'scheduled_to': {'type': ['string', 'null'], 'format': 'date', 'description': 'Inclusive scheduled date, YYYY-MM-DD.'}, 'scheduled_from': {'type': ['string', 'null'], 'format': 'date', 'description': 'Inclusive scheduled date, YYYY-MM-DD.'}}}
search-leads
Search Leads Tool
Searches authorized workspace leads with bounded contact, source, status, and service-interest fields; notes and estimated values are excluded.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum number of leads to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Name, email, phone, source, or service interest.'}, 'source': {'type': ['string', 'null'], 'maxLength': 100, 'description': 'Optional exact lead source.'}, 'status': {'type': ['string', 'null'], 'maxLength': 40, 'description': 'Optional lead status.'}, 'urgency': {'type': ['string', 'null'], 'maxLength': 20, 'description': 'Optional urgency: low, medium, or high.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to a customer ID.'}}}
search-locations
Search Locations Tool
Lists physical locations in the authenticated workspace.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Location name to search for.'}, 'status': {'type': ['string', 'null'], 'description': 'active, archived, or all.'}}}
search-pricebook
Search Pricebook Tool
Searches active customer-facing services and materials in the authenticated workspace without exposing internal cost or markup fields.
只读
输入模式
{'type': 'object', 'properties': {'type': {'enum': ['service', 'material'], 'type': ['string', 'null'], 'description': 'Service or material.'}, 'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum items to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Pricebook item name or description.'}, 'active': {'type': ['boolean', 'null'], 'description': 'Filter by active state; defaults to true.'}}}
search-quotes
Search Quotes Tool
Searches authorized estimates using bounded customer, status, title, and total fields; notes, terms, and addresses are excluded.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 10, 'maximum': 20, 'minimum': 1, 'description': 'Maximum number of estimates to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 80, 'description': 'Estimate title, customer name, email, or phone.'}, 'status': {'enum': ['draft', 'sent', 'changes_requested', 'approved', 'rejected', 'expired', 'converted'], 'type': ['string', 'null'], 'description': 'Optional estimate status.'}, 'customer_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Restrict results to one customer ID.'}}}
search-reactivation-campaigns
Search Reactivation Campaigns Tool
Searches authorized reactivation campaigns by name, status, channel, and job-type filter.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of campaigns to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Campaign name, message, channel, or job type.'}, 'status': {'enum': ['active', 'paused', 'archived'], 'type': ['string', 'null'], 'description': 'Campaign status.'}}}
search-referral-campaigns
Search Referral Campaigns Tool
Searches authorized referral campaigns by name, status, message channel, and bounded performance fields.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of campaigns to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Campaign name, message, or channel.'}, 'status': {'enum': ['active', 'paused', 'archived'], 'type': ['string', 'null'], 'description': 'Campaign status.'}}}
search-reviews
Search Reviews Tool
Searches authorized reviews by reviewer, customer, job, rating, platform, or reply status using bounded fields.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of reviews to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Reviewer, customer, job title, review body, or platform.'}, 'platform': {'enum': ['google', 'facebook', 'yelp', 'industry', 'bbb', 'angi', 'thumbtack', 'custom'], 'type': ['string', 'null'], 'description': 'Review platform.'}, 'has_reply': {'type': ['boolean', 'null'], 'description': 'Filter by whether an owner reply exists.'}, 'rating_max': {'type': ['integer', 'null'], 'maximum': 5, 'minimum': 1, 'description': 'Maximum rating.'}, 'rating_min': {'type': ['integer', 'null'], 'maximum': 5, 'minimum': 1, 'description': 'Minimum rating.'}, 'reply_status': {'enum': ['none', 'pending', 'sent', 'failed'], 'type': ['string', 'null'], 'description': 'Reply delivery state.'}}}
search-service-requests
Service Request Search Tool
Finds bounded active service-request inbox records for the authenticated business without exposing request descriptions, addresses, contact channels, or outreach controls.
只读
输入模式
{'type': 'object', 'properties': {'q': {'type': ['string', 'null'], 'maxLength': 255, 'description': 'Client name, service type, or request text.'}, 'view': {'enum': ['inbox', 'pending', 'converted', 'outreach', 'all'], 'type': ['string', 'null'], 'description': 'Inbox view; defaults to active inbox records.'}, 'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of requests to return.'}, 'status': {'enum': ['sent', 'opened', 'submitted', 'reviewing', 'scheduled', 'quoted', 'converted'], 'type': ['string', 'null'], 'description': 'Optional exact active request status.'}, 'urgency': {'enum': ['low', 'medium', 'high'], 'type': ['string', 'null'], 'description': 'Optional urgency filter.'}}}
search-social-drafts
Search Social Drafts Tool
Searches authorized social drafts and returns bounded content, status, platform, source-review, and approval metadata.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': ['integer', 'null'], 'default': 20, 'maximum': 50, 'minimum': 1, 'description': 'Maximum number of drafts to return.'}, 'query': {'type': ['string', 'null'], 'maxLength': 120, 'description': 'Draft content, platform, status, or ID.'}, 'status': {'enum': ['pending_approval', 'approved', 'rejected', 'published'], 'type': ['string', 'null'], 'description': 'Draft approval state.'}, 'platform': {'enum': ['facebook', 'instagram', 'google_business'], 'type': ['string', 'null'], 'description': 'Social platform.'}, 'review_id': {'type': ['integer', 'null'], 'minimum': 1, 'description': 'Optional source review ID.'}}}
已添加
reports-customer-revenue-rank
2026年9月17日 12:34
已添加
reports-by-location
2026年9月17日 12:34
已添加
reports-overview
2026年9月17日 12:34
已添加
operations-scorecards
2026年9月17日 12:34
已添加
operations-parts
2026年9月17日 12:34
已添加
routing-driving-risk
2026年9月17日 12:34
已添加
complaint-recall-risk
2026年9月17日 12:34
已添加
search-pricebook
2026年9月17日 12:34
已添加
search-inventory
2026年9月17日 12:34
已添加
list-job-photos
2026年9月17日 12:34
已添加
preview-social-draft
2026年9月17日 12:34
已添加
search-social-drafts
2026年9月17日 12:34
已添加
preview-broadcast-campaign
2026年9月17日 12:34
已添加
search-broadcast-campaigns
2026年9月17日 12:34
已添加
preview-reactivation-campaign
2026年9月17日 12:34
已添加
search-reactivation-campaigns
2026年9月17日 12:34
已添加
preview-referral-campaign
2026年9月17日 12:34
已添加
get-referral-campaign-attribution
2026年9月17日 12:34
已添加
search-referral-campaigns
2026年9月17日 12:34
已添加
draft-review-reply
2026年9月17日 12:34
已添加
search-reviews
2026年9月17日 12:34
已添加
preview-review-requests
2026年9月17日 12:34
已添加
get-invoice-payment-status
2026年9月17日 12:34
已添加
get-service-request
2026年9月17日 12:34
已添加
search-service-requests
2026年9月17日 12:34
已添加
customer-service-requests
2026年9月17日 12:34
已添加
pipeline-recommendations
2026年9月17日 12:34
已添加
pipeline-next-actions
2026年9月17日 12:34
已添加
schedule-availability
2026年9月17日 12:34
已添加
preview-invoice
2026年9月17日 12:34