https://github.com/shannonlal/mcp-postman
MCP Server for running Postman Collections with Newman
https://github.com/shannonlal/mcp-postman
Last synced: 12 days ago
JSON representation
MCP Server for running Postman Collections with Newman
- Host: GitHub
- URL: https://github.com/shannonlal/mcp-postman
- Owner: shannonlal
- License: mit
- Created: 2024-12-31T16:44:39.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-25T00:26:47.000Z (about 1 month ago)
- Last Synced: 2025-04-13T03:08:12.446Z (12 days ago)
- Language: TypeScript
- Size: 364 KB
- Stars: 39
- Watchers: 1
- Forks: 4
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-mcp-servers - Postman - MCP Server for running Postman Collections with Newman (Table of Contents / Developer Tools)
- awesome-mcp-servers - Postman - MCP Server for running Postman Collections with Newman (Table of Contents / Developer Tools)
README
# Postman MCP Server
[](https://smithery.ai/server/mcp-postman)An MCP (Model Context Protocol) server that enables running Postman collections using Newman. This server allows LLMs to execute API tests and get detailed results through a standardized interface.
[](https://youtu.be/d1WgTqwMsog)
## Features
- Run Postman collections using Newman
- Support for environment files
- Support for global variables
- Detailed test results including:
- Overall success/failure status
- Test summary (total, passed, failed)
- Detailed failure information
- Execution timings## Installation
### Installing via Smithery
To install Postman Runner for Claude Desktop automatically via [Smithery](https://smithery.ai/server/mcp-postman):
```bash
npx -y @smithery/cli install mcp-postman --client claude
```### Manual Installation
```bash
# Clone the repository
git clone
cd mcp-postman# Install dependencies
pnpm install# Build the project
pnpm build
```## Usage
### Configuration
Add the server to your Claude desktop configuration file at `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"postman-runner": {
"command": "node",
"args": ["/absolute/path/to/mcp-postman/build/index.js"]
}
}
}
```### Available Tools
#### run-collection
Runs a Postman collection and returns the test results.
**Parameters:**
- `collection` (required): Path or URL to the Postman collection
- `environment` (optional): Path or URL to environment file
- `globals` (optional): Path or URL to globals file
- `iterationCount` (optional): Number of iterations to run**Example Response:**
```json
{
"success": true,
"summary": {
"total": 5,
"failed": 0,
"passed": 5
},
"failures": [],
"timings": {
"started": "2024-03-14T10:00:00.000Z",
"completed": "2024-03-14T10:00:01.000Z",
"duration": 1000
}
}
```### Example Usage in Claude
You can use the server in Claude by asking it to run a Postman collection:
"Run the Postman collection at /path/to/collection.json and tell me if all tests passed"
Claude will:
1. Use the run-collection tool
2. Analyze the test results
3. Provide a human-friendly summary of the execution## Development
### Project Structure
```
src/
├── index.ts # Entry point
├── server/
│ ├── server.ts # MCP Server implementation
│ └── types.ts # Type definitions
└── newman/
└── runner.ts # Newman runner implementation
test/
├── server.test.ts # Server tests
├── newman-runner.test.ts # Runner tests
└── fixtures/ # Test fixtures
└── sample-collection.json
```### Running Tests
```bash
# Run tests
pnpm test# Run tests with coverage
pnpm test:coverage
```### Building
```bash
# Build the project
pnpm build# Clean build artifacts
pnpm clean
```## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request## License
ISC