js_list
List all registered JavaScript sources to identify and inspect client-side scripts for enhanced web application security analysis.
Instructions
List all registered JS sources.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/burp_mcp_plus/jsfiles.py:130-139 (handler)Actual implementation of list_sources() — iterates _REGISTRY and returns a list of dicts with name, manifest, files count, and missing_on_disk count.
def list_sources() -> list[dict[str, object]]: return [ { "name": s.name, "manifest": s.manifest_path, "files": len(s.records), "missing_on_disk": sum(1 for r in s.records if not r.abs_path), } for s in _REGISTRY.values() ] - src/burp_mcp_plus/server.py:789-792 (handler)The js_list MCP tool handler — decorated with @mcp.tool(), calls jsfiles.list_sources() and returns JSON.
@mcp.tool() def js_list() -> str: """List all registered JS sources.""" return json.dumps(jsfiles.list_sources(), indent=2) - src/burp_mcp_plus/server.py:789-790 (registration)Registration of js_list as an MCP tool via @mcp.tool() decorator on the function.
@mcp.tool() def js_list() -> str: - src/burp_mcp_plus/jsfiles.py:120-127 (helper)The _REGISTRY dict that stores JsSource objects, used by list_sources().
_REGISTRY[name] = src return src def get(name: str) -> JsSource: if name not in _REGISTRY: raise KeyError(f"js source {name!r} not loaded; call js_load first") return _REGISTRY[name]