LeashIndex Get the report

Index / calendar

PLATO MCP

io-github-jin-1119-plato-mcp declares 67 capabilities across 67 tools, with 2 critical issues. One of them, no-revocation, is recorded for every server in the index because MCP has no field in which to declare a way to switch a tool off; a missing declaration is not evidence that the control is missing.

96/100 exposureHigh exposure

Manifest recorded 2026-10-28 from tools/list on https://plato-mcp.onrender.com/mcp, published in the official MCP registry as io.github.jin-1119/plato-mcp 0.1.0. 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 67 tools

67 of 67 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 · destructive-uncapped · 11 of 67 tools

11 tools are annotated by the server as destructive (destructiveHint) and declare no limit. In MCP that annotation marks a tool that may make destructive changes rather than only additive ones; it does not say the change cannot be undone.

high · no-expiry · All 67 tools

67 of 67 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 67 tools

67 of 67 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 · 56 of 67 tools

56 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
list_coursesread declared
get_course_contentsread declared
list_assignmentsread declared
get_assignment_detailread declared
submit_assignmentdestructive declared
remove_submissiondestructive declared
get_gradesread declared
get_grades_access_inforead declared
list_calendar_eventsread declared
get_calendar_access_inforead declared
create_calendar_eventdestructive declared
delete_calendar_eventdestructive declared
get_unread_messagesread declared
get_unread_notification_countread declared
list_noticesread declared
get_notice_detailread declared
list_qnaread declared
get_qna_detailread declared
post_qna_questiondestructive declared
download_course_fileread declared
get_course_completion_statusread declared
get_activity_completion_statusread declared
get_upcoming_action_eventsread declared
get_courses_by_timelineread declared
get_grades_overviewread declared
list_quizzesread declared
get_quiz_attemptsread declared
get_quiz_best_graderead declared
get_quiz_access_informationread declared
get_quiz_required_qtypesread declared
get_quiz_feedback_for_graderead declared
get_quiz_combined_review_optionsread declared
start_quiz_attemptdestructive declared
get_quiz_attempt_dataread declared
get_quiz_attempt_summaryread declared
get_quiz_attempt_reviewread declared
save_quiz_attempt_responsesdestructive declared
process_quiz_attemptdestructive declared
list_forumsread declared
get_forum_discussionsread declared
get_discussion_postsread declared
add_discussiondestructive declared
add_discussion_postdestructive declared
get_course_updates_sinceread declared
get_course_moduleread declared
search_coursesread declared
get_recent_coursesread declared
get_recent_itemsread declared
get_starred_coursesread declared
list_video_conferencesread declared
list_lessonsread declared
list_workshopsread declared
list_feedbacksread declared
list_choicesread declared
list_surveysread declared
list_scormsread declared
list_h5p_activitiesread declared
list_glossariesread declared
list_database_activitiesread declared
list_wikisread declared
list_chatsread declared
get_user_profileread declared
get_private_files_inforead declared
get_user_preferencesread declared
add_private_filedestructive declared
get_my_course_groupsread declared
get_enrolled_usersread 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.