MCP server for running Postman Collections locally via Newman. Allows for simple execution of Postman Server and returns the results of whether the collection passed all the tests.
Documentation
Postman MCP Server
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.
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:
npx -y @smithery/cli install mcp-postman --client claude
```\n\n### Manual Installation
```bash\n\n# Clone the repository
git clone https://github.com/shannonlal/mcp-postman.git
cd mcp-postman\n\n# Install dependencies
pnpm install\n\n# Build the project
pnpm build
```\n\n## 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"]
}
}
}
```\n\n### 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
}
}
```\n\n### 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
```plaintext
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
```\n\n### Running Tests
```bash\n\n# Run tests
pnpm test\n\n# Run tests with coverage
pnpm test:coverage
```\n\n### Building
```bash\n\n# Build the project
pnpm build\n\n# Clean build artifacts
pnpm clean
```\n\n## 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