@qingflow-tech/qingflow-app-user-mcp
npm
v1.1.43
Published by @qingflow-tech — no publish provenance and no public repository, so the publisher could not be verified and the source cannot be independently located.
Operational end-user MCP for Qingflow records, tasks, comments, and directory workflows.
The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.
1. Threat score — 100 − 1.2 = 99. What the published surface and source actually contain:
| Points | What was found | Category |
|---|---|---|
| −1.2 | Package runs install-time scripts MTC-SUP-010 | supply-chain |
2. Client adoption risk — 99 − 8 = 91. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:
| Points | Adoption-risk factor |
|---|---|
| −6 | capability blast radius (high) — client exposure if the model is manipulated |
| −2 | publisher verification (unlinked) — no provenance/repo link, but the shipped source was fully read |
Capability observations and info notes are shown under Findings but never scored.
Open any row's finding below for the file, line and evidence behind a deduction.
In the server's implementation (`npm/lib/runtime.mjs:3`): Spawning a shell/process is command-execution capability; with unsanitized tool input it is command injection / RCE. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.
Evidence: spawnSync } from "node:child_process"; import { fileURLToPath } from "node:url"; const WINDOWS = process.platform ===
Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.
Location: server npm/lib/runtime.mjs
"@qingflow-tech/qingflow-app-user-mcp" executes postinstall script(s) at install time. An install hook runs at install time; most are routine build/setup, but review what it does before trusting it.
Evidence: node ./npm/scripts/postinstall.mjs
Fix: Review the scripts; install with --ignore-scripts where possible and vet what they do.
Location: package @qingflow-tech/qingflow-app-user-mcp
Each tool and what it can reach — statically extracted from the published source.
record_export_directingests untrusted inputapp_associated_resources_applyno sensitive capabilityapp_charts_applyno sensitive capabilityapp_createno sensitive capabilityapp_custom_buttons_applyno sensitive capabilityapp_edit_finishedno sensitive capabilityapp_flow_applyno sensitive capabilityapp_flow_getno sensitive capabilityapp_flow_get_schemano sensitive capabilityapp_getno sensitive capabilityapp_get_associated_resourcesno sensitive capabilityapp_get_baseno sensitive capabilityapp_get_buttonsno sensitive capabilityapp_get_chartsno sensitive capabilityapp_get_edit_version_nono sensitive capabilityapp_get_fieldsno sensitive capabilityapp_get_flowno sensitive capabilityapp_get_form_schemano sensitive capabilityapp_get_layoutno sensitive capabilityapp_get_viewsno sensitive capabilityapp_layout_applyno sensitive capabilityapp_listno sensitive capabilityapp_publishno sensitive capabilityapp_publish_verifyno sensitive capabilityapp_release_edit_lock_if_mineno sensitive capabilityapp_repair_code_blocksno sensitive capabilityapp_resolveno sensitive capabilityapp_schema_applyno sensitive capabilityapp_views_applyno sensitive capabilityauth_logoutno sensitive capabilityauth_use_credentialno sensitive capabilityauth_whoamino sensitive capabilitybuilder_tool_contractno sensitive capabilitybutton_style_catalog_getno sensitive capabilitychart_getno sensitive capabilitydirectory_list_all_departmentsno sensitive capabilitydirectory_list_all_internal_usersno sensitive capabilitydirectory_list_external_membersno sensitive capabilitydirectory_list_internal_departmentsno sensitive capabilitydirectory_list_internal_usersno sensitive capabilitydirectory_list_sub_departmentsno sensitive capabilitydirectory_searchno sensitive capabilityfeedback_submitno sensitive capabilityfile_get_upload_infono sensitive capabilityfile_upload_localno sensitive capabilitymember_searchno sensitive capabilitynavigation_createno sensitive capabilitynavigation_get_detailno sensitive capabilitynavigation_get_statusno sensitive capabilitynavigation_list_draft_allno sensitive capabilitynavigation_list_draft_pageno sensitive capabilitynavigation_list_publishedno sensitive capabilitynavigation_publishno sensitive capabilitynavigation_reorderno sensitive capabilitynavigation_set_visibleno sensitive capabilitypackage_applyno sensitive capabilitypackage_createno sensitive capabilitypackage_getno sensitive capabilitypackage_get_baseno sensitive capabilitypackage_listno sensitive capabilityportal_applyno sensitive capabilityportal_createno sensitive capabilityportal_deleteno sensitive capabilityportal_getno sensitive capabilityportal_get_base_infono sensitive capabilityportal_listno sensitive capabilityportal_publishno sensitive capabilityqingbi_report_get_baseno sensitive capabilityqingbi_report_get_configno sensitive capabilityqingbi_report_get_datano sensitive capabilityqingbi_report_listno sensitive capabilityqingbi_report_list_field_optionsno sensitive capabilityqingbi_report_list_fieldsno sensitive capabilityqingbi_report_reorderno sensitive capabilityrecord_code_block_schema_getno sensitive capabilityrecord_comment_listno sensitive capabilityrecord_comment_mark_readno sensitive capabilityrecord_comment_mentionsno sensitive capabilityrecord_comment_writeno sensitive capabilityrecord_export_getno sensitive capabilityrecord_export_startno sensitive capabilityrecord_export_status_getno sensitive capabilityrecord_import_repair_localno sensitive capabilityrecord_import_schema_getno sensitive capabilityrecord_import_startno sensitive capabilityrecord_import_status_getno sensitive capabilityrecord_import_template_getno sensitive capabilityrecord_import_verifyno sensitive capabilityrole_createno sensitive capabilityrole_searchno sensitive capabilitysolution_build_allno sensitive capabilitysolution_build_analytics_portalno sensitive capabilitysolution_build_appno sensitive capabilitysolution_build_app_flowno sensitive capabilitysolution_build_app_from_requirementsno sensitive capabilitysolution_build_flowno sensitive capabilitysolution_build_navigationno sensitive capabilitysolution_build_statusno sensitive capabilitysolution_build_viewsno sensitive capabilitysolution_design_sessionno sensitive capabilitysolution_installno sensitive capabilitysolution_schema_exampleno sensitive capabilitytask_facetsno sensitive capabilitytask_listno sensitive capabilitytask_mark_all_cc_readno sensitive capabilitytask_mark_readno sensitive capabilitytask_rollbackno sensitive capabilitytask_rollback_candidatesno sensitive capabilitytask_summaryno sensitive capabilitytask_transferno sensitive capabilitytask_transfer_candidatesno sensitive capabilitytask_urgeno sensitive capabilityview_board_get_lane_base_infono sensitive capabilityview_getno sensitive capabilityview_get_base_infono sensitive capabilityview_get_configno sensitive capabilityview_get_future_nodesno sensitive capabilityview_get_workflow_statusno sensitive capabilityview_listno sensitive capabilityview_list_associationsno sensitive capabilityview_list_flatno sensitive capabilityview_list_questionsno sensitive capabilityworkflow_get_future_nodesno sensitive capabilityworkflow_get_future_nodes_appno sensitive capabilityworkspace_getno sensitive capabilityworkspace_icon_catalog_getno sensitive capabilityworkspace_listno sensitive capabilityworkspace_selectno sensitive capabilityworkspace_set_plugin_statusno sensitive capabilityScan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.
| Version | Score | Findings | Engine | Scanned |
|---|---|---|---|---|
v1.1.43 latest |
A 91/100 | 2 | 1.13.0 | 2026-09-07 |
v1.1.42 |
A 91/100 | 2 | 1.12.1 | 2026-08-10 |
v1.1.41 |
A 91/100 | 2 | 1.12.1 | 2026-07-31 |
Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.
The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.
npx mcptrustchecker scan @qingflow-tech/qingflow-app-user-mcp --online
Independent packages implementing the same tool, scanned with the same engine. Compare all 2 side by side →
Authenticated MCP transport with HTTP Signatures for AAuth agents
Local-first MCP server for parallel AI coding agents to claim file ownership before edits, preventing stomping on each other in the same worktree.
Agent-agnostic intercommunication system — sessions, messaging, channels, shared state, and real-time events
MCP server for AI agent task communication and delegation with diagnostic lifecycle visibility
Programmatic add/link/unlink for MCP servers across 23 AI coding agents (Claude Code, Claude Desktop, Cursor, VS Code, Codex, Gemini CLI, Zed, Cline, OpenCode, Goose, Kiro, Windsurf, and more). Functional API with dry-run support.
MCP server layer exposing agent-mesh orchestrator as an MCP agent