@@ -33,34 +33,50 @@ export function useMcpServers() {
3333 let mcpStatus : MCPServer [ 'status' ] = 'inactive' ;
3434 let lastActivity = 'Never' ;
3535 let actionsToday = 0 ;
36+ let capabilities : string [ ] = [ ] ; // Default empty capabilities
3637
3738 try {
38- const healthResponse = await fetch ( 'http://localhost:3128/health' , {
39+ // Use the Vite proxy endpoints instead of direct localhost:3128
40+ const healthResponse = await fetch ( '/health' , {
3941 method : 'GET' ,
4042 signal : AbortSignal . timeout ( 2000 ) // 2 second timeout
4143 } ) ;
4244
4345 if ( healthResponse . ok ) {
4446 const healthData = await healthResponse . json ( ) ;
45- mcpStatus = 'active' ;
46- lastActivity = healthData . lastAccessed ?
47- new Date ( healthData . lastAccessed ) . toLocaleString ( ) :
48- 'No recent activity' ;
47+ const mcpService = healthData . services ?. mcp ;
4948
50- // Get additional status info
51- try {
52- const statusResponse = await fetch ( 'http://localhost:3128/status' , {
53- method : 'GET' ,
54- signal : AbortSignal . timeout ( 2000 )
55- } ) ;
49+ if ( mcpService && mcpService . status === 'healthy' ) {
50+ mcpStatus = 'active' ;
51+ lastActivity = mcpService . lastAccessed ?
52+ new Date ( mcpService . lastAccessed ) . toLocaleString ( ) :
53+ 'Server running - Ready for requests' ;
5654
57- if ( statusResponse . ok ) {
58- const statusData = await statusResponse . json ( ) ;
59- actionsToday = statusData . totalRequests || 0 ;
55+ // Get capabilities from the actual server response
56+ if ( mcpService . capabilities && Array . isArray ( mcpService . capabilities ) ) {
57+ capabilities = mcpService . capabilities ;
6058 }
61- } catch ( statusError ) {
62- // Status endpoint failed, but health worked
63- console . warn ( 'MCP status endpoint failed:' , statusError ) ;
59+
60+ // Get additional status info
61+ try {
62+ const statusResponse = await fetch ( '/mcp/status' , {
63+ method : 'GET' ,
64+ signal : AbortSignal . timeout ( 2000 )
65+ } ) ;
66+
67+ if ( statusResponse . ok ) {
68+ const statusData = await statusResponse . json ( ) ;
69+ // Show connected clients instead of total requests since request counting has issues
70+ actionsToday = statusData . connectedClients || 0 ;
71+ }
72+ } catch ( statusError ) {
73+ // Status endpoint failed, but health worked, show that it's active
74+ actionsToday = 1 ; // Indicate server is responding
75+ console . warn ( 'MCP status endpoint failed:' , statusError ) ;
76+ }
77+ } else {
78+ mcpStatus = 'inactive' ;
79+ lastActivity = 'MCP service not healthy in health check' ;
6480 }
6581 }
6682 } catch ( healthError ) {
@@ -75,20 +91,14 @@ export function useMcpServers() {
7591 type : 'mcp' ,
7692 status : mcpStatus ,
7793 description : 'Provides Claude Code with access to GraphDone graph operations' ,
78- capabilities : [
79- 'browse-graph' ,
80- 'create-nodes' ,
81- 'manage-edges' ,
82- 'path-finding' ,
83- 'cycle-detection'
84- ] ,
94+ capabilities,
8595 lastActivity,
8696 actionsToday,
8797 connectedGraphs : [ 'current' ] ,
8898 owner : 'system' ,
8999 isLocal : true ,
90100 port : 3128 ,
91- endpoint : 'http://localhost:3128'
101+ endpoint : '/health' // Use proxy endpoint for UI display
92102 } ;
93103
94104 detectedServers . push ( graphdoneMcp ) ;
0 commit comments