Skip to main content

Test your MCP server like you test an API — declarative YAML, CI-ready, zero boilerplate.

Project description

mcp-probe-cli

Test your MCP server like you test an API — declarative YAML, CI-ready, zero boilerplate.

Install

pip install mcp-probe-cli

Quick Start

mcp-probe version

Create tests/mcp.yaml:

server:
  command: python
  args: [src/my_server.py]

tests:
  - name: "lists tools"
    call: tools/list
    expect:
      tool_count: 2

Run:

mcp-probe test tests/mcp.yaml

Example Test YAML

server:
  command: python
  args: [src/my_server.py]        # relative to this YAML file's directory
  env:                            # optional — merged with current environment
    LOG_LEVEL: warning

tests:
  # Assert exact tool count
  - name: "lists 3 tools"
    call: tools/list
    expect:
      tool_count: 3

  # Assert a tool name appears in the response
  - name: "echo tool is present"
    call: tools/list
    expect:
      contains: "echo"

  # Call a tool and check output
  - name: "echo returns the input"
    call: tools/call
    params:
      name: echo
      arguments:
        message: "hello"
    expect:
      status: ok           # ok | error
      contains: "hello"

  # Assert the tool call fails
  - name: "unknown tool returns error"
    call: tools/call
    params:
      name: does_not_exist
      arguments: {}
    expect:
      status: error
      contains: "not found"

Commands

Command Description
mcp-probe test <config> Run a test suite from a YAML file
mcp-probe test <config> --json Output results as JSON (for CI parsing)
mcp-probe replay <traces> --server <cmd> Replay captured traces against a live server
mcp-probe replay <traces> --server <cmd> --diff Replay and diff against recorded baselines
mcp-probe version Print the CLI version

GitHub Action

- name: Test MCP server
  uses: mcp-probe/test-action@v1
  with:
    config: tests/mcp.yaml
    github-token: ${{ secrets.GITHUB_TOKEN }}

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_probe_cli-0.1.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_probe_cli-0.1.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file mcp_probe_cli-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_probe_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for mcp_probe_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7ff16a050a32684a865f010faaeae2d930310720fc3e494944bf2d6d234e228b
MD5 e81b527788c266595690ea60f08d0ac1
BLAKE2b-256 aa1569c2ebe1ca5397d076f63165a8f6619e9bc92f67a43a4be0590ad5d5ef40

See more details on using hashes here.

File details

Details for the file mcp_probe_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_probe_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for mcp_probe_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 037f7a28557acbe3f94a85713fab0f1b479e136122142eceb5ea23e1b43c7a39
MD5 c84b3b201ecbefc6133dcce573734ce5
BLAKE2b-256 7515f7a261b9d14fa33c083893532d9270e6a3ab16da16b722b9bbde7bd64ca7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page