https://github.com/moekiorg/mcp-testing-library
Test environment for MCP servers
https://github.com/moekiorg/mcp-testing-library
Last synced: 5 months ago
JSON representation
Test environment for MCP servers
- Host: GitHub
- URL: https://github.com/moekiorg/mcp-testing-library
- Owner: moekiorg
- Created: 2025-04-05T05:59:48.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-04-10T05:35:26.000Z (7 months ago)
- Last Synced: 2025-06-08T09:12:00.659Z (5 months ago)
- Language: TypeScript
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-mcp-servers - **mcp-testing-library** - Test environment for MCP servers `typescript` `mcp` `server` `npm install moekiorg/mcp-testing-library` (🌐 Web Development)
README
# MCP 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:
```bash
npm install --save-dev mcp-testing-library
```
## Usage
### Command Line Options
```
Usage: mcpt [options] [test-files...]
Options:
-v, --version output version number
-e, --exclude Exclude files matching the pattern (comma-separated)
(default: "**/node_modules/**,**/dist/**")
-t, --timeout Set test timeout in milliseconds (default: "30000")
--pattern 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:
```bash
mcpt
```
Run a specific test file:
```bash
mcpt sample/index.test.ts
```
Run tests with a longer timeout:
```bash
mcpt --timeout 10000
```
Run tests without color output:
```bash
mcpt --no-color
```
Exclude specific directories:
```bash
mcpt --exclude "**/node_modules/**,**/dist/**,**/build/**"
```
## Using in Code
You can also use the MCP test utilities directly in your code:
```typescript
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