A CLI tool for running Model Context Protocol (MCP) tests.
- 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
To install as a development dependency in your project:
npm install --save-dev mcp-testing-library
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
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/**"
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...
}
);
MIT