python / bridge_entry.py
"""One tool request per process; share the unchanged scanner with the stdio MCP."""
import json
import sys
import server
def main():
try:
request = json.loads(sys.stdin.read(16385))
arguments = request.get("arguments", {})
if request["tool"] == "explain_capabilities":
result = server.explain_capabilities()
elif request["tool"] == "scan_url":
url = arguments["url"]
include = arguments.get("include_review_markdown", False)
if not isinstance(url, str) or len(url) > 4096 or not isinstance(include, bool):
raise ValueError("Invalid scan_url arguments")
result = server.scan_url(url, include_review_markdown=include)
else:
raise ValueError("Unsupported tool")
sys.stdout.write(json.dumps(result, ensure_ascii=False, separators=(",", ":")))
except Exception as error:
sys.stdout.write(json.dumps({"error": str(error)}, ensure_ascii=False))
return 1
return 0
if __name__ == "__main__":
raise SystemExit(main())
python / bridge_entry.py
"""One tool request per process; share the unchanged scanner with the stdio MCP."""
import json
import sys
import server
def main():
try:
request = json.loads(sys.stdin.read(16385))
arguments = request.get("arguments", {})
if request["tool"] == "explain_capabilities":
result = server.explain_capabilities()
elif request["tool"] == "scan_url":
url = arguments["url"]
include = arguments.get("include_review_markdown", False)
if not isinstance(url, str) or len(url) > 4096 or not isinstance(include, bool):
raise ValueError("Invalid scan_url arguments")
result = server.scan_url(url, include_review_markdown=include)
else:
raise ValueError("Unsupported tool")
sys.stdout.write(json.dumps(result, ensure_ascii=False, separators=(",", ":")))
except Exception as error:
sys.stdout.write(json.dumps({"error": str(error)}, ensure_ascii=False))
return 1
return 0
if __name__ == "__main__":
raise SystemExit(main())