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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ff16a050a32684a865f010faaeae2d930310720fc3e494944bf2d6d234e228b
|
|
| MD5 |
e81b527788c266595690ea60f08d0ac1
|
|
| BLAKE2b-256 |
aa1569c2ebe1ca5397d076f63165a8f6619e9bc92f67a43a4be0590ad5d5ef40
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
037f7a28557acbe3f94a85713fab0f1b479e136122142eceb5ea23e1b43c7a39
|
|
| MD5 |
c84b3b201ecbefc6133dcce573734ce5
|
|
| BLAKE2b-256 |
7515f7a261b9d14fa33c083893532d9270e6a3ab16da16b722b9bbde7bd64ca7
|