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

Code Verified⚡ Live Monitored: not connected

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

Is this your MCP?

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.

// key findings
⚠️
Known vulnerabilities in dependencies: 7 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 2 credentials: APPLE_ID_PASSWORD, ANY2PRO_SECRET
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes67 tools · 1 behind config

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_tool
dynamic_tool_172
dynamic_tool_131
request_file_access

Request access to a file or directory on the host machine.

list_file_access

List all file access permissions currently granted to you.

get_phase

Get the current pipeline phase, capability limits, and previous outputs.

advance_phase

Advance to the next phase in the active skill's phase list.

finalize_brainstorm

Finalize brainstorming — this IS the Q4 skeleton confirmation.

finalize_project_info

Finalize the project_info phase.

finalize_blueprint

Finalize the blueprint phase.

finalize_generation

Finalize starter-file generation.

milestone_ready

Signal that the current milestone's micro-tasks and role prompts are done.

complete_project_design

Request to finalize the project design and end the planning session.

sandbox_write_file

Write a file inside the sandbox.

sandbox_read_file

Read a file from inside the sandbox.

choose_user

Ask the user to choose between 2-5 real branch options.

ask_user

Legacy name for `choose_user`; prefer `choose_user` in planner prompts.

confirm_user

Legacy one-action confirmation tool; do not use in new planner prompts.

notify_user

Send a status notification to the user.

read_workspace_file

Read a text file from the shared workspace.

list_workspace_dir

List files and subdirectories in the shared workspace.

begin_standard_micro_task

Record that the active micro-task should open with normal Instructor framing.

begin_scene_simulation

Start a bounded live scene with a scene actor for the active micro-task.

delegate_microtask_chore_to_collaborator

Delegate a concrete support chore to a collaborator for this micro-task.

read_scene_actor_conversation

Read a recent transcript with a scene actor.

advance_micro_task

Mark 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_stage

Mark the current stage as awaiting learner confirmation.

get_stage_progress

Return a snapshot of progress on the current stage.

proactive_nudge

Send a proactive nudge to the learner.

read_terminal_history

Read recent command invocations from the learner's workspace terminal.

use_skill

Activate 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_document

Get a document by its ID. Returns full content.

list_documents

List documents for the current project (metadata only, no content).

delete_document

Delete a document by its ID. It will be removed from the user's left panel.

get_instructor

Get the full Instructor config for the current project.

set_persona

Set or replace the Instructor persona.

set_project_knowledge

Set or replace the Instructor's project knowledge package.

reset_instructor

Wipe 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_milestones

List 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_microtasks

List micro-tasks, optionally filtered to a specific milestone.

get_issue

Get details of a specific milestone or micro-task by ID.

update_issue

Update a milestone or micro-task (all fields optional).

update_issue_detailed_description

Update the detailed (agent-only) description of a milestone or micro-task.

update_issue_status

Update the execution status of a milestone or micro-task.

delete_issue

Delete a milestone or micro-task. Deleting a milestone also deletes all its child micro-tasks.

clear_all_issues

Delete all milestones and micro-tasks, resetting the issueboard to empty.

reorder_issues

Reorder milestones or micro-tasks by providing IDs in desired order.

set_issue_role_prompt

Define a per-(role, issue) behavioral prompt.

remove_issue_role_prompt

Remove a single (role, issue) behavioral prompt entry.

list_issue_role_prompts

List every (role, prompt) pair authored for this issue.

get_project_info

Get the current project title and description.

update_title

Update the project title.

update_description

Update the project description.

set_project_tags

Set the project's tag labels.

has_unread_update

Check if the project has been updated since this agent last read it.

create_project

Create 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_actor

Create a **scene_actor** role for communication-practice scenes.

create_simulator

Legacy alias for create_scene_actor.

list_roles

List all roles for the current project.

update_role

Update a role (all fields optional).

delete_role

Delete a role.

generate_cover

Generate a project cover image.

_prompt_toolbehind config

Invoke an MCP prompt template.

// known CVEs in dependencies7 high2 medium13 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

highmarked@18.0.0GHSA-6v9c-7cg6-27q7

Marked Vulnerable to OOM Denial of Service via Infinite Recursion in marked Tokenizer

highelectron@41.1.0GHSA-9f4c-93c8-jc8g

Electron: Sandboxed iframe can bypass the allow-popups restriction via the OpenURL navigation path

highelectron@41.1.0GHSA-h7rp-cf8h-j98x

Electron: Context isolation bypass via Function.prototype.bind hijack

highelectron@41.1.0GHSA-v3j7-r9gq-3gjw

Electron: Custom protocol with supportFetchAPI but not corsEnabled allows cross-origin reads

highvite@8.0.3GHSA-fx2h-pf6j-xcff

vite: `server.fs.deny` bypass on Windows alternate paths

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configAPPLE_ID
🔐 secretAPPLE_ID_PASSWORD
configAPPLE_TEAM_ID
configSHELL
configno_proxy
configNO_PROXY
configPLAYWRIGHT_BROWSERS_PATH
configOPENMAIC_MODEL_CONFIG_PATH
configOFFICIAL_ENDPOINT_BASE_URL
configSUDO_USER
configLOGNAME
configOPENMAIC_INSTALL_DOWNLOAD_BASE_URL
configOPENMAIC_SANDBOX_DOWNLOAD_BASE_URL
configProgramFiles
configOPENMAIC_ICON_PATH
🔐 secretANY2PRO_SECRET
// quality suggestions

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

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/thu-maic/openmaic-project?variant=verified)](https://m8ven.ai/mcp/thu-maic/openmaic-project)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: 8c9ee27f68bac2cd3f23fe5f6882d1ea00139142
code hash: 27e03ed794dce2a1ad3de74d04d4a7a8e90570f5997f89e57e535d4c4ed60b01
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

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
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client