Accelo MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Manage Accelo companies, contacts, jobs, tasks, tickets and time.
23 tools: 4 can delete or cancel things, 1 change things and 18 only read.
Scanned Oct 21, 2026
- Deletes or cancels4Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads18Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http accelo https://accelo.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnaccelo_request
The server marks "accelo_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "accelo_request" says "request": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
23 tools
Deletes or cancels 4Claude Code: deny
create_activityMUTATES Accelo data: logs an activity (a note, email, call, or meeting) against an object.No findings
Why it is in this group
- The name "create_activity" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES Accelo data: logs an activity (a note, email, call, or meeting) against an object. This is the highest-value safe write — e.g. add a note/comment to a job or company. against_type + against_id say what it is logged against (required). Accelo API: POST /api/v0/activities (form-encoded). Returns { meta, response }.
Annotations the server declares
- title: Create an activity (log a note/email/call)
- destructiveHint: true
create_companyMUTATES Accelo data: creates a new company (client organization).No findings
Why it is in this group
- The name "create_company" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES Accelo data: creates a new company (client organization). Accelo API: POST /api/v0/companies (form-encoded). Returns { meta, response } with the created company. (Accelo has no separate delete tool here; to UPDATE, POST to /api/v0/companies/{id}.)
Annotations the server declares
- title: Create a company
- destructiveHint: true
create_contactMUTATES Accelo data: creates a new contact (a person).No findings
Why it is in this group
- The name "create_contact" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES Accelo data: creates a new contact (a person). Accelo API: POST /api/v0/contacts (form-encoded). NOTE: a contact's company affiliation is set separately via an affiliation (POST /api/v0/contacts/{id}/affiliations), not on creation. Returns { meta, response } with the created contact.
Annotations the server declares
- title: Create a contact
- destructiveHint: true
create_taskMUTATES Accelo data: creates a new task.No findings
Why it is in this group
- The name "create_task" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES Accelo data: creates a new task. Accelo tasks are always logged AGAINST an object (a job, company, issue, etc.), so against_type + against_id are required. Accelo API: POST /api/v0/tasks (form-encoded). Returns { meta, response }.
Annotations the server declares
- title: Create a task
- destructiveHint: true
Changes things 1Claude Code: ask
accelo_requestPower-user escape hatch: GET any Accelo API path not wrapped by a dedicated tool.1 finding
Why it is in this group
- The name "accelo_request" says "request": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "accelo_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "accelo_request" says "request": a word for a change.
Description, as the server wrote it Power-user escape hatch: GET any Accelo API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Pass the FULL API path after the host, starting with a slash, INCLUDING any query string, e.g. "/api/v0/companies?_limit=1&_filters=status(1)" or "/api/v0/tasks/123". Returns { meta, response }.
Annotations the server declares
- title: Raw read request
- readOnlyHint: true
Only reads 18Claude Code: allow
get_activityFetch a single activity (note/email/call/meeting).No findings
Why it is in this group
- The name "get_activity" says "get": a word for reading.
Description, as the server wrote it Fetch a single activity (note/email/call/meeting). Accelo API: GET /api/v0/activities/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get an activity
- readOnlyHint: true
get_companyFetch a single company (client organization).No findings
Why it is in this group
- The name "get_company" says "get": a word for reading.
Description, as the server wrote it Fetch a single company (client organization). Accelo API: GET /api/v0/companies/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get a company
- readOnlyHint: true
get_contactFetch a single contact (a person).No findings
Why it is in this group
- The name "get_contact" says "get": a word for reading.
Description, as the server wrote it Fetch a single contact (a person). Accelo API: GET /api/v0/contacts/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get a contact
- readOnlyHint: true
get_invoiceFetch a single invoice.No findings
Why it is in this group
- The name "get_invoice" says "get": a word for reading.
Description, as the server wrote it Fetch a single invoice. Accelo API: GET /api/v0/invoices/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get an invoice
- readOnlyHint: true
get_issueFetch a single issue (support/service ticket).No findings
Why it is in this group
- The name "get_issue" says "get": a word for reading.
Description, as the server wrote it Fetch a single issue (support/service ticket). Accelo API: GET /api/v0/issues/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get an issue (ticket)
- readOnlyHint: true
get_jobFetch a single job (project).No findings
Why it is in this group
- The name "get_job" says "get": a word for reading.
Description, as the server wrote it Fetch a single job (project). Accelo API: GET /api/v0/jobs/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get a job (project)
- readOnlyHint: true
get_prospectFetch a single prospect (sales opportunity).No findings
Why it is in this group
- The name "get_prospect" says "get": a word for reading.
Description, as the server wrote it Fetch a single prospect (sales opportunity). Accelo API: GET /api/v0/prospects/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get a prospect (sale)
- readOnlyHint: true
get_staffFetch a single staff member.No findings
Why it is in this group
- The name "get_staff" says "get": a word for reading.
Description, as the server wrote it Fetch a single staff member. Accelo API: GET /api/v0/staff/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get a staff member
- readOnlyHint: true
get_taskFetch a single task.No findings
Why it is in this group
- The name "get_task" says "get": a word for reading.
Description, as the server wrote it Fetch a single task. Accelo API: GET /api/v0/tasks/{id}. Returns { meta, response }.
Annotations the server declares
- title: Get a task
- readOnlyHint: true
list_activitiesList activities — notes, emails, calls, and meetings logged against objects.No findings
Why it is in this group
- The name "list_activities" says "list": a word for reading.
Description, as the server wrote it List activities — notes, emails, calls, and meetings logged against objects. Accelo API: GET /api/v0/activities. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List activities
- readOnlyHint: true
list_companiesList companies (client organizations).No findings
Why it is in this group
- The name "list_companies" says "list": a word for reading.
Description, as the server wrote it List companies (client organizations). Accelo API: GET /api/v0/companies. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List companies
- readOnlyHint: true
list_contactsList contacts (people at companies).No findings
Why it is in this group
- The name "list_contacts" says "list": a word for reading.
Description, as the server wrote it List contacts (people at companies). Accelo API: GET /api/v0/contacts. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List contacts
- readOnlyHint: true
list_invoicesList invoices.No findings
Why it is in this group
- The name "list_invoices" says "list": a word for reading.
Description, as the server wrote it List invoices. Accelo API: GET /api/v0/invoices. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List invoices
- readOnlyHint: true
list_issuesList issues — support/service tickets.No findings
Why it is in this group
- The name "list_issues" says "list": a word for reading.
Description, as the server wrote it List issues — support/service tickets. Accelo API: GET /api/v0/issues. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List issues (tickets)
- readOnlyHint: true
list_jobsList jobs — Accelo "jobs" are projects.No findings
Why it is in this group
- The name "list_jobs" says "list": a word for reading.
Description, as the server wrote it List jobs — Accelo "jobs" are projects. Accelo API: GET /api/v0/jobs. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List jobs (projects)
- readOnlyHint: true
list_prospectsList prospects — sales opportunities in the pipeline.No findings
Why it is in this group
- The name "list_prospects" says "list": a word for reading.
Description, as the server wrote it List prospects — sales opportunities in the pipeline. Accelo API: GET /api/v0/prospects. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List prospects (sales)
- readOnlyHint: true
list_staffList staff (Accelo users in your deployment).No findings
Why it is in this group
- The name "list_staff" says "list": a word for reading.
Description, as the server wrote it List staff (Accelo users in your deployment). Accelo API: GET /api/v0/staff. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List staff
- readOnlyHint: true
list_tasksList tasks (units of work logged against an object such as a job or company).No findings
Why it is in this group
- The name "list_tasks" says "list": a word for reading.
Description, as the server wrote it List tasks (units of work logged against an object such as a job or company). Accelo API: GET /api/v0/tasks. Supports _page/_limit/_fields/_filters/_search. Returns { meta, response }.
Annotations the server declares
- title: List tasks
- readOnlyHint: 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.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http accelo https://accelo.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__accelo__list_companies",
"mcp__accelo__get_company",
"mcp__accelo__list_contacts",
"mcp__accelo__get_contact",
"mcp__accelo__list_jobs",
"mcp__accelo__get_job",
"mcp__accelo__list_tasks",
"mcp__accelo__get_task",
"mcp__accelo__list_activities",
"mcp__accelo__get_activity",
"mcp__accelo__list_invoices",
"mcp__accelo__get_invoice",
"mcp__accelo__list_prospects",
"mcp__accelo__get_prospect",
"mcp__accelo__list_staff",
"mcp__accelo__get_staff",
"mcp__accelo__list_issues",
"mcp__accelo__get_issue"
],
"ask": [
"mcp__accelo__accelo_request"
],
"deny": [
"mcp__accelo__create_company",
"mcp__accelo__create_contact",
"mcp__accelo__create_task",
"mcp__accelo__create_activity"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as accelo. Review it before you use it.