Reqly (RutvikPansare/Reqly) is an MCP server listed on the M8ven Trust Index. It scores 48 out of 100, grade D. It declares 69 tools. No publisher has claimed this listing.
API testing for AI agents. From codebase to CI in one agent session.
Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.
How we verified
Verified is a snapshot. Live keeps it current, and builds your track record.
⚡ Connect GitHub → continuous verification on every pushwhy connect →Who stands behind it
RutvikPansare
Source: Glama · also listed on github_repo_search
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →
Install from
The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.
These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.
add_flow_stepAppends a step to the end of a flow. Step types: run (fire a saved request, optional retry), extract (pull a value from the last response into flow-local scope or the active env), assert (check the last response, reuses the same assertion engine as requests), poll (fire repeatedly until a condition …
add_workspace_projectAdd a project directory to the Reqly workspace. Use list_workspace_projects to see existing projects. The directory must contain a .reqly/ folder.
configure_secret_providerStores secret provider credentials in ~/.reqly/config.json under secretProviders.<provider> (global config, never the project repo), then re-resolves the project's .env vault URIs. provider: "bitwarden" (config keys: accessToken, organizationId), "onepassword" (config key: serviceAccountToken), "aws…
create_collectionCreates a new named collection in .reqly/. When to use: after reading the project's route files (Express routes/, Next.js app/api/, FastAPI routers), before adding requests for that service. Preferred pattern: call this once per service, and supply the `requests` array to scaffold all endpoints foun…
create_environmentCreates a new named environment (e.g. "development", "staging") for holding variables like baseUrl and auth tokens. When to use: at the start of building a collection, before set_variable. Preferred pattern: create_environment, then set_variable for baseUrl and tokens, then create_collection and cre…
create_flowCreates a new named flow in .reqly/flows/. A flow is an ordered sequence of steps that orchestrates saved requests into an end-to-end automation test (run/extract/assert/poll/conditional), distinct from a collection which just holds saved requests. When to use: after the requests it needs already ex…
create_requestAdds a request to an existing collection. When to use: for each endpoint found while reading route handler source - infer method, URL, headers, and body shape from the handler, TypeScript types, Zod schemas, and validation middleware are the most reliable sources. Preferred pattern: call create_coll…
create_workspaceCreate a named Reqly workspace at ~/.reqly/workspaces/<name>/workspace.yaml. A workspace groups multiple repos under stable aliases so cross-repo flows can reference requests from any linked repo. Returns the new workspace config { name, repos: [] }. Link repos with link_workspace_repo, activate wit…
delete_collection_authRemoves the collection-level auth configuration from a named collection. After deletion, requests in the collection will not have any auth injected unless they have their own request-level auth configured. Does not error if no collection auth was set. When to use: to clear a shared auth config that …
delete_collection_specRemoves the OpenAPI/Swagger spec configuration from a collection. run_request stops returning contractViolations for requests in this collection afterward.
delete_collection_variableRemoves a single collection-level variable from a named collection. When to use: to clean up a stale or misnamed collection variable. Does not error if the key was already absent.
delete_flow_stepRemoves a step from a flow by stepId.
delete_flowPermanently deletes a flow and all of its steps.
delete_variableRemoves a variable from an environment. When to use: cleaning up a stale or wrong baseUrl/token before setting a new one with set_variable.
duplicate_collectionDeep-copies a collection (all its requests and metadata) under a new name, "Copy of <name>" (or "Copy of <name> (1)", etc. if that name is already taken). When to use: to branch a collection before making experimental changes, or to use one collection as a starting template for another. Returns the …
duplicate_environmentCopies an environment (all its variables) under a new name, "Copy of <name>" (or "Copy of <name> (1)", etc. if that name is already taken). When to use: to branch an environment (e.g. clone "staging" before tweaking it into "staging-debug") without touching the original. Returns the new environment.
exec_with_proxyStarts the auto-capture proxy and runs the given shell command with HTTP_PROXY/HTTPS_PROXY injected into its environment, so every outbound request the command makes is captured into a Reqly collection. Always tries to spawn the command itself as a detached background process first - only falls back…
export_collectionExports a collection to a portable format. Use 'postman' to generate a Postman v2.1 JSON file that can be imported into Postman or Insomnia. Use 'openapi' to generate an OpenAPI 3.0 JSON spec. Use 'docs' to generate a Markdown API reference. Returns the exported content as a string.
export_environmentexport_flow_ciGenerates a GitHub Actions workflow that installs Reqly and runs a flow in CI, writes it to .github/workflows/<flow>.yml, and returns the file path. When to use: right after a flow is working locally, to wire up CI for it without the developer touching a terminal.
generate_codeGenerates a code snippet for a given HTTP request in the specified language/library. Use this when a developer needs to reproduce a request in their application code. Returns the snippet as a string. Supported targets: "curl" (shell), "fetch" (browser/Node.js), "axios" (Node.js).
get_collection_authReturns the collection-level auth configuration for a named collection. Collection auth is applied to every request in the collection unless a request has its own auth configured (or explicitly sets type:none to opt out). When to use: before calling set_collection_auth to check what is already set, …
get_collection_specReturns the OpenAPI/Swagger spec configuration for a collection, including whether it is currently loaded and how many operations it defines. When to use: to check whether contract validation is set up before debugging why run_request is not returning contractViolations.
get_collection_variablesLists the collection-level variables for a named collection. Collection variables are always available to every request in that collection, regardless of the active environment, and they win over environment variables of the same name. When to use: to check what {{baseUrl}}/tokens a collection alrea…
get_dotenv_filesReturns which .env-style files Reqly is currently loading and which keys they define. Values are omitted for security - use get_variables to resolve a specific key at runtime. When to use: to check whether a .env file is actually being picked up before debugging why a {{VAR}} is not resolving.
get_flowReturns a flow by name, including its full step list and any data rows. Use this to inspect a flow before editing it with add_flow_step/update_flow_step/delete_flow_step.
get_inherited_headersReturns the headers that will be automatically injected into a request based on its auth configuration, before the request is fired. Use this to inspect what Authorization or API key headers Reqly will add, without having to fire the request. Useful for debugging auth issues or verifying credentials…
get_mock_statusReturns the current status of the mock server: whether it is running, which collection it is serving, the port, and the list of active routes with example counts.
get_projectReturns the absolute path of the project directory Reqly is currently pointed at (the parent of its .reqly collections folder), plus how that path was resolved. When to use: call on first connection to verify Reqly is operating on the expected directory - catches misconfiguration before any tool cal…
get_proxy_statusReturns the current status of the capture proxy: { running: boolean, port?: number, collectionName?: string }. When to use: before calling start_proxy (to avoid a double-start error) or to check where captured traffic is being saved.
get_response_fullRetrieves the complete untruncated last response for a named request. When to use: only after get_response or run_request showed a truncated body and you need the full payload - e.g. to inspect a field that got cut off.
get_responseRetrieves the last cached response for a named request (truncated if it was large). When to use: right after run_request, to inspect the result without re-firing the request. Call get_response_full instead if you need the untruncated body.
get_secret_statusLists every vault secret URI detected in the project's .env files with its resolution status. Returns { secrets: [{ key, uri, source, status: "resolved" | "error", error? }] } - values are never included. When to use: before running a collection that depends on .env vault secrets, to check all of th…
get_secretResolves a vault secret URI (bw://project/secret for Bitwarden, op://vault/item/field for 1Password, aws://secret-name or aws://arn:... for AWS Secrets Manager, vault://mount/data/path/field for HashiCorp Vault KV v2) and returns { resolved: true, preview } where preview is only the first 4 characte…
get_variablesLists all variables in a named environment (or active environment), plus any variables set during the last script run if collectionName is provided. When to use: to check what baseUrl/tokens already exist before calling set_variable, or to debug why a {{variable}} in a request is not resolving. Scri…
import_collectionImports a collection into Reqly from a file. Supported formats: "postman" (Postman v2.1 JSON), "bruno" (Bruno .bru file or directory), "insomnia" (Insomnia v4 JSON export), "openapi" (OpenAPI 3.0 or Swagger 2.0 JSON/YAML). When to use: when a developer already has an existing collection and wants to…
import_environmentinstall_middlewareDetects the project framework and returns the install command and code snippet to add Reqly's inbound capture middleware. Proactively suggest this when: the user is working on a backend API, the user asks what Reqly can do, or the user wants to build a collection but their codebase is complex or und…
introspect_graphqllink_workspace_repoLink a local repo into a named workspace under a stable alias (e.g. alias "auth" -> /repos/auth-service). Aliases are shared across teammates; each developer links their own local path. Upserts if the alias already exists. Returns the updated workspace config { name, repos: [{ alias, path }], shared…
list_collectionsReturns all collections and requests in the active project. When to use: call this first on any new session, before creating anything, to see what already exists and avoid duplicating collections or requests.
list_exampleslist_flowsLists every flow stored in .reqly/flows/, including their steps and data rows. Use this to see what flows already exist before creating a new one.
list_grpc_servicesDiscovers gRPC services and methods from a running server using gRPC server reflection. Use this when no .proto file is available - the server must have grpc.reflection.v1alpha.ServerReflection enabled. Returns: { services: [{ name }], rawFileDescriptors: Buffer[] }. After calling this, use the serv…
list_spec_operationsLists every operation (operationId, method, path, summary) in the OpenAPI/Swagger spec configured on a collection. When to use: to pick the right operationId to set via specOperationId on a request, especially when the request URL does not cleanly map to a spec path (e.g. a custom mockPath or an unu…
list_workspace_projectsList all projects configured in the Reqly workspace. Returns the active project and any additional projects stored in ~/.reqly/config.json.
list_workspacesList all named Reqly workspaces from ~/.reqly/workspaces/ and which one is active. Returns { workspaces: [{ name, repos: [{ alias, path }], sharedEnv? }], active: <name> | null }. Distinct from list_workspace_projects, which lists the flat multi-project path list.
move_requestMoves a saved request from one collection to another. If a request with the same name already exists in the target collection, the moved request is renamed with a "(1)", "(2)", etc. suffix to avoid overwriting it. When to use: to reorganize requests into the right collection after building them ad-h…
refresh_oauth2_tokenRefreshes the OAuth 2.0 access token for an auth profile using its stored refresh token. Call this when a request returns 401 and the profile uses OAuth2. Returns the new accessToken and its expiry. The token is automatically persisted to the profile so subsequent run_request calls use it immediatel…
remove_workspace_projectRemove a project directory from the Reqly workspace. Does not delete any files; only removes the path from the workspace config.
run_collectionRuns all requests in a collection sequentially and returns pass/fail per request. When to use: after building a collection with create_request, to verify every endpoint actually works end to end. Each result in the results array includes a testResults field: [{ name: string, passed: boolean, error?:…
run_flowRuns a flow end to end and returns a structured FlowRunResult ({ flowName, passed, steps, dataRows?, duration }). Supported request types in flow steps: REST (type: rest or unset), GraphQL (type: graphql), and gRPC unary (type: grpc). gRPC steps route through the dedicated gRPC runner - the response…
run_realtimeConnects to a realtime endpoint (WebSocket, SSE, Socket.IO, or MQTT), captures messages for captureTimeout seconds, then disconnects and returns all received messages. Use this to verify a realtime endpoint works, test pub/sub flows, or capture a message sample. Returns { messages: [{ id, ts, source…
run_requestFires a saved request and returns the response. When to use: to verify a request actually works after creating it, or to debug a failing endpoint. Preferred pattern: call list_collections first if you don't know the exact request name. If the response is a 401, use set_variable to set the auth token…
save_exampleset_collection_authSets the collection-level auth for a named collection. Auth set here is inherited by every request in the collection unless a request overrides it with its own auth or sets type:none to opt out. Supported types: bearer (credentials.token), basic (credentials.username + credentials.password), apiKey …
set_collection_specConfigures an OpenAPI/Swagger spec on a collection for contract validation - persists the config and loads the spec immediately. After this, run_request automatically returns contractViolations for any request matched to a spec operation. When to use: right after building a collection from a known O…
set_collection_variableSets a key-value pair on a collection (e.g. baseUrl shared by every request in that collection). Collection variables are always available to requests in the collection regardless of the active environment, and they override environment variables of the same name. When to use: to define a {{baseUrl}…
set_dotenv_filesSets which .env-style files Reqly loads as the lowest-priority variable layer (below collection vars and environment vars). Persists the file list and reloads immediately - no restart needed. Later files in the list win on key collision (e.g. [".env", ".env.local"] means .env.local overrides .env). …
set_environmentSwitches the active environment, so subsequent run_request and run_collection calls resolve {{variables}} from it. When to use: before running requests against a different environment (e.g. switching from "development" to "staging").
set_variableSets a key-value pair (e.g. baseUrl, an auth token) in a named environment, creating the environment if it does not exist. When to use: before running any request, to set baseUrl and any auth tokens those requests need. Preferred pattern: prefer {{baseUrl}} and {{variableName}} over hardcoded URLs a…
start_mockStarts a mock HTTP server for a collection. Each request in the collection that has at least one saved example gets a route. Use X-Reqly-Example: <name> to select a specific example; otherwise the first example is served. Returns the port and active routes. Prerequisite: requests must have saved exa…
start_proxyStarts the outbound capture proxy server. When to use: to capture HTTP calls your app makes TO external APIs (Stripe, Shopify, third-party services) - not for documenting your own endpoints. This does NOT capture inbound calls to your own routes; for those, read the route files and use create_reques…
stop_mockStops the running mock server. No-op if the mock is not currently running.
stop_proxyStops the auto-capture proxy server and kills any process spawned by exec_with_proxy. When to use: after capturing the traffic you needed, before list_collections to review what got captured.
switch_projectPoints Reqly at a different project directory, reinitialising collections, environments, flows, and dotenv loading to read from that project's .reqly folder locally without affecting other running instances. When to use: when the agent needs to operate on a different project than the one Reqly curre…
update_flow_stepReplaces an existing step in a flow, matched by stepId. Use this to edit a step in place (e.g. change a run step's target request, or a conditional's expression) without reordering the flow.
use_workspaceSet the active Reqly workspace (persisted in ~/.reqly/config.json as activeWorkspace). The active workspace provides alias -> path resolution for cross-repo flows. Returns { active: <name>, workspace: { name, repos, sharedEnv? } }.
validate_responseRe-validates the last stored response for a request against the collection's configured OpenAPI spec, without re-running the request. When to use: to check contract violations on a response you already have, or after configuring a spec on a collection whose requests were run before the spec existed.
Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.
JS-YAML: Quadratic CPU consumption in !!omap resolution (3.x and 4.x) — CVE-2026-59870 fix not backported
undici vulnerable to cross-user information disclosure and parse-time crash via degenerate private cache directives
undici vulnerable to downstream response desynchronization via retry interceptor
undici vulnerable to cross-user information disclosure via whitespace around equals in Cache-Control directives
undici vulnerable to CRLF Injection via blob-like body 'type' property
REQLY_PROJECT_DIR2. Environment Variable: \\REQLY_TEST_PORTDependencies
41 dependencies, 1 flagged: @playwright/test
Tool annotations
No tools have read-only/destructive annotations
Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.
All four hints declared on every tool
69/69 tools missing one or more hints — add_flow_step (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); add_workspace_project (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); configure_secret_provider (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +66 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.
For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.
Shell command execution
3 child_process/subprocess calls in production code — runs shell commands (packages/desktop/src/main.ts:230, packages/desktop/src/main.ts:244, test-spawn.cjs:3)
Prefer library functions over shell-outs. If you must shell out, ensure all inputs are properly escaped.
Production dependencies are patched
0 critical, 2 high severity in production deps — js-yaml@4.3.0 (high), undici@7.28.0 (high)
Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.
Dependency freshness
3/27 production deps abandoned (no release in 2+ years): swagger-parser@2023-03-04 (3.5y), localtunnel@2023-11-07 (2.8y), ajv-formats@2024-03-30 (2.4y)
Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.
[](https://m8ven.ai/mcp/rutvikpansare/reqly)?variant=verified from the URL.Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.
https://m8ven.ai/api/mcp/tool-check