GoCanvas MCP by usefulapi
io.usefulapi/gocanvasusefulapi.iostreamable-httpv1.0.0Scanned
Read GoCanvas forms, submissions, users, dispatches and reference data; create dispatches.
23 tools: 2 change things and 21 only read.
- Reads private data · 4
- Reads text others write · 23
- Can send data out · 0
- No findings
Anlyon alternative
2 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.
23 tools
Changes things 2Claude Code: ask
gocanvas_create_dispatchWRITE: 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; schedule…Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_create_dispatch" says "create": a word for a change.
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: 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.
Annotations the server declares
- title: Create a GoCanvas dispatch
- destructiveHint: false
- openWorldHint: true
gocanvas_mark_dispatch_receivedWRITE: acknowledges a dispatch (status becomes received).Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_mark_dispatch_received" says "mark": a word for a change.
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: 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.
Annotations the server declares
- title: Mark a GoCanvas dispatch as received
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
Only reads 21Show 21 read-only tools
gocanvas_get_dispatchOne dispatch by id with its pre-filled responses, schedule and status.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_get_dispatch" 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 dispatch by id with its pre-filled responses, schedule and status.
Annotations the server declares
- title: Get a GoCanvas dispatch
- readOnlyHint: true
- openWorldHint: true
gocanvas_get_formOne form definition, including its screens and entries (field ids and labels).Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_get_form" 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 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.
Annotations the server declares
- title: Get a GoCanvas form definition
- readOnlyHint: true
- openWorldHint: true
gocanvas_get_meThe user who owns the connected OAuth application: id, login, company id and name, default department and role.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_get_me" 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 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.
Annotations the server declares
- title: Get the connected GoCanvas user
- readOnlyHint: true
- openWorldHint: true
gocanvas_get_reference_dataOne reference data set with its rows.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_get_reference_data" 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 reference data set with its rows.
Annotations the server declares
- title: Get a GoCanvas reference data set
- readOnlyHint: true
- openWorldHint: true
gocanvas_get_submissionOne submission with all its responses (entry id, label, type, value).Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_get_submission" 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 submission with all its responses (entry id, label, type, value). Accepts the numeric submission id or the client GUID.
Annotations the server declares
- title: Get a GoCanvas submission
- readOnlyHint: true
- openWorldHint: true
gocanvas_get_userOne user by id: name, login, contact data, default department and role.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "gocanvas_get_user" says "get": 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 One user by id: name, login, contact data, default department and role.
Annotations the server declares
- title: Get a GoCanvas user
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_customersCustomers (contacts of the Project Management view): individuals or businesses, optionally tied to a site.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_customers" 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 Customers (contacts of the Project Management view): individuals or businesses, optionally tied to a site. Paged.
Annotations the server declares
- title: List GoCanvas customers
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_department_usersThe users in one department with their department role.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_department_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 The users in one department with their department role.
Annotations the server declares
- title: List users of a GoCanvas department
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_departmentsDepartments of the company: id, name, description.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_departments" 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 Departments of the company: id, name, description. The pseudo department -1 'All' is included.
Annotations the server declares
- title: List GoCanvas departments
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_dispatchesDispatches (jobs sent to field workers): id, form, assignee, status, schedule.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_dispatches" 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 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.
Annotations the server declares
- title: List GoCanvas dispatches
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_form_reportsThe report (PDF) definitions attached to a form: id, name, format, whether emailed by default.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_form_reports" 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 report (PDF) definitions attached to a form: id, name, format, whether emailed by default. Paged.
Annotations the server declares
- title: List report definitions of a GoCanvas form
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_formsForms (mobile form definitions) the connected user can see: id, name, status, version, department.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_forms" 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 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).
Annotations the server declares
- title: List GoCanvas forms
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_groupsUser groups: id, name, and the forms and users assigned.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_groups" 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 User groups: id, name, and the forms and users assigned. Paged.
Annotations the server declares
- title: List GoCanvas groups
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_locationsGPS location events of field users (needs the tracker feature).Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_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 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.
Annotations the server declares
- title: List GoCanvas tracker locations
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_projectsProjects of the Project Management view.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_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 Projects of the Project Management view. Paged.
Annotations the server declares
- title: List GoCanvas projects
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_reference_dataReference data (lookup tables used by forms): id, name, columns, version.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_reference_data" says "list": a word for reading.
What it can reach
- private-dataThe description's first sentence says "table": it reads databases.
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Reference data (lookup tables used by forms): id, name, columns, version. Without department_id the user's default department is used.
Annotations the server declares
- title: List GoCanvas reference data sets
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_sitesSites (job locations) of the Project Management view.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_sites" 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 Sites (job locations) of the Project Management view. Paged.
Annotations the server declares
- title: List GoCanvas sites
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_submission_revisionsThe revision history of a submission (who changed it and when).Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_submission_revisions" 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 revision history of a submission (who changed it and when). Paged.
Annotations the server declares
- title: List revisions of a GoCanvas submission
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_submissionsCompleted forms (submissions): id, form, number, created time, department, user, status.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_submissions" 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 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.
Annotations the server declares
- title: List GoCanvas submissions
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_usersUsers of the company: id, name, email, enabled.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_users" says "list": a word for reading.
What it can reach
- private-dataThe description's first sentence says "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 "email": it reads inbound email, which other people can write.
Description, as the server wrote it Users of the company: id, name, email, enabled. Paged, 100 per page.
Annotations the server declares
- title: List GoCanvas users
- readOnlyHint: true
- openWorldHint: true
gocanvas_list_workflowsWorkflows (handoff chains between users) the connected user takes part in, with their handoff states and the count of tasks available to claim.Reads text others writeNo findings
Why it is in this group
- The name "gocanvas_list_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 Workflows (handoff chains between users) the connected user takes part in, with their handoff states and the count of tasks available to claim. Paged.
Annotations the server declares
- title: List GoCanvas workflows
- readOnlyHint: true
- 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 write23
- 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.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http gocanvas https://gocanvas.usefulapi.io/mcpclaude mcp add --transport http gocanvas https://gocanvas.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__gocanvas__gocanvas_get_me",
"mcp__gocanvas__gocanvas_list_forms",
"mcp__gocanvas__gocanvas_get_form",
"mcp__gocanvas__gocanvas_list_form_reports",
"mcp__gocanvas__gocanvas_list_submissions",
"mcp__gocanvas__gocanvas_get_submission",
"mcp__gocanvas__gocanvas_list_submission_revisions",
"mcp__gocanvas__gocanvas_list_users",
"mcp__gocanvas__gocanvas_get_user",
"mcp__gocanvas__gocanvas_list_departments",
"mcp__gocanvas__gocanvas_list_department_users",
"mcp__gocanvas__gocanvas_list_dispatches",
"mcp__gocanvas__gocanvas_get_dispatch",
"mcp__gocanvas__gocanvas_list_customers",
"mcp__gocanvas__gocanvas_list_projects",
"mcp__gocanvas__gocanvas_list_sites",
"mcp__gocanvas__gocanvas_list_reference_data",
"mcp__gocanvas__gocanvas_get_reference_data",
"mcp__gocanvas__gocanvas_list_groups",
"mcp__gocanvas__gocanvas_list_workflows",
"mcp__gocanvas__gocanvas_list_locations"
],
"ask": [
"mcp__gocanvas__gocanvas_create_dispatch",
"mcp__gocanvas__gocanvas_mark_dispatch_received"
],
"deny": []
}
}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 gocanvas. Review it before you use it.
Capability tags behind 23 rules
- mcp__gocanvas__gocanvas_get_me untrusted-input
- mcp__gocanvas__gocanvas_list_forms untrusted-input
- mcp__gocanvas__gocanvas_get_form untrusted-input
- mcp__gocanvas__gocanvas_list_form_reports untrusted-input
- mcp__gocanvas__gocanvas_list_submissions untrusted-input
- mcp__gocanvas__gocanvas_get_submission untrusted-input
- mcp__gocanvas__gocanvas_list_submission_revisions untrusted-input
- mcp__gocanvas__gocanvas_list_users private-data, untrusted-input
- mcp__gocanvas__gocanvas_get_user private-data, untrusted-input
- mcp__gocanvas__gocanvas_list_departments untrusted-input
- mcp__gocanvas__gocanvas_list_department_users untrusted-input
- mcp__gocanvas__gocanvas_list_dispatches untrusted-input
- mcp__gocanvas__gocanvas_get_dispatch untrusted-input
- mcp__gocanvas__gocanvas_list_customers private-data, untrusted-input
- mcp__gocanvas__gocanvas_list_projects untrusted-input
- mcp__gocanvas__gocanvas_list_sites untrusted-input
- mcp__gocanvas__gocanvas_list_reference_data private-data, untrusted-input
- mcp__gocanvas__gocanvas_get_reference_data untrusted-input
- mcp__gocanvas__gocanvas_list_groups untrusted-input
- mcp__gocanvas__gocanvas_list_workflows untrusted-input
- mcp__gocanvas__gocanvas_list_locations untrusted-input
- mcp__gocanvas__gocanvas_create_dispatch untrusted-input
- mcp__gocanvas__gocanvas_mark_dispatch_received 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/gocanvas/verify?hash=a15bc02e16122b2740c7008f03216e0eb93445ddcb510e3e05a3fa35e966fae7" | jq -e '.changed == false'Pinned hash a15bc02e1612, from Oct 24, 2026, 22:18 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/io.usefulapi/gocanvas/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/io.usefulapi/gocanvas)Source: MCP Registry · repository. Synced Oct 24, 2026, 22:18 UTC.