SafetyChain MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.14.4Updated Nov 7, 2026

Read SafetyChain food safety records, CAPAs, forms, suppliers, items, locations and equipment.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Read-only access to a SafetyChain tenant: food-safety records, CAPAs, forms, suppliers, items, locations and equipment.

What you can do
  • List and get customers, locations, suppliers, items, equipment, resources, forms and categories
  • Search CAPAs and read one CAPA's details, tasks, attachments, history, linked records, linked CAPAs and activity
  • Search submitted records, check whether a record exists, read field-level values and get a summary of matching records
  • Check monthly tool-call usage, request a missing feature, upgrade or cancel a paid plan
When to use it
Useful when you want an assistant to answer questions about a SafetyChain tenant, such as which CAPAs are open or overdue at a plant, which records were non-compliant in a date range, or which suppliers and forms are in use.
Requirements
Remote MCP endpoint added by URL only; no API key or Authorization header in the client config. Sign-in is via OAuth, and the login page asks for the SafetyChain tenant name, the username and password of a SafetyChain integration user, and the environment (Production or Train). Network access required.
Before you install
You hand over SafetyChain integration-user credentials through the server's login page; they are stored per user. The service is metered: the free plan allows 50 tool calls a month, and paid plans (Pro, Pro+) are billed through a payment link, with no refund for the current period on cancellation. The tools are read-only, but the meta tools can start or cancel a paid subscription.

Installation

In SourceWeft

  1. Open SafetyChain MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fsafetychain/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "safetychain-by-usefulapi": {
      "type": "http",
      "url": "https://safetychain.usefulapi.io/mcp"
    }
  }
}

README

SafetyChain MCP by usefulapi

Live endpoint: https://safetychain.usefulapi.io/mcp

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://safetychain.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http safetychain https://safetychain.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "safetychain": {      "url": "https://safetychain.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your SafetyChain credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/safetychain/

On first connect you will enter your SafetyChain tenant (the part before .safetychain.com), the username and password of a SafetyChain integration user, and the environment (Production or Train). They are validated, stored per-user, and scoped to you. No keys in config files. This server is read-only.

Tools

ToolTypeWhat it does
safetychain_list_customersreadList customers
safetychain_get_customerreadGet customer
safetychain_list_locationsreadList locations
safetychain_get_locationreadGet location
safetychain_list_suppliersreadList suppliers
safetychain_get_supplierreadGet supplier
safetychain_list_itemsreadList items
safetychain_get_itemreadGet item
safetychain_list_equipmentreadList equipment
safetychain_get_equipmentreadGet equipment
safetychain_list_resourcesreadList resources
safetychain_get_resourcereadGet resource
safetychain_list_formsreadList forms
safetychain_get_formreadGet form
safetychain_list_categoriesreadList categories
safetychain_get_categoryreadGet category
safetychain_search_capasreadSearch CAPAs
safetychain_get_capareadGet CAPA
safetychain_get_capa_tasksreadGet CAPA tasks
safetychain_get_capa_attachmentsreadGet CAPA attachments
safetychain_get_capa_historyreadGet CAPA history
safetychain_get_capa_linked_recordsreadGet CAPA linked records
safetychain_get_capa_linked_capasreadGet CAPA linked capas
safetychain_get_capa_activityreadGet CAPA activity
safetychain_get_recordreadGet record
safetychain_record_existsreadCheck a record exists
safetychain_search_recordsreadSearch records
safetychain_get_record_fieldsreadGet record field values
safetychain_get_record_summaryreadSummarize records
safetychain_usage_statusmetaUsage status (free-tier meter)
safetychain_request_featuremetaRequest a missing feature
safetychain_upgrademetaUpgrade to Pro or Pro+
safetychain_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per account)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with safetychain_upgrade (it returns a Stripe Checkout link). Cancel any time with safetychain_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running safetychain_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT

Source: servers/safetychain/README.md at commit 4046075

Tools

29

safetychain_list_customers

List customers

List customers of the SafetyChain tenant, with ids, names, enabled flags and created/modified dates. Filter by name. The API does not page: all matches come back (cut at limit). GET /clientapis/resourcemanagement/v1.0/customers.

Parametersnamelimitis_deletedis_enabled

safetychain_get_customer

Get customer

Get one customer by id (an id from safetychain_list_customers). GET /clientapis/resourcemanagement/v1.0/customer/{id}.

Parametersidrequired

safetychain_list_locations

List locations

List locations (plants, sites, areas) of the SafetyChain tenant, with ids, names, enabled flags and created/modified dates. Filter by name. The API does not page: all matches come back (cut at limit). GET /clientapis/resourcemanagement/v1.0/locations.

Parametersnamelimitis_deletedis_enabled

safetychain_get_location

Get location

Get one location by id (an id from safetychain_list_locations). GET /clientapis/resourcemanagement/v1.0/location/{id}.

Parametersidrequired

safetychain_list_suppliers

List suppliers

List suppliers of the SafetyChain tenant, with ids, names, enabled flags and created/modified dates. Filter by name. The API does not page: all matches come back (cut at limit). GET /clientapis/resourcemanagement/v1.0/suppliers.

Parametersnamelimitis_deletedis_enabled

safetychain_get_supplier

Get supplier

Get one supplier by id (an id from safetychain_list_suppliers). GET /clientapis/resourcemanagement/v1.0/supplier/{id}.

Parametersidrequired

safetychain_list_items

List items

List items (products, ingredients, materials) of the SafetyChain tenant, with ids, names, enabled flags and created/modified dates. Filter by name. The API does not page: all matches come back (cut at limit). GET /clientapis/resourcemanagement/v1.0/items.

Parametersnamelimitis_deletedis_enabled

safetychain_get_item

Get item

Get one item by id (an id from safetychain_list_items). GET /clientapis/resourcemanagement/v1.0/item/{id}.

Parametersidrequired

safetychain_list_equipment

List equipment

List equipment of the SafetyChain tenant, with ids, names, enabled flags and created/modified dates. Filter by name. The API does not page: all matches come back (cut at limit). GET /clientapis/resourcemanagement/v1.0/equipment.

Parametersnamelimitis_deletedis_enabled

safetychain_get_equipment

Get equipment

Get one equipment by id (an id from safetychain_list_equipment). GET /clientapis/resourcemanagement/v1.0/equipment/{id}.

Parametersidrequired

safetychain_list_resources

List resources

List resources of every type (customers, equipment, items, suppliers, lists) of the SafetyChain tenant, with ids, names, enabled flags and created/modified dates. Filter by name. The API does not page: all matches come back (cut at limit). GET /clientapis/resourcemanagement/v1.0/resources.

Parametersnamelimitis_enabled

safetychain_get_resource

Get resource

Get one resource by id (an id from safetychain_list_resources). GET /clientapis/resourcemanagement/v1.0/resource/{id}.

Parametersidrequired

safetychain_list_forms

List forms

List forms (the checklists and data-entry forms operators fill in) of the SafetyChain tenant, with ids, names, enabled flags and created/modified dates. Filter by name. The API does not page: all matches come back (cut at limit). GET /clientapis/resourcemanagement/v1.0/forms.

Parametersnamelimitis_currentis_released

safetychain_get_form

Get form

Get one form by id (an id from safetychain_list_forms). GET /clientapis/resourcemanagement/v1.0/form/{id}.

Parametersidrequired

safetychain_list_categories

List categories

List categories used to group resources of the SafetyChain tenant, with ids, names, enabled flags and created/modified dates. Filter by name. The API does not page: all matches come back (cut at limit). GET /clientapis/resourcemanagement/v1.0/categories.

Parametersnamelimitis_deletedis_enabledparent_category_id

safetychain_get_category

Get category

Get one category by id (an id from safetychain_list_categories). GET /clientapis/resourcemanagement/v1.0/category/{id}.

Parametersidrequired

safetychain_search_capas

Search CAPAs

Search corrective and preventive actions (CAPA, SCAR, CCAR). Filters combine with AND. Returns id, name, severity, owner workgroup, status, event and due dates, task counts, location and template type, 50 per page. Use the Id (a GUID) with safetychain_get_capa and the other CAPA tools. POST /clientapis/capamanagement/v1.0/capas (a read: it only searches).

Parameterspagecapa_idstatuseslocationspage_sizedescendingseveritiessearch_termname_containstemplate_typesowner_workgroup_contains

safetychain_get_capa

Get CAPA

Get one CAPA's details: status, severity, event and due dates, summary, creator, resource, source, category, owner workgroup, template and steps. The id is the GUID `Id` from safetychain_search_capas. GET /clientapis/capamanagement/v1.0/capa/{id}.

Parametersidrequired

safetychain_get_capa_tasks

Get CAPA tasks

List a CAPA's tasks (step, form, location, resource, workgroup, assignee, due date, status). The id is the GUID `Id` from safetychain_search_capas. GET /clientapis/capamanagement/v1.0/capa/{id}/tasks.

Parametersidrequiredpagepage_size

safetychain_get_capa_attachments

Get CAPA attachments

List a CAPA's attachments (name, extension, link, creator, date). The id is the GUID `Id` from safetychain_search_capas. GET /clientapis/capamanagement/v1.0/capa/{id}/attachments.

Parametersidrequiredpagepage_size

safetychain_get_capa_history

Get CAPA history

List a CAPA's history entries. The id is the GUID `Id` from safetychain_search_capas. GET /clientapis/capamanagement/v1.0/capa/{id}/history.

Parametersidrequiredpagepage_size

safetychain_get_capa_linked_records

Get CAPA linked records

List a CAPA's linked records. The id is the GUID `Id` from safetychain_search_capas. GET /clientapis/capamanagement/v1.0/capa/{id}/linkedrecords.

Parametersidrequiredpagepage_size

safetychain_get_capa_linked_capas

Get CAPA linked capas

List a CAPA's linked CAPAs. The id is the GUID `Id` from safetychain_search_capas. GET /clientapis/capamanagement/v1.0/capa/{id}/linkedcapas.

Parametersidrequiredpagepage_size

safetychain_get_capa_activity

Get CAPA activity

List a CAPA's activity (comments and events). The id is the GUID `Id` from safetychain_search_capas. GET /clientapis/capamanagement/v1.0/capa/{id}/activity.

Parametersidrequired

safetychain_get_record

Get record

Get one submitted record in full by its record id (the GUID `recordId` from safetychain_search_records): form, who submitted it and when, location, resource, field values, verifications. GET /clientapis/recordmanagement/v1.0/record/{recordId}.

Parametersrecord_idrequired

safetychain_record_exists

Check a record exists

Check whether a record exists for a record id (GUID). GET /clientapis/recordmanagement/v1.0/record/{recordId}/Exists.

Parametersrecord_idrequired

safetychain_search_records

Search records

Search submitted records (the headers: record number, compliance, submitted date, location, form and version, resource, who submitted, signed, verifications, ids). Filter by date range, form, location, resource, identifier and compliance. Always narrow by a date range or a name: the tenant can hold millions of records. Pages are not snapshotted: for a stable multi-page read use a closed date range (start and end in the past). Use safetychain_get_record_fields for the field values. POST /clientapis/v2.0/getRecords (a read: it only searches).

Parametersendpagestartmin_agodate_typeform_likeform_nameis_signedpage_rowsis_verifiedlocation_likelocation_name+7 more

safetychain_get_record_fields

Get record field values

Get the field-level values of records (one entry per record with its fields: name, short name, type, value, unit, compliance, min, max, target, comments, section). Same filters as safetychain_search_records; narrow strongly (a record number or one form and a short date range), each record carries many fields. POST /clientapis/v2.0/getRecordsWithFields (a read).

Parametersendpagestartmin_agodate_typeform_likeform_nameis_signedpage_rowsfield_namesis_verifiedlocation_like+9 more

safetychain_get_record_summary

Summarize records

Fast summary of the records matching the filters: first and last date, and how many forms, resources, locations and users are involved. Use it to size a request before safetychain_search_records. POST /clientapis/v2.0/getRecordSummary (a read).

Parametersendstartmin_agodate_typeform_likeform_nameis_signedis_verifiedlocation_likelocation_namerecord_numberresource_like+5 more

Version history

12
  1. v1.14.4LatestNov 7, 2026
  2. v1.13.3Nov 5, 2026
  3. v1.13.2Nov 5, 2026
  4. v1.13.1Nov 4, 2026
  5. v1.13.0Nov 3, 2026
  6. v1.12.1Nov 3, 2026
  7. v1.11.0Nov 1, 2026
  8. v1.9.0Oct 31, 2026
  9. v1.8.0Oct 31, 2026
  10. v1.7.2Oct 30, 2026
  11. v1.7.0Oct 30, 2026
  12. v1.2.0Oct 26, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations