OpenMAIC-Project (THU-MAIC/OpenMAIC-Project) is an MCP server listed on the M8ven Trust Index. It scores 69 out of 100, grade C. It declares 70 tools. No publisher has claimed this listing.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
THU-MAIC
Source: github_code
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
handle_call_tooldynamic_tool_172dynamic_tool_131request_file_accessRequest access to a file or directory on the host machine.
list_file_accessList all file access permissions currently granted to you.
get_phaseGet the current pipeline phase, capability limits, and previous outputs.
advance_phaseAdvance to the next phase in the active skill's phase list.
finalize_brainstormFinalize brainstorming — this IS the Q4 skeleton confirmation.
finalize_project_infoFinalize the project_info phase.
finalize_blueprintFinalize the blueprint phase.
finalize_generationFinalize starter-file generation.
milestone_readySignal that the current milestone's micro-tasks and role prompts are done.
complete_project_designRequest to finalize the project design and end the planning session.
sandbox_write_fileWrite a file inside the sandbox.
sandbox_read_fileRead a file from inside the sandbox.
choose_userAsk the user to choose between 2-5 real branch options.
ask_userLegacy name for `choose_user`; prefer `choose_user` in planner prompts.
confirm_userLegacy one-action confirmation tool; do not use in new planner prompts.
notify_userSend a status notification to the user.
read_workspace_fileRead a text file from the shared workspace.
list_workspace_dirList files and subdirectories in the shared workspace.
begin_standard_micro_taskRecord that the active micro-task should open with normal Instructor framing.
begin_scene_simulationStart a bounded live scene with a scene actor for the active micro-task.
delegate_microtask_chore_to_collaboratorDelegate a concrete support chore to a collaborator for this micro-task.
read_scene_actor_conversationRead a recent transcript with a scene actor.
advance_micro_taskMark the active micro-task on the current stage as done and move to the next one. Do NOT call this speculatively — only when you have concrete evidence (the learner's answer, a file they wrote, a code change) that the task is complete.
complete_stageMark the current stage as awaiting learner confirmation.
get_stage_progressReturn a snapshot of progress on the current stage.
proactive_nudgeSend a proactive nudge to the learner.
read_terminal_historyRead recent command invocations from the learner's workspace terminal.
use_skillActivate a skill to guide your behaviour for the current task.
publish_document**Fetch the relevant skill first.** Before calling this tool, activate the appropriate project-generation skill via ``use_skill("generate-project")`` (from-scratch projects) or ``use_skill("generate-project-github")`` (GitHub input). The active skill loads the full tool-guidance contract for this to…
get_documentGet a document by its ID. Returns full content.
list_documentsList documents for the current project (metadata only, no content).
delete_documentDelete a document by its ID. It will be removed from the user's left panel.
get_instructorGet the full Instructor config for the current project.
set_personaSet or replace the Instructor persona.
set_project_knowledgeSet or replace the Instructor's project knowledge package.
reset_instructorWipe the Instructor config for the current project back to empty.
create_milestone**Fetch the relevant skill first.** Before calling this tool, activate the appropriate project-generation skill via ``use_skill("generate-project")`` (from-scratch projects) or ``use_skill("generate-project-github")`` (GitHub input). The active skill loads the full tool-guidance contract for this to…
list_milestonesList all milestones (root-level records) for the project, sorted by index.
create_microtask**Fetch the relevant skill first.** Before calling this tool, activate the appropriate project-generation skill via ``use_skill("generate-project")`` (from-scratch projects) or ``use_skill("generate-project-github")`` (GitHub input). The active skill loads the full tool-guidance contract for this to…
list_microtasksList micro-tasks, optionally filtered to a specific milestone.
get_issueGet details of a specific milestone or micro-task by ID.
update_issueUpdate a milestone or micro-task (all fields optional).
update_issue_detailed_descriptionUpdate the detailed (agent-only) description of a milestone or micro-task.
update_issue_statusUpdate the execution status of a milestone or micro-task.
delete_issueDelete a milestone or micro-task. Deleting a milestone also deletes all its child micro-tasks.
clear_all_issuesDelete all milestones and micro-tasks, resetting the issueboard to empty.
reorder_issuesReorder milestones or micro-tasks by providing IDs in desired order.
set_issue_role_promptDefine a per-(role, issue) behavioral prompt.
remove_issue_role_promptRemove a single (role, issue) behavioral prompt entry.
list_issue_role_promptsList every (role, prompt) pair authored for this issue.
get_project_infoGet the current project title and description.
update_titleUpdate the project title.
update_descriptionUpdate the project description.
set_project_tagsSet the project's tag labels.
has_unread_updateCheck if the project has been updated since this agent last read it.
create_projectCreate or reset the project record with a title and description.
create_role**Fetch the relevant skill first.** Before calling this tool, activate the appropriate project-generation skill via ``use_skill("generate-project")`` (from-scratch projects) or ``use_skill("generate-project-github")`` (GitHub input). The active skill loads the full tool-guidance contract for this to…
create_scene_actorCreate a **scene_actor** role for communication-practice scenes.
create_simulatorLegacy alias for create_scene_actor.
list_rolesList all roles for the current project.
update_roleUpdate a role (all fields optional).
delete_roleDelete a role.
generate_coverGenerate a project cover image.
_prompt_toolbehind configInvoke an MCP prompt template.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
Marked Vulnerable to OOM Denial of Service via Infinite Recursion in marked Tokenizer
Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path
Electron: Context isolation bypass via Function.prototype.bind hijack
Electron: Custom protocol with supportFetchAPI but not corsEnabled allows cross-origin reads
vite: `server.fs.deny` bypass on Windows alternate paths
APPLE_IDAPPLE_ID_PASSWORDAPPLE_TEAM_IDSHELLno_proxyNO_PROXYPLAYWRIGHT_BROWSERS_PATHOPENMAIC_MODEL_CONFIG_PATHOFFICIAL_ENDPOINT_BASE_URLSUDO_USERLOGNAMEOPENMAIC_INSTALL_DOWNLOAD_BASE_URLOPENMAIC_SANDBOX_DOWNLOAD_BASE_URLProgramFilesOPENMAIC_ICON_PATHANY2PRO_SECRETTool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
71/71 tools missing one or more hints — handle_call_tool (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); dynamic_tool_172 (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); handle_call_tool (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +68 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Destructive tools are labelled
1 tool perform destructive updates without destructiveHint — delete_document deletes at line 349 (path.unlink(missing_ok=True))
Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.
Tool test coverage
53/71 tools referenced in tests (75%)
Write tests that reference each tool by name so every tool has at least one test.
Shell command execution
4 calls in production code run through a shell (src/main/endpoint-manager.ts:525, src/main/endpoint-manager.ts:546, src/main/endpoint-manager.ts:558)
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Production dependencies are patched
0 critical, 1 high severity in production deps — marked@18.0.0 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dev dependencies
6 critical/high in dev-only deps (does not ship to users)
Upgrade dev dependencies when convenient.
Dependency freshness
1/11 production deps stale: use-fit-text@2022-05-22 (4.3y)
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/thu-maic/openmaic-project)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check