run-collection
Execute Postman Collections with Newman to conduct API tests, analyze results, and integrate testing workflows via a standardized interface.
Instructions
Run a Postman Collection using Newman
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| collection | Yes | Path or URL to the Postman collection | |
| environment | No | Optional path or URL to environment file | |
| globals | No | Optional path or URL to globals file | |
| iterationCount | No | Optional number of iterations to run |
Implementation Reference
- build/server/server.js:60-90 (handler)MCP tool handler for 'run-collection': validates input, executes via NewmanRunner, formats result or error response.this.server.setRequestHandler(CallToolRequestSchema, async (request) => { if (request.params.name !== "run-collection") { throw new Error(`Unknown tool: ${request.params.name}`); } // Validate input const args = RunCollectionSchema.parse(request.params.arguments); try { // Run the collection const result = await this.runner.runCollection(args); // Format the response return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } catch (error) { const errorMessage = error instanceof Error ? error.message : String(error); return { content: [{ type: "text", text: JSON.stringify({ error: errorMessage, success: false }, null, 2) }], isError: true }; } });
- build/server/server.js:6-11 (schema)Zod schema for validating 'run-collection' tool input parameters.const RunCollectionSchema = z.object({ collection: z.string(), environment: z.string().optional(), globals: z.string().optional(), iterationCount: z.number().min(1).optional() });
- build/server/server.js:29-58 (registration)Registers the 'run-collection' tool in the MCP server's listTools handler, including schema and description.this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ { name: "run-collection", description: "Run a Postman Collection using Newman", inputSchema: { type: "object", properties: { collection: { type: "string", description: "Path or URL to the Postman collection" }, environment: { type: "string", description: "Optional path or URL to environment file" }, globals: { type: "string", description: "Optional path or URL to globals file" }, iterationCount: { type: "number", description: "Optional number of iterations to run" } }, required: ["collection"] } } ] }));