feat: Add Brain Monitor dashboard and live API stats

This commit is contained in:
Riz Ashraf committed 2026-09-08 15:09:44 +01:00
1 parent 3239e32866
commit 18fd05bb11
10 files changed
+672 -80

No files matched your search

+59
View File
@@ -0,0 +1,59 @@
import urllib.request
import json
import threading
import sys
import time
sse_url = "http://localhost:3000/sse"
def call_mcp(method, params):
req = urllib.request.Request(sse_url)
with urllib.request.urlopen(req) as response:
endpoint = None
# read the SSE stream
for line_bytes in response:
line = line_bytes.decode('utf-8').strip()
if line.startswith("data: /messages"):
endpoint = "http://localhost:3000" + line.split("data: ")[1].strip()
break
if not endpoint:
print("Failed to get endpoint")
sys.exit(1)
print(f"Got endpoint: {endpoint}")
payload = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": method,
"arguments": params
}
}
post_req = urllib.request.Request(endpoint, data=json.dumps(payload).encode('utf-8'), headers={'Content-Type': 'application/json'})
with urllib.request.urlopen(post_req) as post_resp:
print(f"POST status: {post_resp.status}")
# continue reading SSE for response
for line_bytes in response:
line = line_bytes.decode('utf-8').strip()
if line.startswith("data: "):
data = line[6:]
if data == "ping": continue
try:
msg = json.loads(data)
if msg.get("id") == 1:
print("RESULT:")
print(json.dumps(msg, indent=2))
return
except:
pass
import sys
if __name__ == "__main__":
method = sys.argv[1]
params = json.loads(sys.argv[2])
call_mcp(method, params)