MCP server · Audited from source

Interactive Feedback MCP server

by minidoracat/mcp-feedback-enhancedNOASSERTION licenceAudited 21 Sep 2026 · source e990a29086d8

PyPI mcp-feedback-enhanced-desktop★ 3,765
✓SAFEGrade B · 84/100 · 21 Sep 2026 · e990a29
3,765GitHub stars

Is it safe? Yes — SAFE, grade B (84/100). It exposes 1 tool: 1 read, 0 write and 0 destructive. The audit recorded 25 findings (0 critical, 0 high, 1 medium, 20 low). Maintainer's description: Enhanced MCP server for interactive user feedback and command execution in AI-assisted development, featuring dual interface support (Web UI and Desktop Application) with intelligent environment detection and cross-platform compatibility.

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “Interactive Feedback MCP server (minidoracat/mcp-feedback-enhanced)”. Retrieved 21 Sep 2026. https://modelsatlas.com/mcp/minidoracat/interactive-feedback-4

Trust audit

Audit 0.4.1 · full source read 21 Sep 2026

Trust score84/100✓SAFE B
0 critical0 high1 medium20 low4 info

25 findings, listed below with the file and line each was found on. Grade A needs a sandboxed behavioural run too; this audit read the source only.

What the source does

  • FilesystemDeclared5 observations
  • NetworkDeclared5 observations
  • ShellDeclared1 observation
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

“Declared” means the server says it does this and the source agrees. Browser, file and shell access are expected of some kinds of server.

Five audit layers

LayerWhat we checkResult
L0 ProvenanceRepo owner, licence, archive status, activityWARN 7 findings
L1 Static sourceSecrets, path traversal, supply chainPASS 15 findings
L2 InstructionsPrompt injection and authority framing in docs and tool descriptionsPASS 3 findings
L3 InventoryDeclared tools match the sourcePASS
L4 SandboxRun in isolation and watch behaviourSKIPPED

Provenance & runtime

Who published it, and what the audit could and could not run

Provenance

  • Repository owner minidoracatUser accountAccount type recorded when we read the repository.
  • PackagePublished on PyPImcp-feedback-enhanced-desktop, no version recorded
  • LicenceNOASSERTIONFrom the repository, as read at the audited commit.
  • Last push14 days agoActivity of the repository when we read it.
  • Source commit reade990a29086d8The audit covers exactly this commit, read on 21 Sep 2026.

Runtime

  • Sandbox runNot run yetThis audit read the source only; it did not execute the server.
  • Tool inventory1 declaredRead from the source and classed read, write or destructive.

Every value here is read from the record's own repository and audit.Suggest a correction

Findings (25)

Sorted by severity

MEDIUMInventory / provenanceinv.binary · src-tauri/icons/icon.icns
F-13 Inventory / provenanceCWE-1104Layer L0
icon.icns
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
LOWInventory / provenanceinv.hidden_file · .bumpversion.cfg
F-13 Inventory / provenanceCWE-1104Layer L0
.bumpversion.cfg
Why
hidden member outside the usual dotfiles
Fix
review its purpose
LOWInventory / provenanceinv.hidden_file · .pre-commit-config.yaml
F-13 Inventory / provenanceCWE-1104Layer L0
.pre-commit-config.yaml
Why
hidden member outside the usual dotfiles
Fix
review its purpose
LOWNetwork egressnet.raw_ip · docs/architecture/component-details.md:438
F-04 Network egressCWE-200 · CWE-319Layer L1
allow_origins=["http://127.0.0.1:*", "http://localhost:*"],
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · src/mcp_feedback_enhanced/web/static/index.html:91
F-04 Network egressCWE-200 · CWE-319Layer L1
const backendUrl = 'http://127.0.0.1:8765';
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · tests/unit/test_desktop_fallback.py:186
F-04 Network egressCWE-200 · CWE-319Layer L1
await app.launch_tauri_app("http://127.0.0.1:8765")
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · tests/unit/test_desktop_fallback.py:215
F-04 Network egressCWE-200 · CWE-319Layer L1
await app.launch_tauri_app("http://127.0.0.1:8765")
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · tests/unit/test_desktop_fallback.py:233
F-04 Network egressCWE-200 · CWE-319Layer L1
await app.launch_tauri_app("http://127.0.0.1:8765")
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.base64_blob · src/mcp_feedback_enhanced/web/templates/feedback.html:10
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
<link rel="icon" type="image/x-icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD/
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.decode_call · src/mcp_feedback_enhanced/server.py:394
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
image_bytes = base64.b64decode(img["data"], validate=True)
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.decode_call · src/mcp_feedback_enhanced/web/models/feedback_session.py:644
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
image_bytes = base64.b64decode(img["data"])
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.decode_call · tests/unit/test_image_content.py:23
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
PNG_BYTES = base64.b64decode(
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.decode_call · tests/unit/test_image_content.py:62
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
assert base64.b64decode(result[0].data) == PNG_BYTES
Why
No further detail recorded for this rule.
Fix
—
LOWObfuscation / stealthobf.decode_call · tests/unit/test_image_content.py:68
F-07 Obfuscation / stealthCWE-506 · CWE-94Layer L1
assert base64.b64decode(result[0].data) == PNG_BYTES
Why
No further detail recorded for this rule.
Fix
—
LOWPrivilege escalation / persistencepriv.escalate · .github/workflows/build-desktop.yml:135
F-06 Privilege escalation / persistenceCWE-269 · CWE-250Layer L1
sudo apt-get update
Why
asks for elevated privileges
Fix
—
LOWPrivilege escalation / persistencepriv.escalate · .github/workflows/build-desktop.yml:137
F-06 Privilege escalation / persistenceCWE-269 · CWE-250Layer L1
sudo apt-get install -y \
Why
asks for elevated privileges
Fix
—
LOWPrivilege escalation / persistencepriv.escalate · .github/workflows/build-desktop.yml:144
F-06 Privilege escalation / persistenceCWE-269 · CWE-250Layer L1
if ! sudo apt-get install -y libayatana-appindicator3-dev; then
Why
asks for elevated privileges
Fix
—
LOWPrivilege escalation / persistencepriv.escalate · .github/workflows/build-desktop.yml:146
F-06 Privilege escalation / persistenceCWE-269 · CWE-250Layer L1
sudo apt-get install -y libappindicator3-dev
Why
asks for elevated privileges
Fix
—
LOWSupply chainprompt.pipe_to_shell · docs/DESKTOP_BUILD.md:17
F-08 Supply chainCWE-829 · CWE-1357Layer L2
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Why
No further detail recorded for this rule.
Fix
—
LOWPrompt injectionprompt.transfer_instruction · README.md:212
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
- `0.0.0.0`: Binds all interfaces. ⚠️ **Not recommended**: the Web UI and `/ws` endpoint have **no authentication**, so anyone who can reach the port can read session content (including project paths 
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · README.md:311
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
> the Web UI and `/ws` endpoint have no authentication, so binding publicly lets anyone on the network read your session and submit feedback.
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
INFOInventory / provenanceinv.oversize · src/mcp_feedback_enhanced/desktop_release/mcp-feedback-enhanced-desktop-linux
F-13 Inventory / provenanceCWE-1104Layer L0
src/mcp_feedback_enhanced/desktop_release/mcp-feedback-enhanced-desktop-linux
Why
5224304 bytes not read
Fix
—
INFOInventory / provenanceinv.oversize · src/mcp_feedback_enhanced/desktop_release/mcp-feedback-enhanced-desktop-macos-arm64
F-13 Inventory / provenanceCWE-1104Layer L0
src/mcp_feedback_enhanced/desktop_release/mcp-feedback-enhanced-desktop-macos-arm64
Why
4444240 bytes not read
Fix
—
INFOInventory / provenanceinv.oversize · src/mcp_feedback_enhanced/desktop_release/mcp-feedback-enhanced-desktop-macos-intel
F-13 Inventory / provenanceCWE-1104Layer L0
src/mcp_feedback_enhanced/desktop_release/mcp-feedback-enhanced-desktop-macos-intel
Why
4811992 bytes not read
Fix
—
INFOInventory / provenanceinv.oversize · src/mcp_feedback_enhanced/desktop_release/mcp-feedback-enhanced-desktop.exe
F-13 Inventory / provenanceCWE-1104Layer L0
src/mcp_feedback_enhanced/desktop_release/mcp-feedback-enhanced-desktop.exe
Why
4574208 bytes not read
Fix
—

Tools it exposes

1 declared in source · 0 destructive

1 read0 write0 destructive
ToolRiskWhat it does
get_system_inforeadNo description in the source

Install

audited commit e990a29

One-click links open your editor with the config below filled in, exactly as the snippets show it. The audit covers commit e990a29 only.

claude mcp add mcp-feedback-enhanced-desktop -- uvx mcp-feedback-enhanced-desktop

The command does not pin a version; the audit covers commit e990a29086d8. Transport: not declared. No environment variables required.

Audit history

  1. ✓SAFE B 84 / 100

    Source changed, verdict held · e990a29086d8

README badge

For maintainers · updates on every re-audit

ModelsAtlas: SAFE BMODELSATLASSAFE · B
[![ModelsAtlas: SAFE B](https://modelsatlas.com/mcp/minidoracat/interactive-feedback-4/badge.svg)](https://modelsatlas.com/mcp/minidoracat/interactive-feedback-4/)

The badge always shows the latest audit; a maintainer cannot pin an old verdict.

Other ratings

Cited, never blended into our score

No third-party security ratings are recorded for this server yet. When they exist they appear here with their source and date, beside, not inside, our grade.

Questions about Interactive Feedback MCP server

What is the Interactive Feedback MCP server?
Enhanced MCP server for interactive user feedback and command execution in AI-assisted development, featuring dual interface support (Web UI and Desktop Application) with intelligent environment detection and cross-platform compatibility.
What tools does Interactive Feedback expose?
1 in total: 1 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Interactive Feedback safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (84/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Interactive Feedback need?
No credential environment variables were found in its source, so it appears to need none.
How current is this page?
The grade is for one exact copy of the source (e990a29086d8), read on 2026-09-21. The repository is watched and re-audited when it changes.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.