gitflic-mcp
npm
v1.0.0
Published by an unidentified publisher — 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.
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 − 7 = 93. 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 |
| −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: download_generic_artifact → compare_branches → create_issue. 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 download_generic_artifact → compare_branches → create_issue
Tool "create_webhook" can both read sensitive data and send data to an external destination. Even without an explicit untrusted-input leg, this is a single-call data-exfiltration path if the model is ever manipulated.
Fix: Separate reading from sending; require explicit user confirmation before egress of file/secret contents.
Location: flow create_webhook
Tool "update_webhook" can both read sensitive data and send data to an external destination. Even without an explicit untrusted-input leg, this is a single-call data-exfiltration path if the model is ever manipulated.
Fix: Separate reading from sending; require explicit user confirmation before egress of file/secret contents.
Location: flow update_webhook
Tool "create_webhook" takes a URL/host parameter "url" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).
Fix: Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.
Location: tool create_webhook · inputSchema.properties.url
Tool "update_webhook" takes a URL/host parameter "url" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).
Fix: Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.
Location: tool update_webhook · inputSchema.properties.url
Tool "unlink_issue_file" can write, overwrite or delete files (keyword "unlink" in tool name). Verify it is scoped to a safe directory.
Fix: Constrain file operations to an explicit, non-sensitive root; reject path traversal.
Location: tool unlink_issue_file
Tool "unlink_issue_file" 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 unlink_issue_file
Tool "list_files" takes a path parameter "filepath" with no constraint. Without a canonicalize-and-contain check (not visible statically), this permits ../ traversal outside the intended root.
Fix: Resolve and verify the path stays within an allowed root; reject traversal sequences.
Location: tool list_files · inputSchema.properties.filepath
Tool "list_files_recursive" takes a path parameter "directory" with no constraint. Without a canonicalize-and-contain check (not visible statically), this permits ../ traversal outside the intended root.
Fix: Resolve and verify the path stays within an allowed root; reject traversal sequences.
Location: tool list_files_recursive · inputSchema.properties.directory
Each tool and what it can reach — statically extracted from the published source.
create_webhooknetwork egressreads sensitive dataupdate_webhooknetwork egressreads sensitive datacompare_branchesreads sensitive datacreate_issuenetwork egresscreate_issue_relationnetwork egressdelete_webhooknetwork egressdownload_generic_artifactingests untrusted inputget_latest_releaseingests untrusted inputget_releaseingests untrusted inputlist_filesreads sensitive datalist_files_recursivereads sensitive datalist_issue_filesreads sensitive datalist_issuesingests untrusted inputlist_package_filesreads sensitive datalist_package_versionsingests untrusted inputunlink_issue_filewrites filesupdate_releaseingests untrusted inputupload_generic_artifactingests untrusted inputadd_issue_commentno sensitive capabilityapprove_merge_requestno sensitive capabilitycancel_jobno sensitive capabilitycancel_merge_requestno sensitive capabilitycancel_pipelineno sensitive capabilitychange_company_member_roleno sensitive capabilitychange_member_roleno sensitive capabilitychange_team_member_roleno sensitive capabilitychange_team_roleno sensitive capabilityclose_merge_requestno sensitive capabilitycompare_branch_fileno sensitive capabilitycreate_branchno sensitive capabilitycreate_companyno sensitive capabilitycreate_merge_requestno sensitive capabilitycreate_mr_discussionno sensitive capabilitycreate_projectno sensitive capabilitycreate_releaseno sensitive capabilitycreate_tagno sensitive capabilitycreate_teamno sensitive capabilitydelete_branchno sensitive capabilitydelete_issueno sensitive capabilitydelete_issue_commentno sensitive capabilitydelete_issue_relationno sensitive capabilitydelete_mr_discussionno sensitive capabilitydelete_packageno sensitive capabilitydelete_projectno sensitive capabilitydelete_releaseno sensitive capabilitydiff_commitsno sensitive capabilityedit_issue_commentno sensitive capabilityfind_mr_by_commitno sensitive capabilityfork_projectno sensitive capabilityget_branchno sensitive capabilityget_commitno sensitive capabilityget_commit_filesno sensitive capabilityget_companyno sensitive capabilityget_default_branchno sensitive capabilityget_file_contentno sensitive capabilityget_issueno sensitive capabilityget_jobno sensitive capabilityget_meno sensitive capabilityget_merge_requestno sensitive capabilityget_mr_discussionno sensitive capabilityget_projectno sensitive capabilityget_tagno sensitive capabilityget_teamno sensitive capabilityget_userno sensitive capabilityget_webhookno sensitive capabilityinvite_company_memberno sensitive capabilityinvite_project_memberno sensitive capabilityinvite_project_teamno sensitive capabilityinvite_team_memberno sensitive capabilitylink_issue_fileno sensitive capabilitylist_branchesno sensitive capabilitylist_cicd_variablesno sensitive capabilitylist_commitsno sensitive capabilitylist_companiesno sensitive capabilitylist_company_membersno sensitive capabilitylist_issue_commentsno sensitive capabilitylist_issue_relationsno sensitive capabilitylist_job_artifactsno sensitive capabilitylist_merge_requestsno sensitive capabilitylist_mr_discussionsno sensitive capabilitylist_my_companiesno sensitive capabilitylist_packagesno sensitive capabilitylist_pipeline_jobsno sensitive capabilitylist_pipelinesno sensitive capabilitylist_project_membersno sensitive capabilitylist_project_runnersno sensitive capabilitylist_projectsno sensitive capabilitylist_releasesno sensitive capabilitylist_shared_companiesno sensitive capabilitylist_shared_projectsno sensitive capabilitylist_shared_teamsno sensitive capabilitylist_tagsno sensitive capabilitylist_team_membersno sensitive capabilitylist_teamsno sensitive capabilitylist_user_projectsno sensitive capabilitylist_webhooksno sensitive capabilitymerge_merge_requestno sensitive capabilityremove_company_memberno sensitive capabilityremove_project_memberno sensitive capabilityremove_project_teamno sensitive capabilityremove_team_memberno sensitive capabilityreply_mr_discussionno sensitive capabilityresolve_mr_discussionno sensitive capabilityrestart_jobno sensitive capabilityrestart_pipelineno sensitive capabilitysearch_projectsno sensitive capabilitysetup_push_mirrorno sensitive capabilitystart_pipelineno sensitive capabilitytrigger_mirror_updateno sensitive capabilityupdate_issueno sensitive capabilityupdate_merge_requestno sensitive capabilityupdate_projectno 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 |
|---|---|---|---|---|
v1.0.0 latest |
A 93/100 | 9 | 1.8.0 | 2026-07-23 |
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 gitflic-mcp --online
Security scan results for the 1stay MCP server.
Security scan results for the Adguard Home MCP server.
Security scan results for the Ado Browser MCP server.
Security scan results for the Adobe Experience Dev MCP server.
Security scan results for the Aemet MCP server.
Security scan results for the Affinity Mcp Bridge MCP server.