About MCP Testing Library
MCP Testing Library is a TypeScript CLI and test utility for developers validating MCP servers. It runs selected test files or patterns and offers configurable timeouts, exclusions, and verbose output.
Key features
- 01Run MCP tests from the CLI
- 02Select files or match patterns
- 03Configure timeouts and exclusions
- 04Use test utilities in TypeScript code
- 05Verbose and colorized output
Use cases
- 01Run a single MCP server test file
- 02Test files matching a project pattern
- 03Extend timeouts for slower tests
MCP support
It provides CLI and code-level utilities for running tests against MCP servers and is compatible with the Model Context Protocol SDK.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Testing Library
A CLI tool for running Model Context Protocol (MCP) tests.
Features
- CLI tool for running MCP tests
- Supports running individual test files or test patterns
- Configurable test timeout and exclusion patterns
- Verbose mode for detailed output
- Written in TypeScript with full type support
- Compatible with the Model Context Protocol SDK
- Colorful test output for better readability
- Comprehensive test coverage
Installation
To install as a development dependency in your project:
npm install --save-dev mcp-testing-library
Usage
Command Line Options
Usage: mcpt [options] [test-files...]
Options:
-v, --version output version number
-e, --exclude <patterns> Exclude files matching the pattern (comma-separated)
(default: "**/node_modules/**,**/dist/**")
-t, --timeout <ms> Set test timeout in milliseconds (default: "30000")
--pattern <glob> Test file pattern to match (default: "**/*.test.{js,ts}")
--no-color Disable colored output
-h, --help display help for command
Examples
Run all tests in the project:
mcpt
Run a specific test file:
mcpt sample/index.test.ts
Run tests with a longer timeout:
mcpt --timeout 10000
Run tests without color output:
mcpt --no-color
Exclude specific directories:
mcpt --exclude "**/node_modules/**,**/dist/**,**/build/**"
Using in Code
You can also use the MCP test utilities directly in your code:
import { mcpt, expect } from 'mcp-testing-library';
// Test a filesystem MCP server
mcpt(
{
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-filesystem', '/path/to/directory'],
},
async ({ tools, prompts, resources, isMethodExist }) => {
expect(tools.length).to.be.greaterThan(0);
expect(await isMethodExist('list-tools')).to.eq(true);
// More assertions...
}
);
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.