Skip to content

FieldPulse MCP by usefulapi

io.usefulapi/fieldpulseusefulapi.iostreamable-httpv1.0.1Scanned

Read FieldPulse customers, jobs, estimates, invoices, assets and projects; create and update jobs.

43 tools: 4 can delete or cancel things and 39 only read.

Tools: 4 delete, 0 irreversible, 0 write, 39 read.
  • Reads private data · 4
  • Reads text others write · 43
  • Can send data out · 0
  • No findings

Anlyon alternative

4 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

43 tools

Deletes or cancels 4Claude Code: deny
  • fieldpulse_create_customerWRITE: create a customer (lead or account).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_create_customer" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: create a customer (lead or account). Give first_name and/or last_name, or a unique display_name. Creates a new record every call; check fieldpulse_list_customers first to avoid duplicates. POST /customers.

    Annotations the server declares

    • title: Create customer
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • fieldpulse_create_jobWRITE: create a job for an existing customer.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_create_job" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: create a job for an existing customer. Needs customer_id, job_type and the numeric billing value FieldPulse requires; set a status (1-6) or a custom status_id + status_workflow_id. Creates a new job every call. POST /jobs.

    Annotations the server declares

    • title: Create job
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • fieldpulse_update_customerWRITE: change fields of one customer (only the fields you pass).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_update_customer" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: change fields of one customer (only the fields you pass). If FieldPulse asks for a name, include first_name/last_name or display_name. PUT /customers/{customerId}.

    Annotations the server declares

    • title: Update customer
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • fieldpulse_update_jobWRITE: change a job: status, schedule, notes, assignments, location.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_update_job" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    WRITE: change a job: status, schedule, notes, assignments, location. FieldPulse requires customer_id, job_type and billing on every update, so this reads the job first and keeps those (and its current status) unless you pass new values. The read and the write are two requests; FieldPulse offers no version check. PUT /jobs/{jobId}.

    Annotations the server declares

    • title: Update job
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
Only reads 39Show 39 read-only tools
  • fieldpulse_get_assetOne asset by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_asset" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One asset by id. GET /assets/{id}.

    Annotations the server declares

    • title: Get asset
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_contractOne contract by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_contract" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One contract by id. GET /contracts/{id}.

    Annotations the server declares

    • title: Get contract
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_customerOne customer by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_customer" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One customer by id. GET /customers/{id}.

    Annotations the server declares

    • title: Get customer
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_customer_contactOne contact of a customer.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_customer_contact" says "get": a word for reading.

    What it can reach

    • private-dataThe name "fieldpulse_get_customer_contact" says "get" and "contact": it reads contacts.
    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One contact of a customer. GET /customers/{customerId}/customer-contact/{contactId}.

    Annotations the server declares

    • title: Get customer contact
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_estimateOne estimate by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_estimate" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One estimate by id. GET /estimates/{id}.

    Annotations the server declares

    • title: Get estimate
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_invoiceOne invoice by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_invoice" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One invoice by id. GET /invoices/{id}.

    Annotations the server declares

    • title: Get invoice
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_itemOne invoice item by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_item" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One invoice item by id. GET /items/{id}.

    Annotations the server declares

    • title: Get item
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_jobOne job by id, optionally with its custom field values.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_job" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One job by id, optionally with its custom field values. GET /jobs/{id}.

    Annotations the server declares

    • title: Get job
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_locationOne location by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_location" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One location by id. GET /locations/{id}.

    Annotations the server declares

    • title: Get location
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_paymentOne payment by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_payment" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One payment by id. GET /payments/{id}.

    Annotations the server declares

    • title: Get payment
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_projectOne project by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_project" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One project by id. GET /projects/{id}.

    Annotations the server declares

    • title: Get project
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_purchase_orderOne purchase order by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_purchase_order" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One purchase order by id. GET /purchase-orders/{id}.

    Annotations the server declares

    • title: Get purchase order
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_get_vendorOne vendor by id.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_get_vendor" says "get": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    One vendor by id. GET /vendors/{id}.

    Annotations the server declares

    • title: Get vendor
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_asset_categoriesList asset categories.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_asset_categories" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List asset categories. GET /assets-category.

    Annotations the server declares

    • title: List asset categories
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_assetsList or search customer assets (equipment) by install status.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_assets" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List or search customer assets (equipment) by install status. GET /assets.

    Annotations the server declares

    • title: List assets
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_commentsList comments on a record (customer, job, project, subtasks, invoice).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_comments" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe name "fieldpulse_list_comments" says "list" and "comment": it reads comments, which other people can write.
    • untrusted-inputThe description's first sentence says "list" and "comment": it reads comments, which other people can write.
    Description, as the server wrote it
    List comments on a record (customer, job, project, subtasks, invoice). GET /comments.

    Annotations the server declares

    • title: List comments
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_company_profilesThe company profile(s) of this FieldPulse account (name, address, contact details, settings).Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_company_profiles" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The company profile(s) of this FieldPulse account (name, address, contact details, settings). GET /company-profile.

    Annotations the server declares

    • title: List company profiles
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_contractsList contracts (maintenance agreements).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_contracts" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List contracts (maintenance agreements). GET /contracts.

    Annotations the server declares

    • title: List contracts
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_custom_fieldsList custom field definitions, optionally for one object type.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_custom_fields" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List custom field definitions, optionally for one object type. GET /custom-fields.

    Annotations the server declares

    • title: List custom fields
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_customer_contactsThe contacts (people) of one customer.Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_customer_contacts" says "list": a word for reading.

    What it can reach

    • private-dataThe name "fieldpulse_list_customer_contacts" says "list" and "contact": it reads contacts.
    • private-dataThe description's first sentence says "contact": it reads contacts.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The contacts (people) of one customer. GET /customers/{customerId}/customer-contact.

    Annotations the server declares

    • title: List customer contacts
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_customersList or search customers (name, email, phone, address, status, assigned user).Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_customers" says "list": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "list" and "email": it reads mail.
    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    • untrusted-inputThe description's first sentence says "list" and "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    List or search customers (name, email, phone, address, status, assigned user). GET /customers.

    Annotations the server declares

    • title: List customers
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_estimatesList or search estimates (customer, status, totals, line items).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_estimates" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List or search estimates (customer, status, totals, line items). GET /estimates.

    Annotations the server declares

    • title: List estimates
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_invoicesList or search invoices (customer, status, totals, due dates).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_invoices" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List or search invoices (customer, status, totals, due dates). GET /invoices.

    Annotations the server declares

    • title: List invoices
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_itemsList the invoice item catalog (products and services with prices).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_items" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List the invoice item catalog (products and services with prices). GET /items.

    Annotations the server declares

    • title: List items
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_job_status_workflowsThe job status workflows (use their ids with fieldpulse_list_job_workflow_statuses and when setting a custom job status).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_job_status_workflows" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The job status workflows (use their ids with fieldpulse_list_job_workflow_statuses and when setting a custom job status). GET /jobs/status-workflows.

    Annotations the server declares

    • title: List job status workflows
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_job_workflow_statusesThe custom job statuses of all workflows, with their ids (for filtering jobs or setting a status).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_job_workflow_statuses" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    The custom job statuses of all workflows, with their ids (for filtering jobs or setting a status). GET /jobs/status-workflow-statuses.

    Annotations the server declares

    • title: List job workflow statuses
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_jobsList or search jobs (type, status, customer, schedule, assignments), optionally within a created-at range or by custom status ids.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_jobs" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List or search jobs (type, status, customer, schedule, assignments), optionally within a created-at range or by custom status ids. GET /jobs.

    Annotations the server declares

    • title: List jobs
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_lead_sourcesList customer lead sources.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_lead_sources" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List customer lead sources. GET /lead-source.

    Annotations the server declares

    • title: List lead sources
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_locationsList locations (service addresses) of a customer or a job.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_locations" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List locations (service addresses) of a customer or a job. GET /locations.

    Annotations the server declares

    • title: List locations
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_paymentsList or search payments (amount, method, date, invoice).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_payments" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List or search payments (amount, method, date, invoice). GET /payments.

    Annotations the server declares

    • title: List payments
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_pipeline_statusesList customer pipeline statuses.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_pipeline_statuses" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List customer pipeline statuses. GET /pipeline-status.

    Annotations the server declares

    • title: List pipeline statuses
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_projectsList or search projects (status, completion).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_projects" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List or search projects (status, completion). GET /projects.

    Annotations the server declares

    • title: List projects
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_purchase_ordersList purchase orders.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_purchase_orders" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List purchase orders. GET /purchase-orders.

    Annotations the server declares

    • title: List purchase orders
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_subtasksList subtasks (job checklist items) by status or assigned user.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_subtasks" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List subtasks (job checklist items) by status or assigned user. GET /subtasks.

    Annotations the server declares

    • title: List subtasks
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_tagsList tags for customers or jobs.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_tags" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List tags for customers or jobs. GET /tags.

    Annotations the server declares

    • title: List tags
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_teamsList the account's teams.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_teams" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List the account's teams. GET /teams.

    Annotations the server declares

    • title: List teams
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_timesheetsList timesheet entries (clock in/out), optionally for one user or a time window.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_timesheets" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List timesheet entries (clock in/out), optionally for one user or a time window. GET /timesheets.

    Annotations the server declares

    • title: List timesheets
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_usersList the account's users (team members) with ids for assignments.Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_users" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List the account's users (team members) with ids for assignments. GET /users.

    Annotations the server declares

    • title: List users
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fieldpulse_list_vendorsList vendors (suppliers).Reads text others writeNo findings

    Why it is in this group

    • The name "fieldpulse_list_vendors" says "list": a word for reading.

    What it can reach

    • untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
    Description, as the server wrote it
    List vendors (suppliers). GET /vendors.

    Annotations the server declares

    • title: List vendors
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads private data4
Reads files, mail, messages, databases, secrets, calendars or repositories.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

No check matched anything in these tool definitions. That is not a safety guarantee.

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http fieldpulse https://fieldpulse.usefulapi.io/mcp
claude mcp add --transport http fieldpulse https://fieldpulse.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__fieldpulse__fieldpulse_list_customers",
      "mcp__fieldpulse__fieldpulse_get_customer",
      "mcp__fieldpulse__fieldpulse_list_customer_contacts",
      "mcp__fieldpulse__fieldpulse_get_customer_contact",
      "mcp__fieldpulse__fieldpulse_list_jobs",
      "mcp__fieldpulse__fieldpulse_get_job",
      "mcp__fieldpulse__fieldpulse_list_job_status_workflows",
      "mcp__fieldpulse__fieldpulse_list_job_workflow_statuses",
      "mcp__fieldpulse__fieldpulse_list_estimates",
      "mcp__fieldpulse__fieldpulse_get_estimate",
      "mcp__fieldpulse__fieldpulse_list_invoices",
      "mcp__fieldpulse__fieldpulse_get_invoice",
      "mcp__fieldpulse__fieldpulse_list_payments",
      "mcp__fieldpulse__fieldpulse_get_payment",
      "mcp__fieldpulse__fieldpulse_list_assets",
      "mcp__fieldpulse__fieldpulse_get_asset",
      "mcp__fieldpulse__fieldpulse_list_asset_categories",
      "mcp__fieldpulse__fieldpulse_list_locations",
      "mcp__fieldpulse__fieldpulse_get_location",
      "mcp__fieldpulse__fieldpulse_list_projects",
      "mcp__fieldpulse__fieldpulse_get_project",
      "mcp__fieldpulse__fieldpulse_list_contracts",
      "mcp__fieldpulse__fieldpulse_get_contract",
      "mcp__fieldpulse__fieldpulse_list_items",
      "mcp__fieldpulse__fieldpulse_get_item",
      "mcp__fieldpulse__fieldpulse_list_purchase_orders",
      "mcp__fieldpulse__fieldpulse_get_purchase_order",
      "mcp__fieldpulse__fieldpulse_list_vendors",
      "mcp__fieldpulse__fieldpulse_get_vendor",
      "mcp__fieldpulse__fieldpulse_list_company_profiles",
      "mcp__fieldpulse__fieldpulse_list_users",
      "mcp__fieldpulse__fieldpulse_list_teams",
      "mcp__fieldpulse__fieldpulse_list_tags",
      "mcp__fieldpulse__fieldpulse_list_lead_sources",
      "mcp__fieldpulse__fieldpulse_list_pipeline_statuses",
      "mcp__fieldpulse__fieldpulse_list_custom_fields",
      "mcp__fieldpulse__fieldpulse_list_comments",
      "mcp__fieldpulse__fieldpulse_list_subtasks",
      "mcp__fieldpulse__fieldpulse_list_timesheets"
    ],
    "ask": [],
    "deny": [
      "mcp__fieldpulse__fieldpulse_create_customer",
      "mcp__fieldpulse__fieldpulse_update_customer",
      "mcp__fieldpulse__fieldpulse_create_job",
      "mcp__fieldpulse__fieldpulse_update_job"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as fieldpulse. Review it before you use it.

Capability tags behind 43 rules
  • mcp__fieldpulse__fieldpulse_list_customers private-data, untrusted-input
  • mcp__fieldpulse__fieldpulse_get_customer untrusted-input
  • mcp__fieldpulse__fieldpulse_list_customer_contacts private-data, untrusted-input
  • mcp__fieldpulse__fieldpulse_get_customer_contact private-data, untrusted-input
  • mcp__fieldpulse__fieldpulse_list_jobs untrusted-input
  • mcp__fieldpulse__fieldpulse_get_job untrusted-input
  • mcp__fieldpulse__fieldpulse_list_job_status_workflows untrusted-input
  • mcp__fieldpulse__fieldpulse_list_job_workflow_statuses untrusted-input
  • mcp__fieldpulse__fieldpulse_list_estimates untrusted-input
  • mcp__fieldpulse__fieldpulse_get_estimate untrusted-input
  • mcp__fieldpulse__fieldpulse_list_invoices untrusted-input
  • mcp__fieldpulse__fieldpulse_get_invoice untrusted-input
  • mcp__fieldpulse__fieldpulse_list_payments untrusted-input
  • mcp__fieldpulse__fieldpulse_get_payment untrusted-input
  • mcp__fieldpulse__fieldpulse_list_assets untrusted-input
  • mcp__fieldpulse__fieldpulse_get_asset untrusted-input
  • mcp__fieldpulse__fieldpulse_list_asset_categories untrusted-input
  • mcp__fieldpulse__fieldpulse_list_locations untrusted-input
  • mcp__fieldpulse__fieldpulse_get_location untrusted-input
  • mcp__fieldpulse__fieldpulse_list_projects untrusted-input
  • mcp__fieldpulse__fieldpulse_get_project untrusted-input
  • mcp__fieldpulse__fieldpulse_list_contracts untrusted-input
  • mcp__fieldpulse__fieldpulse_get_contract untrusted-input
  • mcp__fieldpulse__fieldpulse_list_items untrusted-input
  • mcp__fieldpulse__fieldpulse_get_item untrusted-input
  • mcp__fieldpulse__fieldpulse_list_purchase_orders untrusted-input
  • mcp__fieldpulse__fieldpulse_get_purchase_order untrusted-input
  • mcp__fieldpulse__fieldpulse_list_vendors untrusted-input
  • mcp__fieldpulse__fieldpulse_get_vendor untrusted-input
  • mcp__fieldpulse__fieldpulse_list_company_profiles private-data, untrusted-input
  • mcp__fieldpulse__fieldpulse_list_users untrusted-input
  • mcp__fieldpulse__fieldpulse_list_teams untrusted-input
  • mcp__fieldpulse__fieldpulse_list_tags untrusted-input
  • mcp__fieldpulse__fieldpulse_list_lead_sources untrusted-input
  • mcp__fieldpulse__fieldpulse_list_pipeline_statuses untrusted-input
  • mcp__fieldpulse__fieldpulse_list_custom_fields untrusted-input
  • mcp__fieldpulse__fieldpulse_list_comments untrusted-input
  • mcp__fieldpulse__fieldpulse_list_subtasks untrusted-input
  • mcp__fieldpulse__fieldpulse_list_timesheets untrusted-input
  • mcp__fieldpulse__fieldpulse_create_customer untrusted-input
  • mcp__fieldpulse__fieldpulse_update_customer untrusted-input
  • mcp__fieldpulse__fieldpulse_create_job untrusted-input
  • mcp__fieldpulse__fieldpulse_update_job untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/io.usefulapi/fieldpulse/verify?hash=a1bf79929cfdd948567677fa452c4d4b180d19218b19eb425c4c1a301385e04f" | jq -e '.changed == false'

Pinned hash a1bf79929cfd, from Oct 23, 2026, 10:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/io.usefulapi/fieldpulse/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for io.usefulapi/fieldpulse
[![anlyon.dev](https://anlyon.dev/badge/io.usefulapi/fieldpulse.svg)](https://anlyon.dev/servers/io.usefulapi/fieldpulse)

Source: MCP Registry · repository. Synced Oct 23, 2026, 10:18 UTC.