@minicor/mcp-server
npm
v4.17.0
Published by @minicor — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.
Desktop and browser RPA automation, workflow management, and AI-powered debugging for the Minicor platform. Formerly Laminar.
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 − 0 = 100. What the published surface and source actually contain:
The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.
2. Client adoption risk — 100 − 11 = 89. 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 |
|---|---|
| −10 | capability blast radius (critical) — client exposure if the model is manipulated |
| −1 | publisher verification (public source) — no provenance, but the source is public and inspectable |
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.
This server (without client built-ins) exposes a complete data-exfiltration chain: pull_workflow → tfa_list_secrets → create_flow. Untrusted input is ingested, private data is read, and it can be sent to an external sink via the agent composing the tools (→). Static analysis proves the primitive exists, not that a specific run will occur.
Fix: Remove one leg of the trifecta: isolate untrusted-input tools from secret-reading tools and from egress tools, or require human approval between them.
Location: flow pull_workflow → tfa_list_secrets → create_flow
Tool "spawn_agent" appears to run shell commands or evaluate code (keyword "spawn" in tool name). Arbitrary execution driven by model input is one of the most dangerous MCP capabilities; combined with any untrusted input it becomes RCE.
Fix: Sandbox execution, allowlist commands/arguments, and never pass model output to a shell unescaped.
Location: tool spawn_agent
In the server's implementation (`dist/recording-frames.js:21`): 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: rt { spawn } from "node:child_process"; import { createHash } from "node:crypto"; import { mkdtemp, mkdir, open, readFil
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 dist/recording-frames.js
In the server's implementation (`dist/tools/vm-rpa.js:250`): 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: gify(appName)} result = subprocess.run(["taskkill", "/IM", app_name, "/F"], capture_output=True, text=True) print(json.d
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 dist/tools/vm-rpa.js
In the server's implementation (`dist/tools/vm.js:718`): 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: subprocess result = subprocess.run(["powershell", "-command", "Get-Clipboard"], capture_output=True, text=True)
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 dist/tools/vm.js
In the server's implementation (`dist/seeer-client.js:96`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.
Evidence: } const res = await fetch("http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/iden
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 dist/seeer-client.js
Tool "spawn_agent" can mutate/egress but declares no destructiveHint. Clients that don't default to spec-safe behavior may not prompt before running it.
Fix: Declare accurate annotations, and gate destructive tools on user confirmation regardless.
Location: tool spawn_agent
In a packaging/dev/install script (shipped, but not the server runtime) (`dist/setup.js:11`): 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: ort { exec } from "node:child_process"; import fs from "node:fs"; import http from "node:http"; import os from "node:os"
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 dist/setup.js
Each tool and what it can reach — statically extracted from the published source.
create_flownetwork egresscreate_issuenetwork egressdelete_job_webhooknetwork egressdev_mode_runnetwork egresspull_workflowingests untrusted inputregister_job_webhooknetwork egressspawn_agentruns code / shelltfa_list_secretsreads sensitive datatfa_provision_phonenetwork egresstfa_request_sms_otpnetwork egressupdate_job_webhooknetwork egressadd_test_caseno sensitive capabilityagent_threadno sensitive capabilityanalyze_recordingno sensitive capabilityannotate_recordingno sensitive capabilityanswer_agentno sensitive capabilityanswer_build_questionno sensitive capabilityawait_agentno sensitive capabilitybatch_test_rpano sensitive capabilityblueprint_add_entryno sensitive capabilityblueprint_answer_questionno sensitive capabilityblueprint_apply_proposalno sensitive capabilityblueprint_buildno sensitive capabilityblueprint_build_statusno sensitive capabilityblueprint_createno sensitive capabilityblueprint_entry_upload_urlno sensitive capabilityblueprint_getno sensitive capabilityblueprint_get_proposalno sensitive capabilityblueprint_import_casesno sensitive capabilityblueprint_listno sensitive capabilityblueprint_list_entriesno sensitive capabilityblueprint_list_versionsno sensitive capabilityblueprint_reject_proposalno sensitive capabilityblueprint_synthesizeno sensitive capabilityblueprint_updateno sensitive capabilitycancel_buildno sensitive capabilityclone_workflowno sensitive capabilityclone_workspaceno sensitive capabilitycodemodeno sensitive capabilitycontextno sensitive capabilitycreate_agentno sensitive capabilitycreate_config_storeno sensitive capabilitycreate_or_update_flowsno sensitive capabilitycreate_rpa_flowno sensitive capabilitycreate_scenariono sensitive capabilitycreate_workflowno sensitive capabilitycreate_workspaceno sensitive capabilitydebug_rpa_stepno sensitive capabilitydelete_config_storeno sensitive capabilitydelete_flowno sensitive capabilitydelete_issueno sensitive capabilitydelete_jobno sensitive capabilitydelete_middlewareno sensitive capabilitydelete_scenariono sensitive capabilitydelete_workflowno sensitive capabilitydeploy_vmno sensitive capabilitydev_mode_add_stepno sensitive capabilitydev_mode_delete_draftno sensitive capabilitydev_mode_edit_stepno sensitive capabilitydev_mode_get_run_statusno sensitive capabilitydev_mode_get_stepno sensitive capabilitydev_mode_get_step_listno sensitive capabilitydev_mode_get_workspaceno sensitive capabilitydev_mode_loadno sensitive capabilitydev_mode_publishno sensitive capabilitydev_mode_regroupno sensitive capabilitydev_mode_remove_stepno sensitive capabilitydev_mode_reorderno sensitive capabilitydev_mode_stop_runno sensitive capabilityexecute_workflowno sensitive capabilityexecute_workflow_asyncno sensitive capabilitygenerate_skillno sensitive capabilitygenerate_state_descriptionno sensitive capabilityget_agentno sensitive capabilityget_api_base_urlno sensitive capabilityget_build_statusno sensitive capabilityget_config_propertiesno sensitive capabilityget_config_propertyno sensitive capabilityget_config_storeno sensitive capabilityget_current_userno sensitive capabilityget_executionno sensitive capabilityget_execution_recordingno sensitive capabilityget_execution_resultno sensitive capabilityget_execution_statusno sensitive capabilityget_flowno sensitive capabilityget_flow_run_programno sensitive capabilityget_flow_run_recordingno sensitive capabilityget_flow_run_responseno sensitive capabilityget_flow_run_transformationno sensitive capabilityget_flow_versionsno sensitive capabilityget_full_executionno sensitive capabilityget_global_workflow_objectno sensitive capabilityget_issueno sensitive capabilityget_jobno sensitive capabilityget_job_executionno sensitive capabilityget_job_webhookno sensitive capabilityget_job_webhook_eventsno sensitive capabilityget_lds_setup_guideno sensitive capabilityget_recording_clipno sensitive capabilityget_recording_eventno sensitive capabilityget_recording_framesno sensitive capabilityget_recording_zoomno sensitive capabilityget_skillno sensitive capabilityget_task_runno sensitive capabilityget_test_reportno sensitive capabilityget_workflowno sensitive capabilityget_workspaceno sensitive capabilityget_workspace_contextno sensitive capabilityguide_agentno sensitive capabilityinit_projectno sensitive capabilityinspect_job_executionno sensitive capabilitylist_agent_catalogno sensitive capabilitylist_agentsno sensitive capabilitylist_archived_workflowsno sensitive capabilitylist_config_storesno sensitive capabilitylist_executionsno sensitive capabilitylist_issuesno sensitive capabilitylist_job_executionsno sensitive capabilitylist_job_webhooksno sensitive capabilitylist_middlewaresno sensitive capabilitylist_scenariosno sensitive capabilitylist_skillsno sensitive capabilitylist_task_runsno sensitive capabilitylist_tasksno sensitive capabilitylist_workflow_flowsno sensitive capabilitylist_workflowsno sensitive capabilitylist_workspace_api_keysno sensitive capabilitylist_workspacesno sensitive capabilitypipeline_build_getno sensitive capabilitypipeline_build_traceno sensitive capabilitypipeline_buildsno sensitive capabilitypipeline_template_getno sensitive capabilitypipeline_template_listno sensitive capabilitypipeline_template_putno sensitive capabilitypublish_jobno sensitive capabilitypull_allno sensitive capabilitypush_changedno sensitive capabilitypush_workflowno sensitive capabilityread_flowno sensitive capabilityread_flow_versionno sensitive capabilityregister_jobno sensitive capabilityregister_middlewareno sensitive capabilityremove_config_propertyno sensitive capabilityreplay_execution_stepno sensitive capabilityresolve_blueprint_stateno sensitive capabilityresolve_job_stateno sensitive capabilityrestore_config_storeno sensitive capabilityrestore_workflowno sensitive capabilityrun_jobno sensitive capabilityrun_taskno sensitive capabilityrun_testsno sensitive capabilitysave_skillno sensitive capabilitysend_task_messageno sensitive capabilitysession_checkpointno sensitive capabilitysession_endno sensitive capabilitysession_startno sensitive capabilityset_api_base_urlno sensitive capabilityset_middleware_api_keyno sensitive capabilityset_workspaces_rootno sensitive capabilitysetup_accountno sensitive capabilitystop_job_executionno sensitive capabilitysync_statusno sensitive capabilityteach_jobno sensitive capabilitytfa_cancel_challengeno sensitive capabilitytfa_delete_channelno sensitive capabilitytfa_delete_secretno sensitive capabilitytfa_generate_totpno sensitive capabilitytfa_get_challengeno sensitive capabilitytfa_list_channelsno sensitive capabilitytfa_parse_qrno sensitive capabilitytfa_provision_emailno sensitive capabilitytfa_register_secretno sensitive capabilitytfa_request_email_otpno sensitive capabilitytfa_resolve_challengeno sensitive capabilitytfa_verify_totpno sensitive capabilitytriage_clusterno sensitive capabilitytriage_clustersno sensitive capabilitytriage_dispositionno sensitive capabilityunset_api_base_urlno sensitive capabilityupdate_build_runno sensitive capabilityupdate_config_propertyno sensitive capabilityupdate_flowno sensitive capabilityupdate_issueno sensitive capabilityupdate_jobno sensitive capabilityupdate_scenariono sensitive capabilityupdate_test_caseno sensitive capabilityupdate_workflowno sensitive capabilityvm_connectno sensitive capabilityvm_disconnectno sensitive capabilityvm_execute_scriptno sensitive capabilityvm_execution_statusno sensitive capabilityvm_get_mds_configno sensitive capabilityvm_listno sensitive capabilityvm_list_sessionsno sensitive capabilityvm_reset_stateno sensitive capabilityvm_screenshotno sensitive capabilityvm_screenshot_regionno sensitive capabilityvm_start_sessionno sensitive capabilityvm_statusno sensitive capabilityvm_stop_sessionno sensitive capabilityCross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).
Scan 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 |
|---|---|---|---|---|
v4.17.0 latest |
B 89/100 | 8 | 1.13.0 | 2026-09-07 |
v4.16.0 |
B 89/100 | 8 | 1.13.0 | 2026-09-04 |
v4.13.0 |
B 89/100 | 8 | 1.13.0 | 2026-09-01 |
v4.11.0 |
B 89/100 | 6 | 1.13.0 | 2026-08-31 |
v4.10.0 |
B 89/100 | 6 | 1.13.0 | 2026-08-28 |
v4.9.0 |
B 89/100 | 6 | 1.12.1 | 2026-08-21 |
v4.8.0 |
B 89/100 | 6 | 1.12.1 | 2026-08-13 |
v4.7.0 |
B 89/100 | 6 | 1.12.1 | 2026-08-04 |
v4.5.0 |
B 89/100 | 6 | 1.12.1 | 2026-07-31 |
v4.4.0 |
B 89/100 | 6 | 1.9.0 | 2026-07-24 |
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 @minicor/mcp-server --online
One key, 100+ models — chat with any LLM and generate video, images, speech. Free trial at 370.ai.
Retired compatibility stub for the AgentCanary MCP server. Daily briefs continue on X and Telegram.
A Backstage plugin that provides a chat interface for interacting with the MCP Servers.
Signal-first Bitcoin intelligence: sovereign, hiring & hashrate signals over MCP.
WhatsApp® reminders and rescheduling for Calendly. Public read-only MCP endpoint.
Open Source Generic MCP Client for testing & evaluating mcp servers and agents