MCP server · trust report

com.granoflow/mcp-server

2 checks that ran failed — credential hygiene and version behavior — so this release can’t be trusted as-is.

Publisher
com.granoflow
Repository
github.com/granoflow/granoflow-mcp-server
Install
npm:@granoflow/mcp-server, npm:@granoflow/mcp-server, npm:@granoflow/mcp-server, npm:@granoflow/mcp-server, npm:@granoflow/mcp-server, npm:@granoflow/mcp-server, npm:@granoflow/mcp-server, npm:@granoflow/mcp-server
Versions
8
Inspected
5 of 6 checks · 90%
Scored
2026-09-01 · 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.

6 checks3 clean2 flagged1 not inspected
  • Injection surface

    pass25% of grade

    Tool descriptions/manifest scanned for instruction-injection patterns (imperatives at the model, hidden text, 'ignore previous', data-exfil URLs).

    Scanned 727 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 grade

    Package provenance: namespace verification, repo linkage, maintainer count, account age, postinstall scripts, typosquat distance.

    Python build script has no build-time network/exec; repository linkage verified

  • Credential hygiene

    fail15% of grade

    How the server takes secrets (env vs plaintext config vs hardcoded); secrets appearing in tool schemas.

    tool "granoflow_evidence_authoring_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential). tool "granoflow_experience_authoring_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential). tool "granoflow_knowledge_assessment_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential). tool "granoflow_knowledge_materialization_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential). tool "granoflow_knowledge_control_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential). tool "granoflow_task_knowledge_adoption_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential). tool "granoflow_task_knowledge_audit_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential). tool "granoflow_task_knowledge_usage_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential). tool "granoflow_review_card_authoring_apply" has a secret-shaped input parameter "previewToken" — secrets must never be tool parameters (the model would supply/handle the credential).

  • Permission scope

    pass15% of grade

    Declared 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 grade

    Diff of tool definitions between versions; new permissions or changed descriptions in a patch release (the postmark-mcp class).

    vs prior 0.1.15 (patch bump): new tool "granoflow_agent_workflow_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_daily_review_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_first_run_import_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_review_card_draft_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_gfmcp_runner_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_delegated_authorization_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_orchestrator_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_milestone_workflow_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_persistent_milestone_runner_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_definition_skill" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_bundled_skill_reference" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_gfmcp_prepare" appeared; new tool "granoflow_gfmcp_safe_sync" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_gfmcp_candidates" appeared; new tool "granoflow_setup_status" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_setup_detect_local_api" appeared; new tool "granoflow_setup_write_config" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_setup_open_config" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_setup_open_app" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_health" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_version" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_capabilities" appeared; new tool "granoflow_ai_agent_tools" appeared; new tool "granoflow_agent_preferences_get" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_agent_preferences_write_defaults" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_git_missing_notice_record" appeared; new tool "granoflow_evidence_list" appeared; new tool "granoflow_evidence_search" appeared; new tool "granoflow_evidence_get" appeared; new tool "granoflow_evidence_authoring_preview" appeared; new tool "granoflow_evidence_authoring_apply" appeared; new tool "granoflow_evidence_update" appeared; new tool "granoflow_evidence_delete" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_experience_list" appeared; new tool "granoflow_experience_get" appeared; new tool "granoflow_project_experiences" appeared; new tool "granoflow_milestone_experiences" appeared; new tool "granoflow_experience_search" appeared; new tool "granoflow_experience_authoring_preview" appeared; new tool "granoflow_experience_authoring_apply" appeared; new tool "granoflow_experience_update" appeared; new tool "granoflow_experience_delete_impact" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_experience_delete" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_experience_merge_preview" appeared; new tool "granoflow_experience_merge_apply" appeared; new tool "granoflow_experience_usage_link" appeared; new tool "granoflow_experience_usage_unlink_impact" appeared; new tool "granoflow_experience_usage_unlink" appeared; new tool "granoflow_knowledge_assessment_list" appeared; new tool "granoflow_knowledge_assessment_get" appeared; new tool "granoflow_knowledge_assessment_preview" appeared; new tool "granoflow_knowledge_assessment_apply" appeared; new tool "granoflow_knowledge_materialization_list" appeared; new tool "granoflow_knowledge_materialization_get" appeared; new tool "granoflow_knowledge_materialization_preview" appeared; new tool "granoflow_knowledge_materialization_apply" appeared; new tool "granoflow_knowledge_control_preview" appeared; new tool "granoflow_knowledge_control_apply" appeared; new tool "granoflow_task_knowledge_pack" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_knowledge_references" appeared; new tool "granoflow_task_knowledge_adoption_preview" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_knowledge_adoption_apply" appeared; new tool "granoflow_task_knowledge_audit_preview" appeared; new tool "granoflow_task_knowledge_audit_apply" appeared; new tool "granoflow_task_knowledge_usage_preview" appeared; new tool "granoflow_task_knowledge_usage_apply" appeared; new tool "granoflow_project_knowledge_usages" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_milestone_knowledge_usages" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_review_card_draft_schema" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_review_card_similar" appeared; new tool "granoflow_review_card_authoring_preview" appeared; new tool "granoflow_review_card_authoring_apply" appeared; new tool "granoflow_context_pack" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_historical_task_candidates" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_memory_batch_preview" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_context_steward_status" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_context_attachments_ensure" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_context_attachment_read" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_context_attachment_reconcile" appeared; new tool "granoflow_project_context_attachment_write" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_interaction_style" appeared; new tool "granoflow_project_context_update" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_milestone_context_update" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_milestone_context_archive" appeared; new tool "granoflow_task_completion_record" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_review_card_record" appeared; new tool "granoflow_tag_list" appeared; new tool "granoflow_tag_create" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_source_tags_ensure" appeared; new tool "granoflow_task_list" appeared; new tool "granoflow_task_export" appeared; new tool "granoflow_task_validate" appeared; new tool "granoflow_task_import" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_history_mutate" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_create" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_create_structured" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_update" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_update_structured" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_review_update" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_completion_summary_update" appeared; new tool "granoflow_task_complete" appeared; new tool "granoflow_task_attachment_list" appeared; new tool "granoflow_logical_attachment_replace" appeared; new tool "granoflow_logical_attachment_read" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_design_baseline_import" appeared; new tool "granoflow_project_design_baseline_read" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_work_evaluate" appeared; new tool "granoflow_project_work_confirm" appeared; new tool "granoflow_task_attachment_add_markdown" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_attachment_read_markdown" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_attachment_delete" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_node_list" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_node_batch_create" appeared; new tool "granoflow_task_node_update" appeared; new tool "granoflow_task_node_delete" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_task_finish" appeared; new tool "granoflow_task_resolve" appeared; new tool "granoflow_project_list" appeared; new tool "granoflow_project_resolve" appeared; new tool "granoflow_project_create" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_update" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_project_delete" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_milestone_list" appeared; new tool "granoflow_milestone_resolve" appeared; new tool "granoflow_milestone_create" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_milestone_delete" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_milestone_update" touches a sensitive surface (email/exec/net/fs); new tool "granoflow_review_day_show" appeared; new tool "granoflow_api_request" touches a sensitive surface (email/exec/net/fs).

  • Transport config

    unscannable10% of grade

    Remote servers: TLS and auth mode (none/token/OAuth). Local servers: whether the manifest indicates it phones home.

    local stdio server: no remote transport or auth surface, and no phone-home/telemetry signal found in source. Absence of transport findings is NOT a safety guarantee — phone-home hosts can be constructed at runtime and defeat static analysis.

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.

VersionPublishedGradeScoreInspectedChange
v0.1.16 · current2026-07-19 B755/6 · 90%±0
v0.1.152026-07-16 B1003/6 · 55%