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.
- 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.
- Reads text others write43
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- 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/mcpclaude mcp add --transport http fieldpulse https://fieldpulse.usefulapi.io/mcpRun 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.
{
"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.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.usefulapi/fieldpulse)Source: MCP Registry · repository. Synced Oct 23, 2026, 10:18 UTC.