MCP server · trust report
app.2ools/mcp
1 check that ran failed — version behavior — so this release can’t be trusted as-is.
- Publisher
- app.2ools
- Repository
- github.com/2ools/mcp-server
- Install
- remote only
- Versions
- 2
- MCP revision
- 2025-11-25 · superseded
- Inspected
- 6 of 6 checks · 100%
- Scored
- 2026-09-08 · rubric 1.0.0
What we checked
Six static checks, weighted by risk. Every result reflects only what could be observed in the published package and repository — never intent.
Injection surface
pass25% of gradeTool descriptions/manifest scanned for instruction-injection patterns (imperatives at the model, hidden text, 'ignore previous', data-exfil URLs).
Scanned 646 text field(s); no instruction-injection patterns found. PASS = no static red flag. A server can serve different tool descriptions at runtime (the rug-pull class), which static scanning cannot see.
Supply chain
pass25% of gradePackage provenance: namespace verification, repo linkage, maintainer count, account age, postinstall scripts, typosquat distance.
repository linkage verified
Credential hygiene
pass15% of gradeHow the server takes secrets (env vs plaintext config vs hardcoded); secrets appearing in tool schemas.
No hardcoded secrets, secret-shaped tool parameters, or leaked keys found. PASS = no static red flag; static analysis cannot prove the code honors env-based secret handling at runtime.
Permission scope
pass15% of gradeDeclared tools vs. breadth (filesystem, network, exec); flags shell-exec and unbounded filesystem access.
No shell-exec, unbounded/sensitive filesystem, or download-and-run primitives found in scanned source. PASS = no static red flag. Static scanning is blind to code fetched or executed at runtime.
Version behavior
fail10% of gradeDiff of tool definitions between versions; new permissions or changed descriptions in a patch release (the postmark-mcp class).
vs prior 0.3.0 (patch bump): tool "list_build_systems" description changed (wording only, no injection pattern); tool "build_from_conversation" gained input property(ies): create_separate_project, creative_system_id, operating_rules_id; tool "cancel_build" description changed (wording only, no injection pattern); tool "cancel_build" gained input property(ies): reason, confirm; tool "list_projects" description changed (wording only, no injection pattern); tool "get_project_context" description changed (wording only, no injection pattern); tool "get_project_context" gained input property(ies): include_project_input_files; tool "cancel_agent_run" gained input property(ies): confirm; tool "create_work_assignment" gained input property(ies): dependency_ids, required_evidence_kinds, continuation_mode, goal_id, max_tokens, output_surfaces, quality_gate_policy; tool "heartbeat_work_session" gained input property(ies): checkpoint, effect_state, input_tokens, cached_input_tokens, output_tokens, model_calls, remaining_context_tokens, context_signal_kind, context_signal_label, request_handoff, handoff_reason, handoff_idempotency_key; tool "submit_work_session" gained input property(ies): input_tokens, cached_input_tokens, output_tokens, model_calls; new tool "list_connected_engines" appeared; new tool "get_project_engine_workspace" touches a sensitive surface (email/exec/net/fs); new tool "attach_project_engine_workspace" touches a sensitive surface (email/exec/net/fs); new tool "register_existing_project" touches a sensitive surface (email/exec/net/fs); new tool "start_project_on_engine" appeared; new tool "get_engine_dispatch" touches a sensitive surface (email/exec/net/fs); new tool "get_account_profile" touches a sensitive surface (email/exec/net/fs); new tool "update_account_profile" touches a sensitive surface (email/exec/net/fs); new tool "get_project_access" touches a sensitive surface (email/exec/net/fs); new tool "invite_project_member" touches a sensitive surface (email/exec/net/fs); new tool "update_project_member_role" appeared; new tool "remove_project_member" appeared; new tool "revoke_project_invite" appeared; new tool "continue_project" appeared; new tool "refresh_project_cockpit" touches a sensitive surface (email/exec/net/fs); new tool "activate_project" touches a sensitive surface (email/exec/net/fs); new tool "get_project_mission" appeared; new tool "get_project_intelligence" appeared; new tool "update_project_intelligence" appeared; new tool "get_project_discipline" appeared; new tool "list_project_engineering_decisions" appeared; new tool "answer_project_engineering_decision" appeared; new tool "manage_project_discipline" appeared; new tool "update_project_mission" appeared; new tool "review_project_mission" appeared; new tool "manage_work_watchdog" appeared; new tool "act_on_project_os_task" appeared; new tool "update_living_plan" appeared; new tool "get_project_agent_mode" touches a sensitive surface (email/exec/net/fs); new tool "configure_project_agent_mode" appeared; new tool "advance_project_agent_mode" appeared; new tool "dispatch_project_work" appeared; new tool "get_project_work_dispatch" touches a sensitive surface (email/exec/net/fs); new tool "get_task_quality_gate" appeared; new tool "run_task_quality_gate" touches a sensitive surface (email/exec/net/fs); new tool "get_work_handoff" appeared; new tool "prepare_work_handoff" appeared; new tool "checkpoint_work_session" appeared.
Transport config
pass10% of gradeRemote servers: TLS and auth mode (none/token/OAuth). Local servers: whether the manifest indicates it phones home.
remote endpoint "https://2ools.app/mcp" uses TLS (https); remote endpoint uses OAuth (strongest auth mode)
Version history
Each release plotted by grade against the safe line at B. A version that sinks below the line has lost its trusted standing — the shape of a rug-pull.
| Version | Published | Grade | Score | Inspected | Change |
|---|---|---|---|---|---|
| v0.3.1 · current | 2026-08-07 | A | 90 | 6/6 · 100% | B→A in v0.3.1 |
| v0.3.0 | 2026-07-27 | B | 100 | 4/6 · 75% | — |