Skip to content

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.

Deletes · 4Changes · 1

23 tools: 4 can delete or cancel things, 1 change things and 18 only read.

Scanned Oct 21, 2026

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/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "accelo_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true}; The name "accelo_request" says "request": a word for a change.

    What this check looks for

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".

      Matched text

      annotations: {"readOnlyHint":true}; The name "accelo_request" says "request": a word for a change.

      What this check looks for
    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/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.