Skip to content

Commit 004ca9e

Browse files
authored
docs(client): improve server reliability and error handling (#560)
* docs(client): improve server reliability and error handling - Add a health check step using Ping to verify server availability - Change error handling for listing tools and resources to terminate the program on failure Signed-off-by: Bo-Yi Wu <[email protected]> * style: remove emojis for neutral health check log output - Remove emojis from health check log and success messages for a more neutral output Signed-off-by: appleboy <[email protected]> --------- Signed-off-by: Bo-Yi Wu <[email protected]> Signed-off-by: appleboy <[email protected]>
1 parent d2f81b6 commit 004ca9e

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

examples/simple_client/main.go

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -121,18 +121,24 @@ func main() {
121121
serverInfo.ServerInfo.Version)
122122
fmt.Printf("Server capabilities: %+v\n", serverInfo.Capabilities)
123123

124+
// Perform health check using ping
125+
fmt.Println("Performing health check...")
126+
if err := c.Ping(ctx); err != nil {
127+
log.Fatalf("Health check failed: %v", err)
128+
}
129+
fmt.Println("Server is alive and responding")
130+
124131
// List available tools if the server supports them
125132
if serverInfo.Capabilities.Tools != nil {
126133
fmt.Println("Fetching available tools...")
127134
toolsRequest := mcp.ListToolsRequest{}
128135
toolsResult, err := c.ListTools(ctx, toolsRequest)
129136
if err != nil {
130-
log.Printf("Failed to list tools: %v", err)
131-
} else {
132-
fmt.Printf("Server has %d tools available\n", len(toolsResult.Tools))
133-
for i, tool := range toolsResult.Tools {
134-
fmt.Printf(" %d. %s - %s\n", i+1, tool.Name, tool.Description)
135-
}
137+
log.Fatalf("Failed to list tools: %v", err)
138+
}
139+
fmt.Printf("Server has %d tools available\n", len(toolsResult.Tools))
140+
for i, tool := range toolsResult.Tools {
141+
fmt.Printf(" %d. %s - %s\n", i+1, tool.Name, tool.Description)
136142
}
137143
}
138144

@@ -142,12 +148,11 @@ func main() {
142148
resourcesRequest := mcp.ListResourcesRequest{}
143149
resourcesResult, err := c.ListResources(ctx, resourcesRequest)
144150
if err != nil {
145-
log.Printf("Failed to list resources: %v", err)
146-
} else {
147-
fmt.Printf("Server has %d resources available\n", len(resourcesResult.Resources))
148-
for i, resource := range resourcesResult.Resources {
149-
fmt.Printf(" %d. %s - %s\n", i+1, resource.URI, resource.Name)
150-
}
151+
log.Fatalf("Failed to list resources: %v", err)
152+
}
153+
fmt.Printf("Server has %d resources available\n", len(resourcesResult.Resources))
154+
for i, resource := range resourcesResult.Resources {
155+
fmt.Printf(" %d. %s - %s\n", i+1, resource.URI, resource.Name)
151156
}
152157
}
153158

0 commit comments

Comments
 (0)