mcp-fence report

target: {{ result.target | e }} · kind: {{ result.kind }} · generated {{ result.completed_at or result.started_at }}
verdict
{{ result.summary.verdict }}
{{ result.summary.total }} findings
risk score
{{ result.summary.score }}/100
critical {{ result.summary.by_severity.get('critical', 0) }} high {{ result.summary.by_severity.get('high', 0) }} medium {{ result.summary.by_severity.get('medium', 0) }} low {{ result.summary.by_severity.get('low', 0) }} info {{ result.summary.by_severity.get('info', 0) }}
categories
{% if result.summary.by_category %}
    {% for cat, n in result.summary.by_category.items() %}
  • {{ cat }} · {{ n }}
  • {% endfor %}
{% else %}
no findings
{% endif %}
{% if result.inventory %}

Tool inventory

{{ result.inventory.tools | length }} tool(s) · transport {{ result.inventory.transport }} · {{ result.inventory.server_info.name or 'unknown server' }}
{% for t in result.inventory.tools %} {{ t.name | e }} {% endfor %}
{% if result.inventory.warnings %}

Protocol warnings

    {% for w in result.inventory.warnings %}
  • {{ w | e }}
  • {% endfor %}
{% endif %}
{% endif %}

Top findings

{% if top_findings %} {% for f in top_findings %} {% endfor %}
SeverityRuleTitleWhereDetail
{{ f.severity.value }} {{ f.rule_id }} {{ f.title | e }} {{ f.location.short() | e }} {{ f.description | e }}
{% else %}
No findings.
{% endif %}

All findings

{% if all_findings %} {% for f in all_findings %} {% endfor %}
SeverityRuleTitleCategoryWhereEvidenceRecommendation
{{ f.severity.value }} {{ f.rule_id }} {{ f.title | e }} {{ f.category }} {{ f.location.short() | e }} {% if f.evidence %}{{ (f.evidence[:200]) | e }}{% endif %} {{ f.recommendation | e }}
{% endif %} {% if result.fuzz_results %}

Fuzz results

{{ result.fuzz_results | length }} cases · {{ violations }} boundary violations · {{ skipped }} skipped
{% for fr in result.fuzz_results %} {% endfor %}
ToolCategoryIntentStatusSignals
{{ fr.case.tool_name }} {{ fr.case.payload_category }} {{ fr.case.intent | e }} {% if fr.skipped %}skipped{% elif fr.boundary_violation %}violation{% elif fr.response_ok %}ok{% else %}error{% endif %} {% for sig in fr.detected_signals %}{{ sig }} {% endfor %}{% if fr.skipped %}{{ fr.skip_reason | e }}{% endif %}
{% endif %}

Remediation checklist

{% if sandbox_hint %}

Sandbox recommendation

{{ sandbox_hint | e }}
{% endif %}

Methodology

mcp-fence
{{ result.tool_version }}
started
{{ result.started_at }}
finished
{{ result.completed_at or '—' }}
findings
{{ result.summary.total }}

No external scripts, fonts, or styles are loaded. This report works offline.