plane-ce-mcp
PyPI
v1.1.0
Published by bl4nk44 — 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.
Unofficial MCP server for self-hosted Plane (Community Edition)
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 − 4 = 96. 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 |
|---|---|
| −3 | capability blast radius (moderate) — 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.
In a packaging/dev/install script (shipped, but not the server runtime) (`tests/test_oauth_security.py:151`): 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: "data:text/html,<script>fetch('https://evil.com')</script>", "myapp://callback", ], ids=[
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 tests/test_oauth_security.py
Each tool and what it can reach — statically extracted from the published source.
get_work_item_attachment_download_urlingests untrusted inputlist_work_item_attachmentsingests untrusted inputattach_page_to_work_itemno sensitive capabilitycomplete_cycleno sensitive capabilitycount_work_itemsno sensitive capabilitycreate_cycleno sensitive capabilitycreate_initiativeno sensitive capabilitycreate_intake_work_itemno sensitive capabilitycreate_labelno sensitive capabilitycreate_milestoneno sensitive capabilitycreate_moduleno sensitive capabilitycreate_pageno sensitive capabilitycreate_projectno sensitive capabilitycreate_project_estimateno sensitive capabilitycreate_project_estimate_pointsno sensitive capabilitycreate_stateno sensitive capabilitycreate_work_itemno sensitive capabilitycreate_work_item_commentno sensitive capabilitycreate_work_item_linkno sensitive capabilitycreate_work_item_propertyno sensitive capabilitycreate_work_item_property_optionno sensitive capabilitycreate_work_item_relationno sensitive capabilitycreate_work_item_relation_definitionno sensitive capabilitycreate_work_item_typeno sensitive capabilitycreate_work_logno sensitive capabilitydelete_cycleno sensitive capabilitydelete_initiativeno sensitive capabilitydelete_intake_work_itemno sensitive capabilitydelete_labelno sensitive capabilitydelete_milestoneno sensitive capabilitydelete_moduleno sensitive capabilitydelete_projectno sensitive capabilitydelete_project_estimateno sensitive capabilitydelete_project_estimate_pointno sensitive capabilitydelete_stateno sensitive capabilitydelete_work_itemno sensitive capabilitydelete_work_item_attachmentno sensitive capabilitydelete_work_item_commentno sensitive capabilitydelete_work_item_linkno sensitive capabilitydelete_work_item_propertyno sensitive capabilitydelete_work_item_property_optionno sensitive capabilitydelete_work_item_property_valueno sensitive capabilitydelete_work_item_relation_definitionno sensitive capabilitydelete_work_item_typeno sensitive capabilitydelete_work_logno sensitive capabilitydetach_page_from_work_itemno sensitive capabilityget_featuresno sensitive capabilityget_instance_infono sensitive capabilityget_meno sensitive capabilityget_pql_referenceno sensitive capabilityget_project_estimateno sensitive capabilityget_project_membersno sensitive capabilityget_project_worklog_summaryno sensitive capabilityget_work_item_property_valueno sensitive capabilityget_workspace_membersno sensitive capabilityimport_work_item_types_to_projectno sensitive capabilitylink_estimate_to_projectno sensitive capabilitylist_archived_work_itemsno sensitive capabilitylist_cycle_work_itemsno sensitive capabilitylist_cyclesno sensitive capabilitylist_initiative_projectsno sensitive capabilitylist_initiativesno sensitive capabilitylist_intake_work_itemsno sensitive capabilitylist_labelsno sensitive capabilitylist_milestone_work_itemsno sensitive capabilitylist_milestonesno sensitive capabilitylist_module_work_itemsno sensitive capabilitylist_modulesno sensitive capabilitylist_pagesno sensitive capabilitylist_project_estimate_pointsno sensitive capabilitylist_projectsno sensitive capabilitylist_rolesno sensitive capabilitylist_statesno sensitive capabilitylist_toolsetsno sensitive capabilitylist_work_item_activitiesno sensitive capabilitylist_work_item_commentsno sensitive capabilitylist_work_item_linksno sensitive capabilitylist_work_item_pagesno sensitive capabilitylist_work_item_propertiesno sensitive capabilitylist_work_item_property_optionsno sensitive capabilitylist_work_item_relation_definitionsno sensitive capabilitylist_work_item_relationsno sensitive capabilitylist_work_item_typesno sensitive capabilitylist_work_itemsno sensitive capabilitylist_work_logsno sensitive capabilitymanage_cycle_archiveno sensitive capabilitymanage_cycle_work_itemsno sensitive capabilitymanage_initiative_projectsno sensitive capabilitymanage_milestone_work_itemsno sensitive capabilitymanage_module_archiveno sensitive capabilitymanage_module_work_itemsno sensitive capabilitymanage_project_archiveno sensitive capabilitymanage_work_item_archiveno sensitive capabilitymanage_work_item_assigneeno sensitive capabilitymanage_work_item_labelno sensitive capabilitymanage_work_item_type_propertiesno sensitive capabilityread_work_item_attachmentno sensitive capabilityremove_work_item_relationno sensitive capabilityresolve_work_item_typeno sensitive capabilityretrieve_cycleno sensitive capabilityretrieve_initiativeno sensitive capabilityretrieve_intake_work_itemno sensitive capabilityretrieve_labelno sensitive capabilityretrieve_milestoneno sensitive capabilityretrieve_moduleno sensitive capabilityretrieve_pageno sensitive capabilityretrieve_projectno sensitive capabilityretrieve_roleno sensitive capabilityretrieve_stateno sensitive capabilityretrieve_work_itemno sensitive capabilityretrieve_work_item_activityno sensitive capabilityretrieve_work_item_by_identifierno sensitive capabilityretrieve_work_item_commentno sensitive capabilityretrieve_work_item_linkno sensitive capabilityretrieve_work_item_propertyno sensitive capabilityretrieve_work_item_property_optionno sensitive capabilityretrieve_work_item_typeno sensitive capabilitysearch_pagesno sensitive capabilitysearch_work_itemsno sensitive capabilityset_work_item_property_valueno sensitive capabilitytransfer_cycle_work_itemsno sensitive capabilityupdate_cycleno sensitive capabilityupdate_initiativeno sensitive capabilityupdate_intake_work_itemno sensitive capabilityupdate_labelno sensitive capabilityupdate_milestoneno sensitive capabilityupdate_moduleno sensitive capabilityupdate_projectno sensitive capabilityupdate_project_estimateno sensitive capabilityupdate_project_estimate_pointno sensitive capabilityupdate_project_featuresno sensitive capabilityupdate_stateno sensitive capabilityupdate_work_itemno sensitive capabilityupdate_work_item_commentno sensitive capabilityupdate_work_item_linkno sensitive capabilityupdate_work_item_propertyno sensitive capabilityupdate_work_item_property_optionno sensitive capabilityupdate_work_item_relation_definitionno sensitive capabilityupdate_work_item_typeno sensitive capabilityupdate_work_logno sensitive capabilityupdate_workspace_featuresno sensitive capabilityupload_work_item_attachment_from_urlno 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.0 latest |
A 96/100 | 1 | 1.13.0 | 2026-08-25 |
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 plane-ce-mcp --online --registry pypi
Hotel booking MCP server — 300K+ properties, real confirmation numbers, loyalty programs. Builders monetize every booking via Stripe Connect. The first MCP server that completes real hotel reservations inside AI conversations.
Manage AdGuard Home through AI assistants
Read-only Azure DevOps for MCP clients using only your existing browser session — no PAT, no Azure CLI. Browse work items, pull requests, comments, attachments and Artifacts feeds across every project, repo and feed you can access.
MCP server for Adobe Experience Manager Assets integration development
Servidor MCP para el tiempo oficial de España (API pública OpenData de AEMET). Predicción, observación y avisos como herramientas MCP tipadas.
A standalone MCP stdio bridge for Affinity by Canva's local MCP SSE server.