mcp-postman

MCP (Model Context Protocol) サーバーで、Postman コレクションを Newman を使用して実行することができます。このサーバーは、LLM が API テストを実行し、標準化されたインターフェースを通じて詳細な結果を取得できるようにします。環境ファイルやグローバル変数のサポートもあり、テスト結果の詳細な情報を提供します。

GitHubスター

76

ユーザー評価

未評価

お気に入り

0

閲覧数

28

フォーク

17

イシュー

7

README
Postman MCP Server

smithery badge

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.

MCP Postman Server Demo

Postman Server MCP server

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
Manual Installation
# Clone the repository
git clone <repository-url>
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:

{
  "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:

{
  "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
# Run tests
pnpm test

# Run tests with coverage
pnpm test:coverage
Building
# 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