Skip to main content

Pytest-style framework for evaluating Model Context Protocol (MCP) servers.

Project description

MCP-Eval: An Evaluation Framework for MCP Servers

MCP-Eval is a developer-first testing framework for Model Context Protocol (MCP) servers, built on the mcp-agent library. It enables you to write clear, concise, and powerful tests to evaluate the performance, reliability, and correctness of your AI agents and the MCP servers they connect to.

Core Features

  • Task-Based Testing: Define tests as async functions where an agent performs a task.
  • Automatic Metrics: Automatically collect detailed metrics on latency, token usage, cost, and tool calls for every test run.
  • Rich Assertions: A powerful set of assertions designed for AI testing, including:
    • contains(): Checks for substrings in responses.
    • tool_was_called(): Verifies that a specific tool was used.
    • tool_arguments_match(): Checks if a tool was called with the correct arguments.
    • cost_under(): Asserts that a test run stays within a defined cost budget.
    • number_of_steps_under(): Ensures an agent completes a task efficiently.
    • objective_succeeded(): Uses an LLM to verify if the agent's response achieved the overall goal.
    • plan_is_efficient(): Uses an LLM to check for redundant or inefficient steps in the agent's execution path.
  • Tool Coverage Reporting: Automatically calculates the percentage of a server's tools that are exercised by your test suite.
  • Automated Test Generation: A CLI tool to automatically generate a baseline test suite for any MCP server.
  • Detailed Reports: Get immediate feedback from rich console reports and generate detailed JSON reports for CI/CD or further analysis.

Getting Started

1. Installation

Install mcp_eval and its dependencies. Make sure mcp-agent is also installed in your environment.

pip install "typer[all]" rich pydantic jinja2

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

pytest_mcp-0.1.0.tar.gz (60.8 kB view details)

Uploaded Source

Built Distribution

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

pytest_mcp-0.1.0-py3-none-any.whl (53.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pytest_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 60.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.11

File hashes

Hashes for pytest_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e2d7731da391c3af369df67474f223a47e5ec7bcf5ba2da92d39a030dbe038b4
MD5 f9de8f7e894693dfcf17710dbc5d8ea8
BLAKE2b-256 652e95ba25c73ce2f8b727e2fd91a7a7fd8abec72b47bfb1b4bd08b4e7a6745a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pytest_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 53.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.11

File hashes

Hashes for pytest_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5b3f6e534a3d4bb2fb5e9096e8da4ba7fe00ccd9113755ceff56cacc030f6d6
MD5 b5ffe1de3768102bd66ed797be2c1892
BLAKE2b-256 512d0d5d1042af581ab49b3edbba3f437c32b166bb9b1755121f580d139d829e

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