GoCanvas MCP by usefulapi
REMOTE · GOCANVAS.USEFULAPI.IO
Read GoCanvas forms, submissions, users, dispatches and reference data; create dispatches.
Available components
Last scanned (4 hours ago)
Scores higher than 47% of remote servers
Reachable. Last reached 25 Oct 2026.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security78
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability0
- Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability84
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2532 tokens (~110/item across 23 items; 23 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 23 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 24 Oct 26 63
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Oct 2026 · Probed https://gocanvas.usefulapi.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=usefulapi.io | CN=WE1,O=Google Trust Services,C=US | 13 Sept 2026 | 12 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | d9be3287b0fde9630e825ba1f79bff3f |
| SANs: usefulapi.io, *.usefulapi.io | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of gocanvas.usefulapi.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 38690, 57355 | 8, 8 | Verified |
| usefulapi.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 302 |
WWW-Authenticate challenge Bearer realm="OAuth", resource_metadata="https://gocanvas.usefulapi.io/.well-known/oauth-protected-resource/mcp"
Bearer realm="OAuth", resource_metadata="https://gocanvas.usefulapi.io/.well-known/oauth-protected-resource/mcp" Protected resource metadata
| Document | https://gocanvas.usefulapi.io/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://gocanvas.usefulapi.io/mcp |
| Authorisation server | https://gocanvas.usefulapi.io |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://gocanvas.usefulapi.io/mcp | Redirected | 302 | https://usefulapi.io/gocanvas/ |
| http (plaintext) | http://gocanvas.usefulapi.io/mcp | Inconclusive | 302 | http://gocanvas.usefulapi.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
gocanvas_create_dispatch Create a GoCanvas dispatch ~341
WRITE: creates a dispatch, a job that appears on the assignee's mobile device (immediate_dispatch is sent at once, with a push notification when send_notification is true; scheduled_dispatch needs scheduled_at and scheduled_end). Responses pre-fill the assignee's form (entry ids from gocanvas_get_form). Without assignee_id the dispatch stays unassigned. Not idempotent: calling twice creates two dispatches. Media fields cannot be pre-filled.
| Name | Type | Req | Description |
|---|---|---|---|
| assignee_id | integer | – | The user who gets the dispatch (from gocanvas_list_users); omit to leave it unassigned. |
| department_id | integer | – | Department; default is the user's default department. |
| description | string | – | Description shown on the assignee's device. |
| dispatch_type | string | yes | immediate_dispatch is sent now; scheduled_dispatch at scheduled_at. |
| form_id | integer | yes | The form to dispatch (from gocanvas_list_forms). |
| name | string | – | Short name shown on the dispatch calendar. |
| reminder_interval | integer | – | Scheduled dispatches: minutes before the start to send a reminder. |
| responses | array | – | Pre-filled answers. |
| scheduled_at | string | – | Scheduled dispatches: start, in the format MM/DD/YYYY h:mm:ss AM, e.g. 12/1/2024 8:00:00 AM. |
| scheduled_end | string | – | Scheduled dispatches: end, same format. |
| send_calendar_invite | boolean | – | Scheduled dispatches: send a calendar invite. |
| send_notification | boolean | – | Immediate dispatches: send a push notification to the mobile app. |
No output schema declared.
No examples provided.
gocanvas_get_dispatch Get a GoCanvas dispatch ~44
One dispatch by id with its pre-filled responses, schedule and status.
| Name | Type | Req | Description |
|---|---|---|---|
| dispatch_id | integer | yes | The dispatch id (from gocanvas_list_dispatches). |
No output schema declared.
No examples provided.
gocanvas_get_form Get a GoCanvas form definition ~100
One form definition, including its screens and entries (field ids and labels). Use format 'flat' for the simplest list of fields (what you need to read submissions or create a dispatch), 'nested' (default) for the full structure, 'metadata' or 'minimal' for less.
| Name | Type | Req | Description |
|---|---|---|---|
| form_id | integer | yes | The form id (from gocanvas_list_forms). |
| format | string | – | Definition format (default nested). |
No output schema declared.
No examples provided.
gocanvas_get_me Get the connected GoCanvas user ~43
The user who owns the connected OAuth application: id, login, company id and name, default department and role. Use it to learn the default department id.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
gocanvas_get_reference_data Get a GoCanvas reference data set ~41
One reference data set with its rows.
| Name | Type | Req | Description |
|---|---|---|---|
| reference_data_id | integer | yes | The reference data id (from gocanvas_list_reference_data). |
No output schema declared.
No examples provided.
gocanvas_get_submission Get a GoCanvas submission ~87
One submission with all its responses (entry id, label, type, value). Accepts the numeric submission id or the client GUID.
| Name | Type | Req | Description |
|---|---|---|---|
| submission_id | string | yes | Numeric submission id (e.g. 691911) or client GUID (e.g. 02ED5FB2-9C61-4F18-AB17-543547DF899B). |
No output schema declared.
No examples provided.
gocanvas_get_user Get a GoCanvas user ~46
One user by id: name, login, contact data, default department and role.
| Name | Type | Req | Description |
|---|---|---|---|
| user_id | integer | yes | The user id (from gocanvas_list_users). |
No output schema declared.
No examples provided.
gocanvas_list_customers List GoCanvas customers ~65
Customers (contacts of the Project Management view): individuals or businesses, optionally tied to a site. Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_list_department_users List users of a GoCanvas department ~41
The users in one department with their department role.
| Name | Type | Req | Description |
|---|---|---|---|
| department_id | integer | yes | The department id (from gocanvas_list_departments). |
No output schema declared.
No examples provided.
gocanvas_list_departments List GoCanvas departments ~34
Departments of the company: id, name, description. The pseudo department -1 'All' is included.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
gocanvas_list_dispatches List GoCanvas dispatches ~217
Dispatches (jobs sent to field workers): id, form, assignee, status, schedule. At least one of user_id, department_id or form_id is required. Dates are ISO-8601. Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| department_id | integer | – | The department. |
| end_date | string | – | Created at or before. |
| form_id | integer | – | The form. |
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
| project_id | integer | – | Only dispatches assigned to this project. |
| scheduled_end_date | string | – | Scheduled end at or before. |
| scheduled_start_date | string | – | Scheduled at or after. |
| start_date | string | – | Created at or after. |
| status | string | – | unassigned, assigned, received or ready (ready ignores the date filters and is scoped to the connected user). |
| user_id | integer | – | The user the dispatch is assigned to. |
No output schema declared.
No examples provided.
gocanvas_list_form_reports List report definitions of a GoCanvas form ~79
The report (PDF) definitions attached to a form: id, name, format, whether emailed by default. Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| form_id | integer | yes | The form id. |
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_list_forms List GoCanvas forms ~113
Forms (mobile form definitions) the connected user can see: id, name, status, version, department. Paged, 100 per page. Use gocanvas_get_form for a form's fields (entries).
| Name | Type | Req | Description |
|---|---|---|---|
| assigned | boolean | – | true = only the user's assigned, active forms (only has an effect for users who can manage forms). |
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_list_groups List GoCanvas groups ~59
User groups: id, name, and the forms and users assigned. Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_list_locations List GoCanvas tracker locations ~184
GPS location events of field users (needs the tracker feature). start_date and end_date are required and may span at most 7 days. Omit user_id for all users of the company. Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| end_date | string | yes | End of the window (ISO-8601; a bare date means 23:59:59). At most 7 days after start_date. |
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
| start_date | string | yes | Start of the window (ISO-8601; a bare date means 00:00:00). |
| use_created_at | boolean | – | true = filter by upload time (created_at) instead of recorded_at. |
| user_id | integer | – | Limit to one user. |
No output schema declared.
No examples provided.
gocanvas_list_projects List GoCanvas projects ~52
Projects of the Project Management view. Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_list_reference_data List GoCanvas reference data sets ~99
Reference data (lookup tables used by forms): id, name, columns, version. Without department_id the user's default department is used.
| Name | Type | Req | Description |
|---|---|---|---|
| assigned | boolean | – | true = only reference data used by forms assigned to the user. |
| department_id | integer | – | Department id. |
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_list_sites List GoCanvas sites ~56
Sites (job locations) of the Project Management view. Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_list_submission_revisions List revisions of a GoCanvas submission ~74
The revision history of a submission (who changed it and when). Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
| submission_id | string | yes | Numeric submission id or client GUID. |
No output schema declared.
No examples provided.
gocanvas_list_submissions List GoCanvas submissions ~280
Completed forms (submissions): id, form, number, created time, department, user, status. At least one of form_id, user_id or user_email is required (user_id and user_email cannot be combined). Default status is completed. Dates filter created_at. Paged, 100 per page. Use gocanvas_get_submission for the answers.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_status | string | – | Custom status label; required for status custom. |
| department_id | integer | – | Department id (default: the user's default department). |
| end_date | string | – | Created at or before (ISO-8601). |
| form_id | integer | – | Form id; matches every version of the form. |
| hand_off | string | – | Workflow handoff state name; required for status handed-off. |
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
| start_date | string | – | Created at or after (ISO-8601). |
| status | string | – | Status filter (default completed). handed-off needs hand_off; custom needs custom_status. |
| user_email | string | – | Email (login) of the user who created the submission; not with user_id. |
| user_id | integer | – | The user who created the submission. |
No output schema declared.
No examples provided.
gocanvas_list_users List GoCanvas users ~84
Users of the company: id, name, email, enabled. Paged, 100 per page.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | – | true = only enabled users, false = only disabled (default: both). |
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_list_workflows List GoCanvas workflows ~76
Workflows (handoff chains between users) the connected user takes part in, with their handoff states and the count of tasks available to claim. Paged.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | Page number, 1-based (default 1). Use next_page from the previous reply. 100 results per page. |
No output schema declared.
No examples provided.
gocanvas_mark_dispatch_received Mark a GoCanvas dispatch as received ~58
WRITE: acknowledges a dispatch (status becomes received). Only works for a dispatch in the assigned state that is assigned to the connected user; repeating it is refused by GoCanvas.
| Name | Type | Req | Description |
|---|---|---|---|
| dispatch_id | integer | yes | The dispatch id. |
No output schema declared.
No examples provided.
How do I install the GoCanvas MCP by usefulapi server?
GoCanvas MCP by usefulapi is a hosted endpoint at https://gocanvas.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · gocanvas.usefulapi.io
claude mcp add --transport http io-usefulapi-gocanvas 'https://gocanvas.usefulapi.io/mcp'
What is the GoCanvas MCP by usefulapi server?
GoCanvas MCP by usefulapi is listed in the public MCP registry as io.usefulapi/gocanvas. Read GoCanvas forms, submissions, users, dispatches and reference data; create dispatches. This page covers its hosted endpoint (https://gocanvas.usefulapi.io/mcp).
Is the GoCanvas MCP by usefulapi server safe to use?
GoCanvas MCP by usefulapi scores 63 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the GoCanvas MCP by usefulapi server expose?
GoCanvas MCP by usefulapi exposes 23 tools: gocanvas_get_me, gocanvas_list_forms, gocanvas_get_form, gocanvas_list_form_reports, gocanvas_list_submissions, and 18 more. Their descriptions and schemas cost roughly 2,273 tokens of context every time the server is loaded.
Does the GoCanvas MCP by usefulapi server require authentication?
Yes. GoCanvas MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the GoCanvas MCP by usefulapi server still maintained?
GoCanvas MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 25 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.