feat: add folderId parameter to runCollection for folder-specific execution#96
Closed
jaredboynton wants to merge 121 commits intopostmanlabs:mainfrom
Closed
feat: add folderId parameter to runCollection for folder-specific execution#96jaredboynton wants to merge 121 commits intopostmanlabs:mainfrom
jaredboynton wants to merge 121 commits intopostmanlabs:mainfrom
Conversation
* feat: first setup * refactor: apply @akira28 suggestions * docs: apply @akinard-postman suggestions Co-authored-by: Ashley Kinard <113702138+akinard-postman@users.noreply.github.com> * refactor: README.md --------- Co-authored-by: Ashley Kinard <113702138+akinard-postman@users.noreply.github.com>
postmanlabs#2) * fix: update HTTP server URL and authorization method in README example * feat: add codeowners
…setup-description feat: improve stdio setup
…anlabs#10) * feat: add MCP HTTP streamable server installation instructions * Update README.md Co-authored-by: Ashley Kinard <113702138+akinard-postman@users.noreply.github.com> * Update README.md Co-authored-by: Ashley Kinard <113702138+akinard-postman@users.noreply.github.com> --------- Co-authored-by: Ashley Kinard <113702138+akinard-postman@users.noreply.github.com>
* feat: add link the the public MCP collection to readme * Update README.md Co-authored-by: Ashley Kinard <113702138+akinard-postman@users.noreply.github.com> --------- Co-authored-by: Ashley Kinard <113702138+akinard-postman@users.noreply.github.com>
Co-authored-by: postman-distribution-bot[bot] <124679000+postman-distribution-bot[bot]@users.noreply.github.com>
* chore: sync tools from postman-mcp-server * refactor: re-enable exec property --------- Co-authored-by: postman-distribution-bot[bot] <124679000+postman-distribution-bot[bot]@users.noreply.github.com> Co-authored-by: Diego García <diego.garcia@postman.com>
Co-authored-by: postman-distribution-bot[bot] <124679000+postman-distribution-bot[bot]@users.noreply.github.com>
prepend with "file://" if on windows. Addresses postmanlabs#19
* feat: migrate tests to Vitest and add integration tests - Updated testing framework from Jest to Vitest in package.json. - Added GitHub Actions workflow for running Vitest tests on push and pull requests. - Created integration tests for workspace operations using Vitest, including workspace creation, listing, searching, updating, and deletion. - Introduced a WorkspaceDataFactory for generating test workspace data and tracking performance metrics. * fix: update CODEOWNERS * feat: run ci on multiple os * fixup! feat: migrate tests to Vitest and add integration tests * fix: windows tools import
* feat: add environments crud * refactor: unify direct tests into 1 file * fixup! refactor: unify direct tests into 1 file * refactor: remove unused benchmark insights
…s#26) Update README.md Add a note about the 128 tool limit in VS Code.
Co-authored-by: postman-distribution-bot[bot] <124679000+postman-distribution-bot[bot]@users.noreply.github.com>
fix: adding key format
* fix: mcp registry release * fixup! fix: mcp registry release
…s#83) * chore: sync tools, entrypoint, and tests from postman-mcp-server * refactor: remove unused dependencies * chore: npm run build --------- Co-authored-by: postman-distribution-bot[bot] <124679000+postman-distribution-bot[bot]@users.noreply.github.com> Co-authored-by: Diego García <diego.garcia@postman.com>
* feat: add code generation toolset and update enabled resources - Introduced `getCodeGenerationInstructions` tool to provide step-by-step guidance for generating API client code from Postman collections. - Added `getCollectionMap` tool to retrieve a recursive index of all folders and requests in a Postman collection. - Updated `enabledResources` to include new tools and modified the `excludedFromGeneration` list. - Enhanced the `run` function to support a new `--code` argument for selecting code generation tools. - Adjusted `ServerContext` to accommodate the new 'code' server type. * feat: add code toolset bundling flows * feat: add searchPostmanElements tool * Various README updates for code toolset * Tweaks to code manifest description and long description --------- Co-authored-by: Josh Dzielak <174777+joshed-io@users.noreply.github.com>
* refactor: move to OIDC publications * fixup! refactor: move to OIDC publications * fixup! fixup! refactor: move to OIDC publications * fixup! fixup! fixup! refactor: move to OIDC publications * fixup! fixup! fixup! fixup! refactor: move to OIDC publications
* Revert "refactor: move to OIDC publications (postmanlabs#89)" This reverts commit 2b08417. * refactor: move to OIDC publications
…cution - Add optional folderId parameter to runCollection tool schema - Add folderId to CollectionRunParams interface in models.ts - Implement resolveFolderName() in executor.ts to convert folder IDs to names - Newman's folder option expects folder names, not IDs - Supports matching by id, _postman_id, or uid fields - Falls back to original value for direct folder name usage - Update buildNewmanOptions() to resolve folder ID before passing to Newman - Add debug logging to show resolved folder name during execution Bug fixes: - Upgrade Newman to 6.2.1 for Node.js 22 compatibility (undici fix) - Remove delayRequest to improve execution speed within MCP timeouts This allows running specific folders within a collection instead of the entire collection, useful for targeted test execution.
The dist/ folder was missing the compiled JavaScript for the folderId feature. This caused '0 tools discovered' when running the MCP server from dist/.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds support for executing specific folders within a Postman collection using the
runCollectiontool.Changes
New Feature: Folder Execution Support
The
runCollectiontool now accepts an optionalfolderIdparameter that allows running only the requests within a specific folder of a collection, rather than the entire collection.Implementation details:
folderIdto therunCollectiontool schema inrunCollection.tsfolderIdtoCollectionRunParamsinterface inmodels.tsresolveFolderName()inexecutor.tsto convert folder IDs to folder namesfolderoption expects folder names, not IDsid,_postman_id, oruidfieldsbuildNewmanOptions()to resolve folder ID before passing to NewmanUsage:
The
folderIdparameter accepts either:17929829-d36b7575-71d6-4eee-8a48-cbda89c11af8)Users API)Bug Fixes
delayRequestto improve execution speed within MCP timeout limitsTesting
Tested with a collection containing 5 folders (16 total requests). All folders executed successfully with 100% test pass rate, completing in under 0.5 seconds each.