Skip to content

Accredible MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi

Read Accredible credentials, groups, designs, analytics, skills; issue one credential as a draft.

Deletes · 14 high findings

19 tools: 1 can delete or cancel things and 18 only read.

Scanned Oct 21, 2026

37 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http accredible https://accredible.usefulapi.io/mcp

Findings

Matches of fixed checks, with the text they matched.

4 high33 info
Show 31 more findings

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

19 tools

Deletes or cancels 1Claude Code: deny
  • accredible_issue_credentialWRITE: creates ONE credential (badge or certificate) for ONE recipient in an existing group.11 findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Info

      The title mentions "credential".

      Matched text

      title: "Issue a credential to ONE recipient"

      What this check looks for
    • Info

      The annotations title mentions "credential".

      Matched text

      annotations.title: "Issue a credential to ONE recipient"

      What this check looks for
    • High

      The description refers to "/v1/credentials".

      Matched text

      description: "...s, bulk issuing, edits or deletes. POST /v1/credentials."

      What this check looks for
    • Info

      The description mentions "credential".

      Matched text

      description: "WRITE: creates ONE credential (badge or certificate) for ONE recipien..."

      What this check looks for
    • Info

      The input schema at properties.group_id.description mentions "credential".

      Matched text

      inputSchema.properties.group_id.description: "The group the credential belongs to (accredible_search_groups);..."

      What this check looks for
    • Info

      The input schema at properties.recipient_name.description mentions "credential".

      Matched text

      inputSchema.properties.recipient_name.description: "...recipient's full name as printed on the credential."

      What this check looks for
    • Info

      The input schema at properties.recipient_id.description mentions "credentials".

      Matched text

      inputSchema.properties.recipient_id.description: "...d for the recipient (maps recipients to credentials across e-mail changes)."

      What this check looks for
    • Info

      The input schema at properties.credential_id.description mentions "credential".

      Matched text

      inputSchema.properties.credential_id.description: "Your own unique id for this credential (license_id); Accredible assigns one if..."

      What this check looks for
    • Info

      The input schema at properties.name.description mentions "Credential".

      Matched text

      inputSchema.properties.name.description: "Credential/course name; required only when the gro..."

      What this check looks for
    • Info

      The input schema at properties.description.description mentions "Credential".

      Matched text

      inputSchema.properties.description.description: "Credential/course description; required only when..."

      What this check looks for
    • Info

      The input schema at properties.private.description mentions "credential".

      Matched text

      inputSchema.properties.private.description: "Make the credential private: visible only to the recipient..."

      What this check looks for
    Description, as the server wrote it
    WRITE: creates ONE credential (badge or certificate) for ONE recipient in an existing group. By default it is created UNPUBLISHED (a draft: no e-mail is sent and no credit is used); publish it later in the Accredible Dashboard. With publish=true the credential is published immediately: Accredible then SENDS AN E-MAIL to the recipient (as configured in the group's e-mail settings) and uses one credential credit of the account; an account without credits keeps it unpublished. A sandbox-mode setting in the Dashboard overrides publish. Not idempotent: calling twice creates two credentials (set credential_id to your own unique id to be able to find it again). No evidence, references, bulk issuing, edits or deletes. POST /v1/credentials.

    Annotations the server declares

    • title: Issue a credential to ONE recipient
    • readOnlyHint: false
    • destructiveHint: true
Only reads 18Claude Code: allow
  • accredible_get_credentialOne credential in full: recipient, group, issue and expiry dates, published state, public URL, evidence items, references, custom attributes and skills.5 findings

    Why it is in this group

    • The name "accredible_get_credential" says "get": a word for reading.

    Findings

    • Info

      The title mentions "credential".

      Matched text

      title: "Get a credential"

      What this check looks for
    • Info

      The annotations title mentions "credential".

      Matched text

      annotations.title: "Get a credential"

      What this check looks for
    • High

      The description refers to "/v1/credentials/".

      Matched text

      description: "...he custom id your organization set. GET /v1/credentials/{id}."

      What this check looks for
    • Info

      The description mentions "credential".

      Matched text

      description: "One credential in full: recipient, group, issue and ex..."

      What this check looks for
    • Info

      The input schema at properties.id.description mentions "Credential".

      Matched text

      inputSchema.properties.id.description: "Credential id (numeric) or the custom credential i..."

      What this check looks for
    Description, as the server wrote it
    One credential in full: recipient, group, issue and expiry dates, published state, public URL, evidence items, references, custom attributes and skills. The id is the numeric credential id or the custom id your organization set. GET /v1/credentials/{id}.

    Annotations the server declares

    • title: Get a credential
    • readOnlyHint: true
  • accredible_get_credential_analyticsThe analytics events of one credential (recipient views, shares, privacy changes, verification and so on) with timestamps.5 findings

    Why it is in this group

    • The name "accredible_get_credential_analytics" says "get": a word for reading.

    Findings

    • Info

      The title mentions "credential".

      Matched text

      title: "Get a credential's analytics events"

      What this check looks for
    • Info

      The annotations title mentions "credential".

      Matched text

      annotations.title: "Get a credential's analytics events"

      What this check looks for
    • High

      The description refers to "/v1/credentials/analytics/".

      Matched text

      description: "...s. Read-only despite being a POST. POST /v1/credentials/analytics/{id}."

      What this check looks for
    • Info

      The description mentions "credential".

      Matched text

      description: "The analytics events of one credential (recipient views, shares, privacy chang..."

      What this check looks for
    • Info

      The input schema at properties.id.description mentions "Credential".

      Matched text

      inputSchema.properties.id.description: "Credential id (numeric) or the custom credential i..."

      What this check looks for
    Description, as the server wrote it
    The analytics events of one credential (recipient views, shares, privacy changes, verification and so on) with timestamps. Read-only despite being a POST. POST /v1/credentials/analytics/{id}.

    Annotations the server declares

    • title: Get a credential's analytics events
    • readOnlyHint: true
  • accredible_get_data_exportOne data export: department, status and, once completed, the download links of its files.No findings

    Why it is in this group

    • The name "accredible_get_data_export" says "get": a word for reading.
    Description, as the server wrote it
    One data export: department, status and, once completed, the download links of its files. GET /v1/data_exports/{id}.

    Annotations the server declares

    • title: Get a data export
    • readOnlyHint: true
  • accredible_get_departmentOne department: name, description, URL, branding and meta_data.No findings

    Why it is in this group

    • The name "accredible_get_department" says "get": a word for reading.
    Description, as the server wrote it
    One department: name, description, URL, branding and meta_data. GET /v1/departments/{department_id}.

    Annotations the server declares

    • title: Get a department
    • readOnlyHint: true
  • accredible_get_designOne badge or certificate design with its settings.No findings

    Why it is in this group

    • The name "accredible_get_design" says "get": a word for reading.
    Description, as the server wrote it
    One badge or certificate design with its settings. GET /v1/designs/{design_id}.

    Annotations the server declares

    • title: Get a design
    • readOnlyHint: true
  • accredible_get_groupOne group in full: name, course name and description, learning outcomes, design ids, language, skills and dates.No findings

    Why it is in this group

    • The name "accredible_get_group" says "get": a word for reading.
    Description, as the server wrote it
    One group in full: name, course name and description, learning outcomes, design ids, language, skills and dates. GET /v1/issuer/groups/{group_id}.

    Annotations the server declares

    • title: Get a group
    • readOnlyHint: true
  • accredible_get_issuerThe Accredible issuer (organization) behind the API key: id, name, e-mail, remaining credential credits (certificate_left), language and URL.1 finding

    Why it is in this group

    • The name "accredible_get_issuer" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...he API key: id, name, e-mail, remaining credential credits (certificate_left), language an..."

      What this check looks for
    Description, as the server wrote it
    The Accredible issuer (organization) behind the API key: id, name, e-mail, remaining credential credits (certificate_left), language and URL. Good first call. GET /v1/issuer/details.

    Annotations the server declares

    • title: Get the issuer (account)
    • readOnlyHint: true
  • accredible_get_team_memberOne team member of the account: name, e-mail and permissions per department.No findings

    Why it is in this group

    • The name "accredible_get_team_member" says "get": a word for reading.
    Description, as the server wrote it
    One team member of the account: name, e-mail and permissions per department. Which members are visible depends on the key (an account-wide key sees all, a department key its own department). GET /v1/team_members/{id}.

    Annotations the server declares

    • title: Get a team member
    • readOnlyHint: true
  • accredible_list_analyticsAccount-wide credential analytics events (views, shares, downloads and similar), optionally for a date range, group or department.5 findings

    Why it is in this group

    • The name "accredible_list_analytics" says "list": a word for reading.

    Findings

    • Info

      The title mentions "credential".

      Matched text

      title: "List credential analytics events"

      What this check looks for
    • Info

      The annotations title mentions "credential".

      Matched text

      annotations.title: "List credential analytics events"

      What this check looks for
    • Info

      The description mentions "credential".

      Matched text

      description: "Account-wide credential analytics events (views, shares, downlo..."

      What this check looks for
    • Info

      The input schema at properties.group_id.description mentions "credentials".

      Matched text

      inputSchema.properties.group_id.description: "Only events of credentials in this group."

      What this check looks for
    • Info

      The input schema at properties.department_id.description mentions "credentials".

      Matched text

      inputSchema.properties.department_id.description: "Only events of credentials in this department."

      What this check looks for
    Description, as the server wrote it
    Account-wide credential analytics events (views, shares, downloads and similar), optionally for a date range, group or department. Paged (default 100 per page). GET /v1/analytics.

    Annotations the server declares

    • title: List credential analytics events
    • readOnlyHint: true
  • accredible_list_data_exportsData exports of the departments the key can access: department, status (scheduled, processing, completed, errored) and download links of completed files.No findings

    Why it is in this group

    • The name "accredible_list_data_exports" says "list": a word for reading.
    Description, as the server wrote it
    Data exports of the departments the key can access: department, status (scheduled, processing, completed, errored) and download links of completed files. Exports are created in the Accredible Dashboard. GET /v1/data_exports.

    Annotations the server declares

    • title: List data exports
    • readOnlyHint: true
  • accredible_list_skill_frameworksThe skills frameworks (O*NET, ESCO, NACE or your own) enabled for a department, each with its published versions.No findings

    Why it is in this group

    • The name "accredible_list_skill_frameworks" says "list": a word for reading.
    Description, as the server wrote it
    The skills frameworks (O*NET, ESCO, NACE or your own) enabled for a department, each with its published versions. Needs a plan that includes skills frameworks (otherwise HTTP 403 plan_not_entitled). Paged, max 10 per page. GET /v1/skill_frameworks.

    Annotations the server declares

    • title: List skill frameworks
    • readOnlyHint: true
  • accredible_search_attribute_keysList the custom attribute keys (placeholders such as a grade or date that credential designs and e-mails merge in); useful to know which custom_attributes a credential can carry.1 finding

    Why it is in this group

    • The name "accredible_search_attribute_keys" says "search": a word for reading.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...aceholders such as a grade or date that credential designs and e-mails merge in); useful t..."

      What this check looks for
    Description, as the server wrote it
    List the custom attribute keys (placeholders such as a grade or date that credential designs and e-mails merge in); useful to know which custom_attributes a credential can carry. Paged: pass meta.next_page as page. POST /v1/attribute_keys/search (a read-only search).

    Annotations the server declares

    • title: Search custom attribute keys
    • readOnlyHint: true
  • accredible_search_collectionsList collections (sets of groups shown together).No findings

    Why it is in this group

    • The name "accredible_search_collections" says "search": a word for reading.
    Description, as the server wrote it
    List collections (sets of groups shown together). Filters: ids, name (substring), public. Paged: pass meta.next_page as page. POST /v1/collections/search (a read-only search).

    Annotations the server declares

    • title: Search collections
    • readOnlyHint: true
  • accredible_search_credentialsSearch issued credentials (badges and certificates) with filters that combine with AND, newest first by default.8 findings

    Why it is in this group

    • The name "accredible_search_credentials" says "search": a word for reading.

    Findings

    • Info

      The title mentions "credentials".

      Matched text

      title: "Search credentials"

      What this check looks for
    • Info

      The annotations title mentions "credentials".

      Matched text

      annotations.title: "Search credentials"

      What this check looks for
    • High

      The description refers to "/v2/credentials/search".

      Matched text

      description: "...or and offset cannot be combined). POST /v2/credentials/search (a read-only search)."

      What this check looks for
    • Info

      The description mentions "credentials".

      Matched text

      description: "Search issued credentials (badges and certificates) with filters..."

      What this check looks for
    • Info

      The input schema at properties.group_id.description mentions "credentials".

      Matched text

      inputSchema.properties.group_id.description: "Only credentials of this group (accredible_search_groups..."

      What this check looks for
    • Info

      The input schema at properties.license_id.description mentions "credential".

      Matched text

      inputSchema.properties.license_id.description: "The custom credential id your organization set when issuing."

      What this check looks for
    • Info

      The input schema at properties.uuid.description mentions "Credential".

      Matched text

      inputSchema.properties.uuid.description: "Credential UUID."

      What this check looks for
    • Info

      The input schema at properties.published.description mentions "credentials".

      Matched text

      inputSchema.properties.published.description: "true = only published credentials, false = only unpublished drafts; omit..."

      What this check looks for
    Description, as the server wrote it
    Search issued credentials (badges and certificates) with filters that combine with AND, newest first by default. Returns id, uuid, encoded_id, recipient name/e-mail, group, issued_on, expired_on, published state (approve), whether the recipient opened or engaged, and meta. Paging: size + offset (first 10 000 results) OR cursor: when the reply has next_cursor pass it as cursor for the next page (cursor and offset cannot be combined). POST /v2/credentials/search (a read-only search).

    Annotations the server declares

    • title: Search credentials
    • readOnlyHint: true
  • accredible_search_departmentsList departments (independent organization units with their own designs, groups and branding).No findings

    Why it is in this group

    • The name "accredible_search_departments" says "search": a word for reading.
    Description, as the server wrote it
    List departments (independent organization units with their own designs, groups and branding). An account-wide key sees all, a department key only its own. Paged: pass meta.next_page as page. POST /v1/departments/search (a read-only search).

    Annotations the server declares

    • title: Search departments
    • readOnlyHint: true
  • accredible_search_designsList badge and certificate designs, optionally by kind or meta_data.No findings

    Why it is in this group

    • The name "accredible_search_designs" says "search": a word for reading.
    Description, as the server wrote it
    List badge and certificate designs, optionally by kind or meta_data. POST /v1/designs/search (a read-only search).

    Annotations the server declares

    • title: Search designs
    • readOnlyHint: true
  • accredible_search_groupsSearch groups (an achievement such as a course or qualification that credentials belong to).1 finding

    Why it is in this group

    • The name "accredible_search_groups" says "search": a word for reading.

    Findings

    • Info

      The description mentions "credentials".

      Matched text

      description: "...such as a course or qualification that credentials belong to). Filters combine with AND; n..."

      What this check looks for
    Description, as the server wrote it
    Search groups (an achievement such as a course or qualification that credentials belong to). Filters combine with AND; name and course_name match partially. Returns id, name, course name and description, design ids, language and dates. Paged: pass meta.next_page as page. POST /v1/issuer/groups/search (a read-only search).

    Annotations the server declares

    • title: Search groups
    • readOnlyHint: true
  • accredible_search_skillsSearch the skills of one published skills-framework version by name or the publisher's identifier (partial, case-insensitive, at least 2 characters).No findings

    Why it is in this group

    • The name "accredible_search_skills" says "search": a word for reading.
    Description, as the server wrote it
    Search the skills of one published skills-framework version by name or the publisher's identifier (partial, case-insensitive, at least 2 characters). Paged, max 50 per page. GET /v1/skill_frameworks/{id}/versions/{version_id}/skills.

    Annotations the server declares

    • title: Search skills in a framework version
    • 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.3.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http accredible https://accredible.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__accredible__accredible_get_issuer",
      "mcp__accredible__accredible_search_credentials",
      "mcp__accredible__accredible_get_credential",
      "mcp__accredible__accredible_get_credential_analytics",
      "mcp__accredible__accredible_list_analytics",
      "mcp__accredible__accredible_search_groups",
      "mcp__accredible__accredible_get_group",
      "mcp__accredible__accredible_search_designs",
      "mcp__accredible__accredible_get_design",
      "mcp__accredible__accredible_search_departments",
      "mcp__accredible__accredible_get_department",
      "mcp__accredible__accredible_search_collections",
      "mcp__accredible__accredible_search_attribute_keys",
      "mcp__accredible__accredible_list_skill_frameworks",
      "mcp__accredible__accredible_search_skills",
      "mcp__accredible__accredible_list_data_exports",
      "mcp__accredible__accredible_get_data_export",
      "mcp__accredible__accredible_get_team_member"
    ],
    "ask": [],
    "deny": [
      "mcp__accredible__accredible_issue_credential"
    ]
  }
}

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 accredible. Review it before you use it.