_ registry / mcp + a2a streamable-http · checked 1h ago

fieldrobin-mcp

https://fieldrobin.com

Registry code: ceb12596ac6021cb

api record

Discover the authenticated FieldRobin tool catalog for each new session. Request mcp:read for read tools, mcp:customers:write for direct customer creation, and mcp:jobs:write for direct job creation; mcp:write remains a broad compatibility scope. Use mcp:read only when the user intentionally wants a read-only connection. The legacy mcp:use scope remains read-only compatible. Use available tools according to their annotations and required scopes. If an operation needs more permission, use the client authorization flow instead of claiming FieldRobin cannot perform it. Create-customer and…

endpoint
https://fieldrobin.com/api/v1/mcp
door code
6911611a97ef73da
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is fieldrobin-mcp live?
Yes — it answered the hub's last check (checked 1h ago). It answered 99% of checks over the last 30 days.
Is fieldrobin-mcp free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does fieldrobin-mcp have?
47 tools: get-invoice-payment-status, search-social-drafts, preview-social-draft, preview-quote, preview-reactivation-campaign, search-broadcast-campaigns, pipeline-next-actions, create-job, ….
Is fieldrobin-mcp safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
98.6%

90 days 98.5%· all time 97.9%

latency
402ms

last good check

priced tools
0

of 47 tools

_ answered our checks, 90 days 1086 checks · signed record
  • down → live
  • degraded → down· HTTP 500
  • live → degraded· HTTP 500
  • degraded → live
  • live → degraded· endpoint unreachable (fetch failed); card still served
_ what it is for
used for
  • search jobs and leads for a field service business
  • create a customer record
  • preview an invoice or quote
  • check technician schedule availability
  • draft a reply to a customer review
takes → gives
text, data → data, text
tools
24 reads1 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 47 tools
47 auth-required 47 of 47 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get-invoice-payment-status reads auth-required never probed

    Returns the authoritative payment state for one authorized invoice without exposing payment links or provider identifiers.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "invoice_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Invoice ID returned by search-invoices."
        }
      }
    }
    arguments 10 lines
  • search-social-drafts auth-required 34h ago

    Searches authorized social drafts and returns bounded content, status, platform, source-review, and approval metadata.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 56 lines
  • preview-social-draft auth-required 4h ago

    Validates social post copy for an authorized source review without saving or publishing it.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 31 lines
  • preview-quote reads auth-required 12h ago

    Calculates a deterministic estimate preview without saving, sending, or creating a quote.

    mcp-tool

    {
      "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
        }
      }
    }
    arguments 121 lines
  • preview-reactivation-campaign auth-required 12h ago

    Previews dormant customers eligible for one authorized reactivation campaign without sending or changing records.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 20 lines
  • search-broadcast-campaigns auth-required 28h ago

    Searches authorized broadcast campaigns by name, status, message channel, and bounded delivery fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 38 lines
  • pipeline-next-actions reads auth-required 18h ago

    Lists persisted pipeline attention items for the authenticated business without changing, dismissing, or executing them.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 59 lines
  • create-job auth-required never probed

    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.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 105 lines
  • search-service-requests auth-required 37h ago

    Finds bounded active service-request inbox records for the authenticated business without exposing request descriptions, addresses, contact channels, or outreach controls.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 65 lines
  • get-quote auth-required 28h ago

    Returns one authorized estimate with bounded customer, status, pricing, revision, and line-item fields; addresses, notes, and terms are excluded.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "quote_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Estimate ID returned by search-quotes."
        }
      }
    }
    arguments 10 lines
  • get-invoice auth-required 32h ago

    Returns one authorized invoice with bounded customer, job, payment-state, due-date, and line-item fields; payment links, addresses, and internal notes are excluded.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "invoice_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Invoice ID returned by search-invoices."
        }
      }
    }
    arguments 10 lines
  • search-reviews reads auth-required 38h ago

    Searches authorized reviews by reviewer, customer, job, rating, platform, or reply status using bounded fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 78 lines
  • search-referral-campaigns auth-required 1h ago

    Searches authorized referral campaigns by name, status, message channel, and bounded performance fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 35 lines
  • pipeline-recommendations auth-required 18h ago

    Lists persisted pipeline recommendations for the authenticated business without generating, editing, approving, rejecting, or executing them.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 52 lines
  • search-leads reads auth-required 15h ago

    Searches authorized workspace leads with bounded contact, source, status, and service-interest fields; notes and estimated values are excluded.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 55 lines
  • preview-invoice reads auth-required 15h ago

    Calculates a deterministic invoice preview without saving, charging, sending, or creating an invoice.

    mcp-tool

    {
      "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
        }
      }
    }
    arguments 118 lines
  • create-customer changes data auth-required never probed

    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.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 97 lines
  • search-pricebook auth-required never probed

    Searches active customer-facing services and materials in the authenticated workspace without exposing internal cost or markup fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 41 lines
  • preview-referral-campaign reads auth-required 8h ago

    Previews eligible completed jobs for one authorized referral campaign without sending or changing records.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 20 lines
  • routing-driving-risk reads auth-required 32h ago

    Reads a local business day route and high driving-risk stops for the authenticated workspace without exposing addresses or private route notes.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 31 lines
  • get-customer auth-required 34h ago

    Returns one authorized customer using bounded contact and lifecycle fields; addresses and notes are excluded.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "customer_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Customer ID returned by search-customers."
        }
      }
    }
    arguments 10 lines
  • search-locations auth-required 12h ago

    Lists physical locations in the authenticated workspace.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 29 lines
  • preview-broadcast-campaign auth-required 15h ago

    Previews one approved broadcast audience, including suppression and policy skips, without sending or changing records.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 20 lines
  • operations-scorecards reads auth-required 21h ago

    Reads bounded technician performance and coaching signals for the authenticated workspace without exposing coaching notes or private contact fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 23 lines
  • schedule-availability reads auth-required 30h ago

    Calculates verified busy jobs and open planning windows for a local business day without scheduling or changing a job.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 61 lines
  • get-lead reads auth-required 30h ago

    Returns one authorized lead using bounded contact, source, status, and service-interest fields; notes, budget, and internal summaries are excluded.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "lead_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Lead ID returned by search-leads."
        }
      }
    }
    arguments 10 lines
  • get-location reads auth-required 30h ago

    Returns one location and its public Google listing status. A confirmed place is not a Google Business Profile connection.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "location_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Location ID."
        }
      }
    }
    arguments 10 lines
  • search-inventory reads auth-required 23h ago

    Searches active inventory in the authenticated workspace and can identify low-stock items without exposing internal cost or margin fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 37 lines
  • search-customers auth-required 25h ago

    Searches the authenticated workspace customers without exposing addresses, notes, or other private fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 23 lines
  • reports-by-location reads auth-required 4h ago

    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.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 19 lines
  • reports-customer-revenue-rank reads auth-required 1h ago

    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.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 45 lines
  • reports-overview auth-required 1h ago

    Reads aggregate revenue, receivables, job, lead, and estimate performance for the authenticated workspace without exposing customer names, addresses, invoice rows, or mutation access.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 19 lines
  • search-quotes reads auth-required 8h ago

    Searches authorized estimates using bounded customer, status, title, and total fields; notes, terms, and addresses are excluded.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 47 lines
  • preview-review-requests auth-required 8h ago

    Previews explicit completed jobs for review requests, including eligibility and skip reasons, without sending anything.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 26 lines
  • jobs-today auth-required 23h ago

    Lists authorized jobs scheduled for a business day, with bounded customer, schedule, status, and technician fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 39 lines
  • list-job-photos reads auth-required 23h ago

    Lists authorized private photos attached to one job with protected download URLs, filenames, captions, and media types.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "job_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Job ID returned by search-jobs."
        }
      }
    }
    arguments 10 lines
  • search-reactivation-campaigns reads auth-required 4h ago

    Searches authorized reactivation campaigns by name, status, channel, and job-type filter.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 35 lines
  • draft-review-reply reads auth-required 34h ago

    Drafts a policy-aware reply for one authorized review without posting or changing the review.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 22 lines
  • get-service-request auth-required 25h ago

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "service_request_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Service-request ID returned by search-service-requests."
        }
      }
    }
    arguments 10 lines
  • get-workspace-summary reads auth-required 25h ago

    Returns a limited, read-only summary of the authenticated FieldRobin workspace.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • complaint-recall-risk reads auth-required 37h ago

    Lists complaint and recall risk records for the authenticated workspace without exposing private operational notes.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 35 lines
  • customer-service-requests reads auth-required 37h ago

    Lists recent active service requests associated with one authorized customer using bounded status, source, urgency, and scheduling fields.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 20 lines
  • get-job auth-required 32h ago

    Returns one authorized job using bounded customer, schedule, status, and technician fields; service addresses, notes, and amounts are excluded.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "job_id": {
          "type": "integer",
          "minimum": 1,
          "description": "Job ID returned by search-jobs or jobs-today."
        }
      }
    }
    arguments 10 lines
  • operations-parts auth-required 21h ago

    Reads bounded parts stock, technician exposure, and transaction metadata for the authenticated workspace without exposing amounts, item pricing, or private notes.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 23 lines
  • search-jobs reads auth-required 18h ago

    Searches the authenticated workspace jobs using safe summary fields only; it does not return service addresses, notes, or amounts.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 63 lines
  • get-referral-campaign-attribution reads auth-required 28h ago

    Shows verified referral campaign totals and conversion activity without returning referral tokens or bearer-like links.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 20 lines
  • search-invoices auth-required 21h ago

    Searches authorized invoices using bounded customer, job, status, payment, due-date, and total fields; payment links and addresses are excluded.

    mcp-tool

    {
      "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."
        }
      }
    }
    arguments 61 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id ceb12596ac6021cb.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/ceb12596ac6021cb/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/ceb12596ac6021cb/badge.svg)](https://brick.blue/agent/ceb12596ac6021cb?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on fieldrobin.com 1 entry

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.