list_servers
Fetch a list of all servers in your Ploi account for centralized control and monitoring.
Instructions
List all servers in your Ploi account
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/servers.ts:6-21 (handler)Handler function for the list_servers tool. Calls client.listServers() and returns the JSON response.
server.tool( "list_servers", "List all servers in your Ploi account", {}, async () => { const servers = await client.listServers(); return { content: [ { type: "text" as const, text: JSON.stringify(servers, null, 2), }, ], }; } ); - src/tools/servers.ts:9-9 (schema)Empty schema/input validation (no parameters required for list_servers).
{}, - src/tools/servers.ts:5-90 (registration)Registration function that registers the list_servers tool (and other server tools) on the MCP server.
export function registerServerTools(server: McpServer, client: PloiClient) { server.tool( "list_servers", "List all servers in your Ploi account", {}, async () => { const servers = await client.listServers(); return { content: [ { type: "text" as const, text: JSON.stringify(servers, null, 2), }, ], }; } ); server.tool( "get_server", "Get details of a specific server", { server_id: z.coerce.number().describe("The ID of the server"), }, async ({ server_id }) => { const serverInfo = await client.getServer(server_id); return { content: [ { type: "text" as const, text: JSON.stringify(serverInfo, null, 2), }, ], }; } ); server.tool( "restart_server", "Restart a server", { server_id: z.coerce.number().describe("The ID of the server to restart"), }, async ({ server_id }) => { await client.restartServer(server_id); return { content: [ { type: "text" as const, text: `Server ${server_id} restart initiated successfully`, }, ], }; } ); server.tool( "get_server_logs", "Get recent server activity logs", { server_id: z.coerce.number().describe("The ID of the server"), }, async ({ server_id }) => { try { const logs = await client.getServerLogs(server_id); return { content: [ { type: "text" as const, text: String(logs || "No logs available"), }, ], }; } catch (error) { return { content: [ { type: "text" as const, text: `Error fetching server logs: ${error instanceof Error ? error.message : String(error)}`, }, ], }; } } ); } - src/client.ts:107-113 (helper)Helper method on PloiClient that makes the API call to fetch servers from Ploi API.
async listServers(): Promise<Server[]> { const response = await this.request<PaginatedResponse<Server>>( "GET", "/servers" ); return response.data; }