MCP.so
Sign In
Servers

xk6-mcp

@dgzlopes

Test MCP servers with k6

Overview

What is xk6-mcp?

xk6-mcp is a k6 extension for testing Model Context Protocol (MCP) servers. It lets developers load-test MCP servers using k6, providing client support for stdio, SSE, and Streamable HTTP transports, built-in pagination, and automatic RED-style metrics.

How to use xk6-mcp?

Install xk6, then build a k6 binary with the extension: xk6 build --with github.com/dgzlopes/xk6-mcp. Import the module in your script with import mcp from 'k6/x/mcp'; and run the built binary: ./k6 run script.js.

Key features of xk6-mcp

  • Supports stdio, SSE, and Streamable HTTP transports
  • Automatic pagination via *All methods (e.g., listAllTools())
  • Manual pagination for fine-grained control
  • Built-in RED metrics (request duration, count, errors)
  • Tagged metrics per MCP method (e.g., GetPrompt, ListTools)
  • Enables connection, tool, resource, and prompt operations

Use cases of xk6-mcp

  • Load testing MCP server responsiveness and reliability
  • Validating tool, resource, and prompt availability under load
  • Monitoring MCP server error rates and latency in k6 tests

FAQ from xk6-mcp

What about non-stdio transports?

Both SSE and Streamable HTTP are supported — use mcp.SSEClient or mcp.StreamableHTTPClient respectively.

What about pagination?

The extension offers two ways: listAllTools() (and similar) automatically handle pagination, while listTools() requires a cursor argument for manual pagination.

What about metrics?

xk6-mcp automatically tracks RED-style metrics: mcp_request_duration (trend), mcp_request_count (counter), and mcp_request_errors (counter), each tagged with the MCP method name.

Is this officially supported by Grafana Labs?

No, this extension is experimental and not officially supported by Grafana Labs.

Tags

More from Other