Skip to main content
Glama

PictMCP

CAUTION

This package has been archived and will no longer be maintained. Please consider usingtakeyaqa/tester-skills.

Pairwise testing for your AI assistant

PictMCP is an MCP server for software developers who design test cases with AI assistants, providing reliable, algorithm-correct pairwise test generation.

Why use this?

  • AI is great at test design, but not at combinatorial math.

  • Pairwise generation must be deterministic and correct.

  • PictMCP separates thinking (AI) from calculation (PICT).

Prefer a GUI? Check out PictRider.

Related MCP server: Percepta MCP Server

Features

  • 🔒 Local Processing - All processing runs locally with no external network calls

  • WebAssembly Powered - Fast execution using Microsoft's PICT algorithm compiled to WebAssembly

  • 🔗 Constraint Support - Define constraints to filter out invalid parameter combinations

  • 📊 Structured Output - Returns well-structured JSON results for easy integration

Installation

Prerequisites

MCP Client Configuration

Add the following configuration to your MCP client. This is an example configuration; the exact format may vary depending on your client. Please refer to your MCP client's documentation for details.

{
  "mcpServers": {
    "PictMCP": {
      "command": "npx",
      "args": ["-y", "pictmcp"]
    }
  }
}

Quick Start

Once installed, you can ask your AI assistant to generate test cases using pairwise combinatorial testing.

Example Prompt

Generate test cases for a login form with the following parameters:

  • Browser: Chrome, Firefox, Safari

  • OS: Windows, macOS, Linux

  • Language: English, Japanese, Spanish

The AI assistant will use the generate-test-cases tool to create an optimized set of test cases that covers all pairwise combinations.

Example Result

AI assistants typically format the results as a table:

#

Browser

OS

Language

1

Chrome

Linux

Japanese

2

Chrome

macOS

Spanish

3

Safari

Linux

Spanish

4

Firefox

Linux

English

5

Safari

Windows

English

6

Firefox

Windows

Spanish

7

Firefox

macOS

Japanese

8

Safari

macOS

Japanese

9

Chrome

macOS

English

10

Chrome

Windows

Japanese

Example with Constraints

Generate test cases for:

  • Browser: Chrome, Firefox, Safari

  • OS: Windows, macOS, Linux

  • Language: English, Japanese, Spanish

With constraint: Safari only works on macOS

You can describe constraints in plain language — the AI assistant will convert them into PICT constraint syntax automatically.

#

Browser

OS

Language

1

Firefox

Linux

Spanish

2

Chrome

Windows

Spanish

3

Firefox

Windows

Japanese

4

Chrome

Linux

Japanese

5

Chrome

macOS

English

6

Firefox

Windows

English

7

Chrome

Linux

English

8

Safari

macOS

Spanish

9

Safari

macOS

Japanese

10

Firefox

macOS

Spanish

11

Safari

macOS

English

FAQ

Does this communicate with external servers?

No. All processing runs locally with no external network calls.

I already use the pict CLI. Do I need this?

If your AI agent can execute CLI commands directly, you may not need this tool. However, PictMCP provides:

  • A standardized MCP interface for AI assistants

  • No need to install PICT separately (WebAssembly-based)

  • Structured JSON output instead of TSV

What is pairwise testing?

Pairwise testing (also known as all-pairs testing) is a combinatorial testing method that generates test cases covering all possible pairs of input parameters. This significantly reduces the number of test cases while maintaining high defect detection rates.

What constraint syntax is supported?

You don't need to write PICT syntax directly. Simply describe constraints in natural language and your AI assistant will handle the conversion. PictMCP supports the full PICT constraint syntax. See the PICT documentation for details.

License

This project is licensed under the MIT License—see the LICENSE file for details.

Disclaimer

PictMCP is provided "as is", without warranty of any kind. The authors are not liable for any damages arising from its use.

Generated test cases do not guarantee complete coverage or the absence of defects. Please supplement pairwise testing with other strategies as appropriate.

PictMCP is an independent project and is not affiliated with Microsoft Corporation.


If you find PictMCP useful, please consider starring the repository.

Available Tools

1 tool
generate-test-casesGenerate test casesC

Executes PICT with the given parameters and options to generate test cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
parametersYesRepresents a parameter definition for PICT test case generation.
constraintsTextNoPICT constraint expressions to filter invalid combinations.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYesRepresents the parsed result of PICT test case generation.
messageNoOptional message output from PICT, typically containing information.
modelFileYesThe complete model file content that was passed to PICT.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It only states that it executes PICT to generate test cases, but does not disclose side effects (e.g., file system changes, network calls), destructive potential, rate limits, or authentication needs. This is insufficient for a tool that executes external processes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the core action concisely. It is front-loaded but could benefit from slightly more context without losing conciseness. Currently, it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 2 parameters, one required array, and an optional string, the description is too brief. It does not explain the output format (despite an output schema being present), error handling, or any process details. An agent would lack important context for successful invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description says 'with the given parameters and options' but adds no new meaning beyond the schema descriptions. It does not clarify how the two parameters relate or provide default behavior. Thus, it provides no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies 'Executes PICT' which is a specific tool for combinatorial test generation, clearly stating the action and resource. It mentions inputs and output (generate test cases). However, it assumes knowledge of what PICT is, and without sibling tools, differentiation is not needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, prerequisites, or when not to use it. The description lacks any usage context or exclusion criteria, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools.

Naming Consistency5/5

The single tool name 'generate-test-cases' follows a clear verb_noun snake_case pattern, consistent in itself.

Tool Count2/5

A single tool is below the typical 3-15 range for a well-scoped server, feeling too limited for most use cases.

Completeness2/5

Only one operation is provided; missing complementary tools for managing configurations, viewing results, or iterative testing makes the surface incomplete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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/takeyaqa/PictMCP'

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