Expand description
MCP Server Testing Library
This crate provides comprehensive testing capabilities for MCP servers.
It can be used as both a standalone CLI tool (mcp-tester) and as a library.
§Examples
§Generate Test Scenarios
use mcp_tester::{generate_scenarios, GenerateOptions};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let options = GenerateOptions {
all_tools: true,
with_resources: true,
with_prompts: true,
};
generate_scenarios(
"http://localhost:3000",
"test_scenario.yaml",
options
).await?;
Ok(())
}§Run Test Scenarios
use mcp_tester::run_scenario;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
run_scenario(
"test_scenario.yaml",
"http://localhost:3000",
false // detailed output
).await?;
Ok(())
}Re-exports§
pub use app_validator::AppValidationMode;pub use app_validator::AppValidator;pub use conformance::ConformanceDomain;pub use conformance::ConformanceRunner;pub use post_deploy_report::FailureDetail;pub use post_deploy_report::PostDeployReport;pub use post_deploy_report::TestCommand as PostDeployTestCommand;pub use post_deploy_report::TestOutcome as PostDeployTestOutcome;pub use report::expand_guide_anchor;pub use report::OutputFormat;pub use report::TestCategory;pub use report::TestReport;pub use report::TestResult;pub use report::TestStatus;pub use report::TestSummary;pub use scenario::TestScenario;pub use scenario_executor::ScenarioExecutor;pub use scenario_generator::ScenarioGenerator;pub use tester::ServerTester;
Modules§
- app_
validator - MCP App metadata validation for tools and resources.
- conformance
- MCP Protocol Conformance Test Suite
- diagnostics
- oauth
- OAuth authentication support for CLI tools.
- post_
deploy_ report - Phase 79 Wave 0: machine-readable test-command output contract.
- report
- scenario
- scenario_
executor - scenario_
generator - tester
- validators
Structs§
- Generate
Options - Options for generating test scenarios
- OAuth
Config - OAuth configuration for CLI authentication flows.
- OAuth
Helper - OAuth helper for CLI authentication flows.
Functions§
- create_
tester - Create a server tester instance
- generate_
scenarios - Generate test scenarios from server capabilities
- generate_
scenarios_ with_ transport - Generate test scenarios with explicit transport type
- run_
scenario - Run a test scenario from a file
- run_
scenario_ with_ transport - Run a test scenario with explicit transport type