1. Conduid
  2. Developer Tools
  3. Xk6 MCP
MCP server · Developer Tools

Xk6 MCP

Test MCP servers with k6

Unclaimed AGPL-3.0 xk6devtools
64Good

Scored 1 hours ago · breakdown

About Xk6 MCP

Xk6 MCP is an MCP server published by grafana in the Developer Tools category: test MCP servers with k6.

The repository has 21 stars and 8 forks, with the last commit 3 hours ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/grafana/xk6-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Xk6 MCP

Powered by Claude · Grounded in docs

I know everything about Xk6 MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.0.3v0.0.3 · 16 Jul 2025
v0.0.2v0.0.2 · 15 Jul 2025Complete rewrite of the extension! Different MCP SDK, more transports supported, pagination helpers, and more.
v0.0.1v0.0.1 · 14 Mar 2025

README

xk6-mcp

A k6 extension for testing Model Context Protocol (MCP) servers.

[!CAUTION] This extension is experimental and not officially supported by Grafana Labs.

Installation

  1. First, ensure you have xk6 installed:
go install go.k6.io/xk6/cmd/xk6@latest
  1. Build a k6 binary with the xk6-mcp extension:
xk6 build --with github.com/dgzlopes/xk6-mcp
  1. Import the mcp module in your script, at the top of your test script:
import mcp from 'k6/x/mcp';
  1. The built binary will be in your current directory. You can move it to your PATH or use it directly:
./k6 run script.js

Example

⚠️ This example depends on mcp-example-server
You can download the latest version from the releases page.

import mcp from 'k6/x/mcp';

export default function () {
  // Initialize MCP Client with stdio transport
  const client = new mcp.StdioClient({
    path: './mcp-example-server',
  });

  // Check connection to MCP server
  console.log('MCP server running:', client.ping());

  // List all available tools
  console.log('Tools available:');
  const tools = client.listAllTools().tools;
  tools.forEach(tool => console.log(`  - ${tool.name}`));

  // List all available resources
  console.log('Resources available:');
  const resources = client.listAllResources().resources;
  resources.forEach(resource => console.log(`  - ${resource.uri}`));

  // List all available prompts
  console.log('Prompts available:');
  const prompts = client.listAllPrompts().prompts;
  prompts.forEach(prompt => console.log(`  - ${prompt.name}`));

  // Call a sample tool
  const toolResult = client.callTool({ name: 'greet', arguments: { name: 'Grafana k6' } });
  console.log(`Greet tool response: "${toolResult.content[0].text}"`);

  // Read a sample resource
  const resourceContent = client.readResource({ uri: 'embedded:info' });
  console.log(`Resource content: ${resourceContent.contents[0].text}`);

  // Get a sample prompt
  const prompt = client.getPrompt({ name: 'greet' });
  console.log(`Prompt: ${prompt.messages[0].content.text}`);
}

F.A.Q.

What about non-stdio transports?

Both SSE and Streamable HTTP are supported too!

You can use them like this:

// SSE
const client = new mcp.SSEClient({
    base_url: 'http://localhost:3002',
});

// Streamable HTTP
const client = new mcp.StreamableHTTPClient({
    base_url: 'http://localhost:3001',
});

What about pagination?

The extension offers two ways to list resources, tools, and prompts:

// With All: Handles pagination automatically
const allTools = client.listAllTools();
const allResources = client.listAllResources();
const allPrompts = client.listAllPrompts();

// Without All: Requires manual pagination
const first = client.listTools()
const second = client.listTools({ cursor: first.next_cursor });

What about metrics?

The extension automatically tracks RED-style metrics for every MCP operation:

  • mcp_request_duration (trend): Duration of each MCP request (in milliseconds).
  • mcp_request_count (counter): Number of MCP requests made.
  • mcp_request_errors (counter): Number of failed MCP requests.

Each metric is tagged wit:

  • method: The MCP method called (e.g., GetPrompt, ListTools).

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Xk6 MCP

How do I install Xk6 MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Xk6 MCP safe to use with an AI agent?

Its trust score is 64 out of 100 (good). It passes 4 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Xk6 MCP still maintained?

Yes — the last commit was 3 hours ago. The repository has 21 stars and 8 forks and 24 open issues.