Spaces:
Paused
Paused
frdel commited on
Commit ·
15728b4
1
Parent(s): 78f7378
autoscroll servers
Browse files
python/api/mcp_servers_apply.py
CHANGED
|
@@ -15,10 +15,11 @@ class McpServersApply(ApiHandler):
|
|
| 15 |
# MCPConfig.update(mcp_servers) # done in settings automatically
|
| 16 |
set_settings_delta({"mcp_servers": "[]"}) # to force reinitialization
|
| 17 |
set_settings_delta({"mcp_servers": mcp_servers})
|
| 18 |
-
|
| 19 |
time.sleep(1) # wait at least a second
|
| 20 |
-
MCPConfig.wait_for_lock() # wait until config lock is released
|
|
|
|
|
|
|
| 21 |
|
| 22 |
except Exception as e:
|
| 23 |
return {"success": False, "error": str(e)}
|
| 24 |
-
return {"success": True}
|
|
|
|
| 15 |
# MCPConfig.update(mcp_servers) # done in settings automatically
|
| 16 |
set_settings_delta({"mcp_servers": "[]"}) # to force reinitialization
|
| 17 |
set_settings_delta({"mcp_servers": mcp_servers})
|
| 18 |
+
|
| 19 |
time.sleep(1) # wait at least a second
|
| 20 |
+
# MCPConfig.wait_for_lock() # wait until config lock is released
|
| 21 |
+
status = MCPConfig.get_instance().get_servers_status()
|
| 22 |
+
return {"success": True, "status": status}
|
| 23 |
|
| 24 |
except Exception as e:
|
| 25 |
return {"success": False, "error": str(e)}
|
|
|
webui/components/settings/mcp/client/mcp-servers-store.js
CHANGED
|
@@ -72,7 +72,7 @@ const model = {
|
|
| 72 |
|
| 73 |
async startStatusCheck() {
|
| 74 |
this.statusCheck = true;
|
| 75 |
-
|
| 76 |
|
| 77 |
while (this.statusCheck) {
|
| 78 |
await this._statusCheck();
|
|
@@ -101,11 +101,15 @@ const model = {
|
|
| 101 |
this.loading = true;
|
| 102 |
try {
|
| 103 |
scrollModal("mcp-servers-status");
|
| 104 |
-
await API.callJsonApi("mcp_servers_apply", {
|
| 105 |
mcp_servers: this.getEditorValue(),
|
| 106 |
});
|
| 107 |
-
|
| 108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
scrollModal("mcp-servers-status");
|
| 110 |
} catch (error) {
|
| 111 |
console.error("Failed to apply MCP servers:", error);
|
|
|
|
| 72 |
|
| 73 |
async startStatusCheck() {
|
| 74 |
this.statusCheck = true;
|
| 75 |
+
let firstLoad = true;
|
| 76 |
|
| 77 |
while (this.statusCheck) {
|
| 78 |
await this._statusCheck();
|
|
|
|
| 101 |
this.loading = true;
|
| 102 |
try {
|
| 103 |
scrollModal("mcp-servers-status");
|
| 104 |
+
const resp = await API.callJsonApi("mcp_servers_apply", {
|
| 105 |
mcp_servers: this.getEditorValue(),
|
| 106 |
});
|
| 107 |
+
if (resp.success) {
|
| 108 |
+
this.servers = resp.status;
|
| 109 |
+
this.servers.sort((a, b) => a.name.localeCompare(b.name));
|
| 110 |
+
}
|
| 111 |
+
this.loading = false;
|
| 112 |
+
await sleep(100); // wait for ui and scroll
|
| 113 |
scrollModal("mcp-servers-status");
|
| 114 |
} catch (error) {
|
| 115 |
console.error("Failed to apply MCP servers:", error);
|