Skip to main content
Glama

mcp-server-kubernetes

by Flux159
import { expect, test, describe, beforeEach, afterEach } from "vitest"; import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js"; import { ListPromptsResultSchema } from "@modelcontextprotocol/sdk/types.js"; import { asResponseSchema } from "./context-helper"; async function sleep(ms: number): Promise<void> { return new Promise((resolve) => setTimeout(resolve, ms)); } describe("kubernetes prompts", () => { let transport: StdioClientTransport; let client: Client; beforeEach(async () => { try { transport = new StdioClientTransport({ command: "bun", args: ["src/index.ts"], stderr: "pipe", }); client = new Client( { name: "test-client", version: "1.0.0", }, { capabilities: {}, } ); await client.connect(transport); } catch (e) { console.error("Error in beforeEach:", e); throw e; } }); afterEach(async () => { try { await transport.close(); await sleep(1000); } catch (e) { console.error("Error during cleanup:", e); } }); test("list available prompts", async () => { console.log("Listing available prompts..."); const promptsList = await client.request( { method: "prompts/list", }, ListPromptsResultSchema ); expect(promptsList.prompts).toBeDefined(); expect(promptsList.prompts.length).toBeGreaterThan(0); expect(promptsList.prompts).toContainEqual({ name: "k8s-diagnose", description: "Diagnose Kubernetes Resources.", arguments: [ { name: "keyword", description: "A keyword to search pod/node names.", required: true, }, { name: "namespace", description: "Optional: Specify a namespace to narrow down the search.", required: false, default: "all", }, ], }); }); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Flux159/mcp-server-kubernetes'

If you have feedback or need assistance with the MCP directory API, please join our Discord server