LeashIndex Get the report

Index / payments

LearnWorlds MCP by usefulapi

io-usefulapi-learnworlds declares 20 capabilities across 20 tools, with 3 critical issues.

81/100 exposureHigh exposure

Manifest recorded 2026-10-11 from tools/list on https://learnworlds.usefulapi.io/mcp, published in the official MCP registry as io.usefulapi/learnworlds 1.16.3. The date changes only when the manifest does. Not verified by a maintainer.

Issues

These describe what this server's manifest declares. A product can provide controls that MCP has no way to express — token revocation, an admin console, audit logs — and this page cannot see them. The absence of a declaration is not evidence that a control is absent.

critical · no-revocation · All 20 tools

20 of 20 tools declare no way for the customer to switch them off once granted. This applies to every tool because MCP has no field in which to declare a revocation mechanism; the product may provide one outside MCP that a manifest cannot show.

critical · irreversible-uncapped · 7 of 20 tools

7 tools are classified as irreversible and declare no limit.

critical · uncapped-spend · 2 of 20 tools

2 tools are classified as moving money and declare no dollar limit. A cap on the number of payments does not bound their amount.

high · no-expiry · All 20 tools

20 of 20 tools declare no expiry. This applies to every tool because MCP has no field in which to declare an expiry; the product may provide one outside MCP that a manifest cannot show.

high · no-audit-trail · All 20 tools

20 of 20 tools declare no record of their actions that the customer can read. This applies to every tool because MCP has no field in which to declare an audit requirement; the product may provide one outside MCP that a manifest cannot show.

low · uncapped-read · 13 of 20 tools

13 tools can read data and declare no limit.

Declared capabilities

How each tool was read. declared means the server's own annotation said so — self-reported and unverified. inferred is from the tool's name. assumed means nothing indicated either way.

ToolRead asBasis
learnworlds_list_coursesread declared
learnworlds_get_courseread declared
learnworlds_get_course_contentsread declared
learnworlds_get_course_analyticsread declared
learnworlds_list_course_usersread declared
learnworlds_get_course_gradesread declared
learnworlds_list_usersread declared
learnworlds_get_userread declared
learnworlds_list_user_coursesread declared
learnworlds_get_user_course_progressread declared
learnworlds_list_paymentspay inferred
learnworlds_get_paymentpay inferred
learnworlds_list_certificatesread declared
learnworlds_list_user_groupsread declared
learnworlds_list_event_logsread declared
learnworlds_create_userdestructive declared
learnworlds_update_userdestructive declared
learnworlds_update_user_tagsdestructive declared
learnworlds_enroll_userdestructive declared
learnworlds_add_user_to_groupdestructive declared
Answering this question about your own agent? The self-serve stack report applies the same reading to your own stack or server and gives you a dated document you can hand to a customer's security review. It is generated in your browser, with nobody to wait for. Buying one does not change this page, its score or its place in the index — see Independence.
Maintain this server? If this page misreads your manifest, or your server has changed, submit its current tools/list response and it will be re-scored and dated. Corrections are published alongside the original, not in place of it.