← Back to search

@ng-annotate/mcp-server

yngvebn Scanned 13d ago

MCP server for ng-annotate-mcp — exposes Angular browser annotations as MCP tools for AI agents

C
66.7 / 100

Versions

0.10.1latest
Mar 10, 2026
0.10.0
Mar 5, 2026
0.9.1
Mar 3, 2026
0.9.0
Mar 3, 2026
0.8.0
Mar 3, 2026
+ show 45 moreshow less
0.7.0
Mar 2, 2026
0.6.3
Mar 2, 2026
0.6.2
Mar 1, 2026
0.5.15
Mar 1, 2026
0.5.14
Mar 1, 2026
0.5.13
Mar 1, 2026
0.5.12
Mar 1, 2026
0.5.11
Mar 1, 2026
0.5.10
Feb 28, 2026
0.5.9
Feb 28, 2026
0.5.8
Feb 28, 2026
0.5.7
Feb 28, 2026
0.5.6
Feb 28, 2026
0.5.5
Feb 28, 2026
0.5.4
Feb 28, 2026
0.5.3
Feb 28, 2026
0.5.2
Feb 28, 2026
0.5.1
Feb 28, 2026
0.5.0
Feb 28, 2026
0.4.1
Feb 28, 2026
0.4.0
Feb 28, 2026
0.3.14
Feb 28, 2026
0.3.13
Feb 28, 2026
0.3.12
Feb 28, 2026
0.3.11
Feb 28, 2026
0.3.10
Feb 28, 2026
0.3.9
Feb 28, 2026
0.3.8
Feb 28, 2026
0.3.7
Feb 28, 2026
0.3.6
Feb 28, 2026
0.3.5
Feb 28, 2026
0.3.4
Feb 28, 2026
0.3.1
Feb 28, 2026
0.3.0
Feb 28, 2026
0.2.6
Feb 28, 2026
0.1.6
Feb 28, 2026
0.1.5
Feb 28, 2026
0.1.4
Feb 28, 2026
0.1.2
Feb 28, 2026
0.1.1
Feb 28, 2026
0.2.5
Feb 28, 2026
0.2.4
Feb 28, 2026
0.2.3
Feb 28, 2026
0.2.2
Feb 28, 2026
0.2.1
Feb 28, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 11

list_sessions
annotations: none low

List all browser sessions connected to the dev server

id string
get_session
annotations: none low

Get a session and all its annotations

id string
get_pending
annotations: none low

Get all pending annotations for a specific session

sessionId string
get_all_pending
annotations: none low

Startup step: get all pending annotations across all sessions, sorted oldest first. Call this on startup to drain annotations that arrived before the agent connected, then enter the watch_annotations loop.

id string message string
acknowledge
annotations: none low

Acknowledge a pending annotation (pending → acknowledged). Call this IMMEDIATELY after receiving an annotation and BEFORE reading any files or starting edits. This signals to the browser that the agent is working on it.

id string message string
resolve
annotations: none low

Mark an annotation as resolved. Call this ONLY after the file change has been successfully written to disk. Include a one-sentence summary of what was changed.

id string summary string
dismiss
annotations: none low

Dismiss an annotation as not actionable. Use when the request is out of scope, contradicts existing code, or cannot be safely implemented. A reason is required.

id string reason string
reply
annotations: none low

Add an agent reply to an annotation thread without resolving it. Use to ask for clarification when the request is ambiguous. Do NOT call resolve until the user has responded.

id string message string
propose_diff
annotations: none low

Propose a unified diff for the developer to review before applying. Transitions the annotation to diff_proposed status. Call this after acknowledge, before writing any files. Then call watch_diff_response to wait for developer approval or rejection.

id string diff string
watch_diff_response
annotations: none low

Wait for the developer to approve or reject a proposed diff. Long-polls until the developer responds or the timeout is reached. Returns {status:"approved"|"rejected",annotation} or {status:"timeout"}. Default timeout is 5 minutes.

id string
watch_annotations
annotations: none low

Long-poll for new pending annotations (polls every 500ms, default ${String(DEFAULT_WATCH_TIMEOUT_MS / 1000)}s timeout). Returns immediately if pending annotations already exist. This is the main event loop — call it again after processing annotations or on timeout, and keep calling it indefinitely. Result shape: {"status":"annotations","annotations":[...]} or {"status":"timeout"}.

sessionId string

Permissions 2

filesystem low
Server uses filesystem capabilities via: fs, fs sync ops, os, path, pathlib
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 86

low
Tool 'list_sessions' has no annotations annotation_checker · 100%
low
Tool 'get_session' has no annotations annotation_checker · 100%
low
Tool 'get_pending' has no annotations annotation_checker · 100%
low
Tool 'get_all_pending' has no annotations annotation_checker · 100%
low
Tool 'acknowledge' has no annotations annotation_checker · 100%
low
Tool 'resolve' has no annotations annotation_checker · 100%
low
Tool 'dismiss' has no annotations annotation_checker · 100%
low
Tool 'reply' has no annotations annotation_checker · 100%
low
Tool 'propose_diff' has no annotations annotation_checker · 100%
low
Tool 'watch_diff_response' has no annotations annotation_checker · 100%
low
Tool 'watch_annotations' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: @angular/common@21.2.0 (GHSA-39pv-4j6c-2g6v) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/common@21.2.0 (GHSA-48r7-hpm6-gfxm) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/common@21.2.0 (GHSA-jhpw-976m-542j) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/common@21.2.0 (GHSA-p3vc-36g9-x9gr) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/common@21.2.0 (GHSA-q6f4-qqrg-jv6x) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/compiler@21.2.0 (GHSA-58w9-8g37-x9v5) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/compiler@21.2.0 (GHSA-f3m7-gqxr-g87x) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/compiler@21.2.0 (GHSA-g93w-mfhg-p222) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/compiler@21.2.0 (GHSA-jj27-h5hq-8x99) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.2.0 (GHSA-692r-grfm-v8x7) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.2.0 (GHSA-f3m7-gqxr-g87x) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.2.0 (GHSA-g93w-mfhg-p222) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.2.0 (GHSA-jj27-h5hq-8x99) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.2.0 (GHSA-rgjc-h3x7-9mwg) dependency_analyzer · 95%
medium
Vulnerable dependency: vitest@4.0.8 (GHSA-5xrq-8626-4rwp) dependency_analyzer · 95%
medium
Vulnerable dependency: uuid@13.0.0 (GHSA-w5hq-g745-h8pq) dependency_analyzer · 95%
medium
Vulnerable dependency: ws@8.19.0 (GHSA-58qx-3vcg-4xpx) dependency_analyzer · 95%
medium
Vulnerable dependency: ws@8.19.0 (GHSA-96hv-2xvq-fx4p) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-356w-63v5-8wf4) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-4r4m-qw57-chr8) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-4w7w-66w2-5vf9) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-64vr-g452-qvp3) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-859w-5945-r5v3) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-8jhw-289h-jh2g) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-92r3-m2mg-pj97) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-93m4-6634-74q7) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-9cwx-2883-4wfx) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-c24v-8rfc-w8vw) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-c27g-q93r-2cwf) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-fx2h-pf6j-xcff) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-g4jq-h2w9-997c) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-jqfw-vq24-v9c3) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-v6wh-96g9-6wx3) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-vg6x-rcgg-rjx6) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-x574-m823-4x7w) dependency_analyzer · 95%
medium
Vulnerable dependency: vite@5.0.0 (GHSA-xcj6-pq6g-qj4x) dependency_analyzer · 95%
medium
Vulnerable dependency: vitest@4.0.18 (GHSA-5xrq-8626-4rwp) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.0.0 (GHSA-692r-grfm-v8x7) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.0.0 (GHSA-f3m7-gqxr-g87x) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.0.0 (GHSA-g93w-mfhg-p222) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.0.0 (GHSA-jj27-h5hq-8x99) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.0.0 (GHSA-jrmj-c5cx-3cw6) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.0.0 (GHSA-prjf-86w9-mfqv) dependency_analyzer · 95%
medium
Vulnerable dependency: @angular/core@21.0.0 (GHSA-rgjc-h3x7-9mwg) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (GHSA-3qhf-m339-9g5v) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (GHSA-9h52-p55h-vw2f) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (GHSA-j975-95f5-7wqh) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (GHSA-jpw9-pfvf-9f58) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (GHSA-vj7q-gjh5-988w) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (PYSEC-2026-1616) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (PYSEC-2026-1617) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (PYSEC-2026-1618) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (PYSEC-2026-3482) dependency_analyzer · 95%
medium
Vulnerable dependency: mcp@1.1.0 (PYSEC-2026-3483) dependency_analyzer · 95%
info
package.json metadata manifest_parser · 100%
info
Tool: list_sessions manifest_parser · 85%
info
Tool: get_session manifest_parser · 85%
info
Tool: get_pending manifest_parser · 85%
info
Tool: get_all_pending manifest_parser · 85%
info
Tool: acknowledge manifest_parser · 85%
info
Tool: resolve manifest_parser · 85%
info
Tool: dismiss manifest_parser · 85%
info
Tool: reply manifest_parser · 85%
info
Tool: propose_diff manifest_parser · 85%
info
Tool: watch_diff_response manifest_parser · 85%
info
Tool: watch_annotations manifest_parser · 85%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (1) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: filesystem access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
critical
Tool poisoning in 'propose_diff': Cross-tool sequencing directive poisoning · 85%
info
SBOM generated: 816 components sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%