# MCPJam Inspector ## Docs - [MCPJam](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/index.md): Test, debug, and evaluate MCP servers, MCP apps, and ChatGPT apps. - [Getting Started](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/getting-started.md): Start testing your MCP server in minutes - [Installation](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/installation.md): Here's a list of all ways to start MCPJam - [Hosted App](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/hosted/overview.md): Use MCPJam Inspector in the browser — no installation required - [Slack](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/hosted/slack.md): Run MCPJam from Slack — mention the bot to ask about your projects, and approve the actions that spend credits - [Okta SSO & SCIM](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/hosted/sso.md): Sign in to MCPJam with Okta via SAML 2.0, and automate user provisioning and deprovisioning with SCIM - [Common MCP Errors](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/troubleshooting/common-errors.md): Solutions to common MCP server connection and configuration issues - [Error code reference](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/troubleshooting/error-codes.md): What every MCPJam Inspector error code means, the likely causes, and the next step to fix it. - [Changelog](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/changelog/overview.md): Track the latest updates, features, and improvements to MCPJam Inspector - [Home](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/home.md): Org-scoped dashboard with activity stats, recommended servers, and quick-start clients - [Clients](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/clients.md): Reusable MCP client configurations for testing servers and apps under realistic conditions - [Multi-server connections](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/connecting-servers.md): Connect to multiple MCP servers with different transport methods - [Projects](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/projects.md): Group your MCP servers into projects, with the ability to share them with your team - [Plugins](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/plugins.md): Import Agent Plugins 1.0 bundles as versioned, read-only projections of their skills and MCP servers - [MCP protocol versions](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/protocol-versions.md): Pin the inspector to a specific MCP protocol version — including the 2026-07-28 stateless RC — to test how your server behaves across versions. - [Host Compatibility](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/host-compat.md): See which hosts your MCP server will work in — Claude, ChatGPT, Cursor, Copilot, Codex — the moment you connect - [Skills](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/skills.md): Load and use skills to give your agents the context they need to use MCP tools effectively - [Playground](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/playground.md): Chat with your MCP servers, invoke tools by hand, render widgets, and inspect every step — all in one IDE-style workspace - [Evaluate](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/evals.md): Author test cases for your MCP server, run them across models, and gate pass/fail on deterministic checks plus optional LLM-as-judge. - [Compatibility](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/compatibility.md): Check whether your MCP server works on each AI host — conformance gates, per-host findings, and live widget rendering. - [Contribute a Host](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/host-templates.md): Add a new host preset to MCPJam so widgets can render under that host's identity, capabilities, and sandbox policy. - [OAuth Debugger](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/guided-oauth.md): Debug your MCP server's OAuth implementation at every step of the handshake - [XAA Debugger](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/xaa-debugger.md): Configure and debug Cross-App Access flows with MCPJam as the test identity provider and client/agent - [MCP Inspector](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/tools-prompts-resources.md): Manually test your MCP server's tools, resources, and prompts - [Tracing & debugging](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/debugging.md): See all messages sent to and from your MCP server - [Computer](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/computer.md): A personal cloud Linux workstation for your project — open a terminal, run tools, and give your agents a real bash environment - [Claude Code and Codex hosts](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/claude-code-host.md): Run the real Claude Code or Codex agent inside your project's Computer — observe native tools, MCP client, and execution behavior directly - [Launch from Code (Beta)](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/launch-from-code.md): Programmatically launch and configure MCPJam Inspector from your code or build tools - [MCP Docs Server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/inspector/docs-server.md): Connect AI applications to MCPJam documentation - [My First MCP App](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/guides/first-mcp-app.md): Build a simple Reservation MCP App from scratch - [My First ChatGPT App](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/guides/first-chatgpt-app-react.md): Build a simple Coffee Shop ChatGPT App with React - [CLI Overview](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/overview.md): Local MCP testing and mcpjam cloud: probing, debugging, OAuth, conformance, and hosted evals from your terminal - [Migrating to CLI 4.0](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/migration.md): Command-path and flag changes when account-bound mcpjam commands moved under mcpjam cloud - [MCPJam as an MCP Server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/mcp-server.md): Run MCPJam as a local stdio MCP server so agents can connect to, exercise, and debug other MCP servers - [Server Inspection](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/server-inspection.md): Probe, diagnose, and export MCP server connectivity and capabilities - [OAuth Conformance](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/oauth-conformance.md): Test your MCP server's OAuth implementation across all registration methods and protocol versions - [OAuth Login & Debugging](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/oauth-login.md): Authenticate with MCP servers and debug OAuth flows - [XAA Debugger (CLI)](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/xaa.md): Run the full Cross-App Access (ID-JAG) grant chain against your authorization server and MCP server, headlessly, from one command - [MCP Apps Conformance](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/apps-conformance.md): Validate MCP Apps tool metadata and ui:// resource wiring from the CLI - [MCP Tasks](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/tasks.md): Create, inspect, answer and watch MCP Tasks from the CLI — legacy 2025-11-25 and the SEP-2663 extension - [MCP Tasks Conformance](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/tasks-conformance.md): Validate MCP Tasks wire behavior — legacy and SEP-2663 extension — from the CLI - [Tools, Resources & Prompts](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/tools-resources-prompts.md): List, read, and call MCP server tools, resources, and prompts - [CI / CD](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/ci.md): Run MCP health checks, conformance suites, and evals in GitHub Actions, GitLab CI, and other CI environments - [CLI Telemetry](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/telemetry.md): Anonymous command-level telemetry, opt-outs, and debug mode - [Command Reference](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/cli/reference.md): Complete flag reference for every mcpjam CLI command - [@mcpjam/sdk](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/index.md): MCP server unit testing, end-to-end (e2e) testing, and server evals - [Quickstart](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/quickstart.md): Get started with @mcpjam/sdk in 5 minutes - [Migrating to SDK 3.0](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/migrating-to-v3.md): What changed, why a passing test can start failing, and how to upgrade. - [Connecting to MCP Servers](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/concepts/connecting-servers.md): Learn how to connect to local and remote MCP servers - [Testing with LLMs](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/concepts/testing-with-llms.md): Use HostRunner to run prompts and inspect tool calls - [Running Evals](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/concepts/running-evals.md): Measure tool accuracy with statistical evaluations - [Save Results to MCPJam](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/concepts/saving-results.md): Save eval results to the MCPJam dashboard with an MCPJam API key (sk_…) for tracking and CI visibility - [Testing Across Providers](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/concepts/multi-provider.md): Compare your MCP server's performance across different LLMs - [MCPClientManager](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/mcp-client-manager.md): API reference for MCPClientManager - [HostRunner](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/host-runner.md): API reference for HostRunner - [PromptResult](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/prompt-result.md): API reference for PromptResult - [EvalTest](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/eval-test.md): API reference for EvalTest - [EvalSuite](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/eval-suite.md): API reference for EvalSuite - [Saving Eval Results](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/eval-reporting.md): API reference for saving eval results to MCPJam - [Validators](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/validators.md): API reference for validator functions - [LLM Providers](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/llm-providers.md): API reference for LLM provider configuration - [Protocol Conformance SDK](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/protocol-conformance.md): Programmatic MCP protocol conformance testing with MCPConformanceTest and MCPConformanceSuite - [OAuth Conformance SDK](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/oauth-conformance.md): Programmatic OAuth conformance testing with OAuthConformanceTest and OAuthConformanceSuite - [OAuth Client Emulation](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/oauth-emulation.md): Run a headless OAuth preflight that emulates a real client's authentication ladder against an MCP server - [MCP Apps Conformance SDK](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/apps-conformance.md): Programmatic MCP Apps surface validation with MCPAppsConformanceTest - [MCP Tasks Conformance SDK](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/tasks-conformance.md): Programmatic MCP Tasks wire validation with MCPTasksConformanceTest - [host-compat](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/sdk/reference/host-compat.md): API reference for @mcpjam/sdk/host-compat — derive server requirements, evaluate host compatibility, and scan widget bridge usage. - [MCPJam API](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/reference/public-api.md): Programmatic access to the MCP servers in your MCPJam projects — diagnostics, tool calls, prompt rendering, and asynchronous eval runs. - [API keys](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/reference/api-keys.md): Which 'API key' is which in MCPJam — and the one you need to call the MCPJam API. - [Get the host-compat catalog](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/get-the-host-compat-catalog.md): The versioned host-compatibility catalog backing `mcpjam compat` verdicts. Public and unauthenticated: static host facts and creation config with no project or user scope. Always returns a catalog — `source` is `live` when the backend publish was reachable and `bundled` when serving the SDK's built-… - [Get the authenticated account](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/get-the-authenticated-account.md): The user behind the API key (keys act as their creator, scoped to one organization). - [List organizations](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/list-organizations.md): The organizations the caller belongs to — the source of the `organizationId` that `GET /projects` filters by and `POST /projects` accepts. An API key is bound to one organization and only ever sees that one. Read-only: organization, member, role and billing changes are not part of the public API. - [List projects](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/list-projects.md): Projects the caller can access. API keys only ever see projects inside the key's organization. - [List a project's servers](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/list-a-projects-servers.md): The MCP servers saved in the project — the `serverId`s every other route takes. STDIO command/args/env and raw headers are never exposed. - [List a project's eval suites](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/list-a-projects-eval-suites.md): Eval suites in the project with latest-run summaries and pass-rate trends — the `suiteId`s the eval-run routes take. - [Search or list unified sessions](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/search-or-list-unified-sessions.md): The unified, cross-surface sessions feed for one project: Playground, user-testing, eval, and swarm transcripts in one list, newest first. Project-NESTED (unlike `/chat-sessions`) because `projectId` owns the scope here rather than filtering it. - [List chat sessions](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/list-chat-sessions.md): Chat sessions visible to the caller (personal + project-shared merged). Top-level rather than project-nested because `projectId` is an optional filter, not an owning scope. - [The MCPJam-provided model catalog](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/the-mcpjam-provided-model-catalog.md): PUBLIC: this route carries no user or project data and requires no bearer token, matching the upstream catalog it proxies. Mounted before authentication for that reason. - [Export project traces as OTLP/JSON](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/catalog/export-project-traces-as-otlpjson.md): Returns an OTLP `ExportTraceServiceRequest`. Pagination rides in RESPONSE HEADERS rather than the body so the payload stays a valid OTLP document: read `x-mcpjam-next-cursor` and feed it back as `cursor`, and treat `x-mcpjam-export-complete: true` as the end of the stream. - [List a harness's native built-in tools](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/harness/list-a-harnesss-native-built-in-tools.md): The native tools an agent harness (e.g. `claude-code`) runs INSIDE its sandbox — Bash, Read, Edit, Glob, Grep, WebSearch, and the like. Display-only: these execute via the harness's own agent loop and are NOT callable through MCPJam. Static published-package metadata; no project scope. - [List a project's sandbox images](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/list-a-projects-sandbox-images.md): The custom Computer images (digest-pinned Dockerfiles built into immutable images) saved in the project — your own personal drafts plus the project-shared ones. - [Create a sandbox image](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/create-a-sandbox-image.md): Create a personal-draft sandbox image from a blueprint and respond `201` with its detail. Build it (`POST .../build`) before a computer can boot from it. Guest callers are denied (a write). - [Get a sandbox image](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/get-a-sandbox-image.md): One sandbox image's blueprint, sharing, and latest build. An image that exists but belongs to a different project reads as `404 NOT_FOUND`. - [Delete a sandbox image](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/delete-a-sandbox-image.md): Permanently delete a sandbox image. Computers booted from it fall back to the base image. Deleting a project-shared image requires project admin. Bodyless — any field is rejected. Guest callers are denied (a write). - [Update a sandbox image](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/update-a-sandbox-image.md): Edit a sandbox image's name and/or Dockerfile. Re-build it for the changes to take effect on a computer. Guest callers are denied (a write). - [List a sandbox image's builds](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/list-a-sandbox-images-builds.md): A sandbox image's builds, newest first, each with its status and capped log preview. - [Build a sandbox image](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/build-a-sandbox-image.md): Trigger a build of the sandbox image's image and respond `202`. The build runs asynchronously — poll the builds list for status. Bodyless. Guest callers are denied (a write). - [Share a sandbox image with the project](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/share-a-sandbox-image-with-the-project.md): Promote a personal-draft sandbox image to a project-shared one. Requires project admin. Bodyless. Guest callers are denied (a write). - [Boot your computer from a sandbox image](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/boot-your-computer-from-a-sandbox-image.md): Attach the sandbox image to the caller's computer, which re-provisions it from the pinned image (installed files are wiped). The image must have a `ready` build, and the computer provider must match the build's. Bodyless. Guest callers are denied (a write). - [Reset your computer to its image](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/reset-your-computer-to-its-image.md): Reset the caller's computer back to its current image, wiping mutable state. Bodyless. Guest callers are denied (a write). - [Validate a blueprint](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/sandbox-images/validate-a-blueprint.md): Lint blueprint YAML without saving it. Returns 200 with `ok: false` + structured errors for an invalid blueprint; the authoritative rejection still happens at create/update/build. - [List a project's hosts](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/hosts/list-a-projects-hosts.md): The hosts saved in the project — the named model + capability profiles you attach to chats and eval suites. Returns the `id`s the host detail/update/delete routes take. - [Create a host (from a template or a full config)](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/hosts/create-a-host-from-a-template-or-a-full-config.md): Creates a host in the project and responds `201` with the new host's detail. Seed the host config one of two ways: pass `template` (a built-in template id, optional `theme`) to seed server-side from the live backend host catalog, falling back to the bundled SDK catalog snapshot if the live catalog i… - [Get a host](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/hosts/get-a-host.md): One host's full settings, including its resolved host config. A host that exists but belongs to a different project reads as `404 NOT_FOUND`. - [Delete a host](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/hosts/delete-a-host.md): Permanently delete a host from the project. Pass `{ "force": true }` to delete a host that is still referenced (e.g. by an eval suite). Guest callers are denied (a write). - [Update a host](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/hosts/update-a-host.md): Edit a host's display name and/or its host config. Only the fields you pass change. Guest callers are denied (a write). - [Replace a host's server attachments](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/hosts/replace-a-hosts-server-attachments.md): Sets the host's required and optional server ids without round-tripping its whole config, and responds with the updated host detail. Preserves every other identity field (computer, harness, built-in tools) and trims per-server connection overrides to the kept set. Requires project admin. - [Duplicate a host](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/hosts/duplicate-a-host.md): Copies the host and responds `201` with the new host's detail. The copy SHARES the source's content-addressed config row rather than cloning it, so both hosts continue to describe the same configuration. Requires project admin. - [Validate a server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/server-diagnostics/validate-a-server.md): Connects to the server, initializes the MCP session, and returns a connection snapshot (server info, negotiated capabilities). The same check the hosted inspector runs when you connect a server. - [Run the doctor](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/server-diagnostics/run-the-doctor.md): Runs the full doctor workflow — probe → connect → initialize → capabilities → primitives — and returns a step-by-step report. The richest signal for "is this server healthy, and why not." - [Check OAuth requirement](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/server-diagnostics/check-oauth-requirement.md): Lightweight, no MCP connection: reports whether the server is configured to require an OAuth grant. - [List tools](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/primitives/list-tools.md): Returns the server's tools as a collection page. Each item is the MCP tool definition (`name`, `description`, `inputSchema`, ...). - [List prompts](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/primitives/list-prompts.md): Returns the server's prompts as a collection page. - [List resources](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/primitives/list-resources.md): Returns the server's resources as a collection page. - [Read a resource](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/primitives/read-a-resource.md): Reads a single resource by URI and returns its contents. - [Export a server snapshot](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/export/export-a-server-snapshot.md): Lists tools, resources, and prompts in one call and returns a single JSON snapshot — handy for diffing a server's surface over time in CI. - [Call a tool](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/execution/call-a-tool.md): Executes a tool on the server and returns the MCP `CallToolResult` plus an additive `durationMs` (wall-clock time of `executeTool`). Tool-level failures (`isError: true` in the result) are **successful calls** — the server answered; only transport/auth errors use the error envelope. - [Render a prompt](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/execution/render-a-prompt.md): Renders a prompt with arguments and returns the MCP `GetPromptResult` directly (`description?`, `messages`). - [Render an MCP App widget headlessly](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/execution/render-an-mcp-app-widget-headlessly.md): Call an MCP App tool and mount its `ui://` widget in real headless Chromium running the production host bridge, then report whether it rendered, what it logged, what it was blocked from fetching, and the widget as an accessibility tree with addressable elements. - [Create an eval run (async)](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/create-an-eval-run-async.md): Creates a suite run from an existing `suiteId` (rerun) and/or inline `tests`, then **detaches execution and responds `202` immediately** with the `runId`. Validation and quota errors surface on this request; poll `GET /eval-runs/{runId}` for progress. The run appears live in the hosted UI Runs tab,… - [Get run status](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/get-run-status.md): Run status, result, and summary. Poll until `status` is terminal (`completed`, `failed`, or `cancelled`). - [Compare a run against a baseline](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/compare-a-run-against-a-baseline.md): Compare this run against a baseline run: per-case status (`regressed`, `fixed`, `new_case`, `removed_case`, `changed`), per-scorer pass-rate and mean deltas from the evaluation contract, and whether the evaluation config changed. Omit `baseRunId` to compare against the nearest earlier **completed**… - [List run iterations](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/list-run-iterations.md): Per-iteration results: actual tool calls, structured token usage, and latency. Cursor-paginated. - [Get an iteration trace](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/get-an-iteration-trace.md): Full trace envelope for one iteration: conversation messages, expected-vs-actual tool call analysis, and spans. The shape is rich and may evolve — treat it as an open document. Returns `404` with `details.reason: "TRACE_NOT_AVAILABLE"` when the iteration finished without a stored trace. - [Get an iteration's step results](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/get-an-iterations-step-results.md): One row per authored test step, in order, with `status` (`ok`/`fail`/`skipped`/`pending`), a `reason`, and any `evidence` (screenshots, replay-video offset, widget tool calls). The fastest way to see which step failed and why. Unlike `/trace`, a missing trace is not a `404` — step verdicts still ret… - [Cancel a run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/cancel-a-run.md): Request cancellation of an in-flight run; marks the run and its pending/running iterations `cancelled`. A no-op success when the run is already cancelled; returns `409` when the run already reached a terminal status (`completed`/`failed`/`timed_out`). - [List a suite's runs](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/list-a-suites-runs.md): Recent runs for a suite, newest first. - [Enable, repoint, or disable a suite's schedule](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/enable-repoint-or-disable-a-suites-schedule.md): A schedule fires exactly ONE run per interval, so an environment-based suite must pin exactly one of its attached environments. Omitting `environmentId` on a single-environment suite means that environment; omitting it on a multi-environment suite is a VALIDATION_ERROR. Disabling preserves the exist… - [Launch one run per target as a group (async)](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/launch-one-run-per-target-as-a-group-async.md): Launches ONE run per target — attached project environments, or attached named hosts — under a single **server-minted** `runGroupId`, then detaches execution and responds `202` with a per-target receipt. - [Create an eval suite (author-only, does not run)](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/create-an-eval-suite-author-only-does-not-run.md): Creates a runnable eval suite — the suite record plus its test cases — and responds `201` **synchronously**, WITHOUT executing anything. Use this to author a suite, then run it later with `POST /eval-runs` (passing the returned `suiteId`). - [Resolve or create a file-owned eval suite](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/resolve-or-create-a-file-owned-eval-suite.md): Resolve a file-owned suite by declared id within the project, or create one. Lookup is by `(projectId, declaredSuiteId)` and never by name. A UI-authored suite has no declared id and cannot be claimed. The inspector parses the suite file; this body is the declared identity, source hash, optional pro… - [Get one eval suite's configuration](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/get-one-eval-suites-configuration.md): The suite's full settings — attached environments, hosts, execution config, judge, schedule. The list route returns run rollups instead; this is the shape the edit routes read and write. - [Delete an eval suite](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/delete-an-eval-suite.md): Deletes the suite and its cases. Past runs are not deleted. - [Update an eval suite's settings](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/update-an-eval-suites-settings.md): Partial update — omitted fields are left as they are. `environmentIds` is tri-state: a non-empty array sets/replaces, `null` clears (reverting the suite to legacy config), and `[]` is rejected rather than silently treated as a clear. Responds with the full updated suite. - [List a suite's eval cases](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/list-a-suites-eval-cases.md): Every case in the suite, in the public steps-first shape. - [Create an eval case](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/create-an-eval-case.md): Adds one case to the suite. Both `title` and a non-empty `steps` array are required — `steps` is optional on the shared case shape so PATCH can be partial, but a case persisted without executable steps could never run. When `models` is omitted the suite's configured model is used. - [Create several eval cases](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/create-several-eval-cases.md): Adds up to 100 cases to the suite in one call — the bulk form of the single create, and the way to import a suite or convert a repo's test files without a round trip per case. Every entry needs a `title` and a non-empty `steps` array. Cases are validated together and reported individually: a `failed… - [Generate eval cases from the suite's tools](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/generate-eval-cases-from-the-suites-tools.md): Discovers the suite's server tools over a live MCP connection, generates cases against them, and persists them — the only edit route that connects to a server, and the only one that SPENDS ORG CREDITS. Synchronous: connect, generate, persist, disconnect, respond. - [Get one eval case](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/get-one-eval-case.md): A case that belongs to this suite and project. A case in another suite is a 404, not a 403. - [Delete an eval case](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/delete-an-eval-case.md): Removes the case from the suite. Past runs that executed it are not affected. - [Update an eval case](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/update-an-eval-case.md): Partial update — omitted fields are left as they are. Supplying `steps` REPLACES the case's definition rather than merging into it. `matchOptions` and `checks` accept `null` to clear the case-level override and fall back to the suite's. - [Get an upload URL for a run artifact](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/get-an-upload-url-for-a-run-artifact.md): Mints a short-lived URL for uploading a widget blob or other artifact referenced by an ingested run. - [Ingest a completed eval run in one call](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/ingest-a-completed-eval-run-in-one-call.md): The whole-run variant: submit a finished run and its iterations in a single request. This is what the SDK reporter uses by default. - [Close an open ingestion run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/close-an-open-ingestion-run.md): Marks the run complete and computes its rollups. Until this is called the run stays open in the dashboard. - [Append iterations to an open run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/append-iterations-to-an-open-run.md): Appends one batch of iteration results to a run opened by `runs/start`. - [Open a run for incremental ingestion](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-runs/open-a-run-for-incremental-ingestion.md): Opens a run that iterations are appended to, for a long CI job that reports as it goes. Pair with `runs/iterations` and `runs/finalize`. - [Import OAuth tokens](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/oauth/import-oauth-tokens.md): Stores OAuth tokens you obtained yourself (e.g. via the SDK's `runOAuthLogin` — interactive loopback, headless, or client-credentials) for this server, scoped to your user, project, and server. Subsequent API calls against the server inject the stored access token automatically, and `401`s from the… - [List GitHub Checks repositories](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/evals/list-github-checks-repositories.md): The repositories in this organization whose pull requests run an eval suite, plus the repositories the MCPJam GitHub App can reach (the choices a connect has). - [Run an eval suite on a repository's pull requests](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/evals/run-an-eval-suite-on-a-repositorys-pull-requests.md): Connect a repository so every pull request to it runs one eval suite and reports a GitHub check. **Affects everyone who opens a pull request on that repository**, and with `outagePolicy: fail_closed` it can block their merges. - [Request insights for an eval run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/evals/request-insights-for-an-eval-run.md): **Spends.** Runs a model over the finished run and draws on the same shared `insightsPerDay` ledger as swarm and user-testing insights. - [Grade an eval run with LLM as Judge](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/evals/grade-an-eval-run-with-llm-as-judge.md): **Spends.** Runs the goal-completion judge over the finished run, scoring each case's final answer against its expected output. - [Create a project](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/projects/create-a-project.md): Creates a project in the caller's organization and responds `201` with its detail. Requires organization membership and counts against the plan's `maxProjects` limit. Guest callers are denied. - [Delete a project and everything scoped to it](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/projects/delete-a-project-and-everything-scoped-to-it.md): IRREVERSIBLE, and it cascades: project access grants and invites, the mapped workspace and its memberships, every saved server in the project (each soft-deleted asynchronously, which also rotates the host configs that referenced it), and hosted tasks. Requires project admin. The request body must be… - [Update project metadata](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/projects/update-project-metadata.md): Updates name, description, icon or visibility. Requires project admin; a non-member gets `404` rather than `403`, so the response never confirms that a project exists. The project's server map is not updatable here — see the per-server routes. - [What the caller may do here](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/projects/what-the-caller-may-do-here.md): Role, gate state, plan limits and a set of derived booleans — so an agent on a static surface can check before it acts instead of attempting a write and reading the failure. - [Save a server into a project](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/servers/save-a-server-into-a-project.md): Creates a saved MCP server and responds `201` with its detail. This is the provisioning entry point: every eval, host and environment route addresses servers that were created here. Names are unique per workspace, so a clash responds `409` rather than silently returning the existing row. Secret-bear… - [Get one saved server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/servers/get-one-saved-server.md): The server's detail, projected toward the hosted shape. Secrets are never included — `hasClientSecret` reports presence only. A server id from another project reads as `404`. - [Delete a saved server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/servers/delete-a-saved-server.md): Soft-deletes the server and schedules its cascade: MCP Apps views, hosted OAuth credentials, encrypted secret objects, and a rotation of every host config that referenced it. The cascade is ASYNCHRONOUS, so a read immediately after this call may still observe the row. The request body must be empty. - [Update a saved server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/servers/update-a-saved-server.md): Sparse update: omitted fields are unchanged. Renaming re-checks per-workspace uniqueness (`409` on a clash). Editing a server shared as an OAuth connection requires project admin. `clientSecret` and `clearClientSecret` are mutually exclusive. - [Attach one environment to a suite (atomic append)](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/eval-suites/attach-one-environment-to-a-suite-atomic-append.md): APPEND one project environment to the suite's attachments, if it is not already there. - [List a project's scenarios](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/scenarios/list-a-projects-scenarios.md): The scenarios published from this project — name, access mode, attached servers, and share link. Read-only. - [Get a scenario](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/scenarios/get-a-scenario.md): One scenario's full read-only settings: model, system prompt, tool-approval policy, attached servers, and share link. A scenario that exists but belongs to a different project reads as `404 NOT_FOUND`. - [Create (or revive) a relay tunnel for a named project server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/tunnels/create-or-revive-a-relay-tunnel-for-a-named-project-server.md): Registers a server record named `name` if missing, mints a relay tunnel grant for it, and **persists the tunnel bearer URL (including the plaintext `?k=` secret) onto the server record's `url`** so evals and scenarios can target the tunnel like any remote server. The plaintext persistence is a delib… - [Revoke a tunnel's live grant](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/tunnels/revoke-a-tunnels-live-grant.md): Revokes the grant at the control plane and edge: the public URL stops working immediately and any live tunnel session is disconnected. The server record — including its now-dead `url` — is intentionally left untouched, so the next create revives the tunnel with the same slug. - [List a project's environments](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/list-a-projects-environments.md): The project environments saved in the project. Archived environments are excluded unless `includeArchived=true` — you need that to find one to restore. - [Create an environment](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/create-an-environment.md): Create a project environment from a host plus, optionally, a standalone server group, a pinned skill selection, and pinned plugin versions. The name must be unique among the project's live environments. Requires project admin. - [Check what this deployment's environment surface supports](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/check-what-this-deployments-environment-surface-supports.md): Report which environment features this MCPJam deployment accepts. Call it before sending a model override: clients ship independently of the platform, and a field an older deployment does not know is a hard validation error there rather than a silently ignored one. A deployment too old to answer rep… - [Show one environment](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/show-one-environment.md): Read one environment, including the `revision` you pass back as `expectedRevision` when writing to it. - [Update an environment](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/update-an-environment.md): Edit an environment. Only the fields you send change; send `null` for `serverAttachmentId`, `skillSelection`, or `pluginVersionIds` to clear them. Requires `expectedRevision` — the revision you last read. If the environment changed since, the write is rejected with 409 rather than overwriting the co… - [Preview what an environment resolves to](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/preview-what-an-environment-resolves-to.md): Resolve an environment to the exact execution inputs a run would use right now: the host's current config, the closed server set (including servers contributed by pinned plugin versions), and the resolved plugin versions. Returns 409 when the environment cannot currently produce a runnable configura… - [Get or create an unnamed environment for a composed stack](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/get-or-create-an-unnamed-environment-for-a-composed-stack.md): GET-OR-CREATE an UNNAMED, content-addressed environment for a composed stack — a host plus an optional server group, model override, computer image and pinned skills. - [Promote an unnamed environment](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/promote-an-unnamed-environment.md): Give an UNNAMED (ad-hoc) environment a name, promoting it IN PLACE — the same environment, now a permanent entry in the project's list, with the same id every existing run still points at. - [Archive an environment](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/archive-an-environment.md): Archive an environment. It stops being selectable for runs and frees its name for a new one, but the row is kept and can be restored — this is why archive is a sub-action rather than a DELETE. Requires `expectedRevision` — the revision you last read. If the environment changed since, the write is re… - [Restore an archived environment](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/environments/restore-an-archived-environment.md): Restore an archived environment. Returns 409 if another live environment took its name in the meantime. Plugin pins whose version row no longer exists at all are dropped on the way back to live — compare the returned `pluginVersionIds` against what you archived to detect that. Requires `expectedRevi… - [List a project's plugins](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/plugins/list-a-projects-plugins.md): The live (installed, non-uninstalled) Agent Plugins in the project, disabled ones included (marked `enabled: false`). Read-only: import, activation, enable/disable and uninstall are app flows, not API operations. - [Get a plugin version](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/plugins/get-a-plugin-version.md): One imported plugin version with its component projections: declared MCP servers (placement, auth timing, materialized server id) and declared skills (namespaced model refs). Addressed by the version id alone — access is membership of the version's own project, and historical versions of uninstalled… - [Run one headless agent turn](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/agent/run-one-headless-agent-turn.md): Runs ONE assistant turn over the supplied message history and responds synchronously with the final assistant text, the operations it invoked, references to any resources it created, and any actions awaiting human approval. - [Connect an MCP server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/server-connections/connect-an-mcp-server.md): Starts a connection request for an MCP server URL. Discovery, browser consent, and validation happen asynchronously; poll the returned `connectionRequestId` until the status is terminal. When the next step belongs to a person, the response carries a `handoffUrl` to open. - [Get a connection request](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/server-connections/get-a-connection-request.md): Current state of one connection request. Metered on its own poll budget rather than the shared per-caller one, so polling on a short interval is expected and will not spend the budget your other calls need. A 429 here means the poll interval itself is too fast; honour Retry-After. - [Cancel a connection request](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/server-connections/cancel-a-connection-request.md): Stops a request and invalidates its handoff link. Cancelling an already-terminal request is a no-op. - [Retry validation](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/server-connections/retry-validation.md): Re-arms a stalled validation immediately instead of waiting out its backoff. Does not revive a terminal request — after `failed`, `expired`, or `cancelled`, start a new one. - [List personas](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/list-personas.md): The project's personas, newest first. Archived personas are excluded. - [Create a persona](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/create-a-persona.md): Creates one persona. To draft several with a model first, use `POST /projects/{projectId}/personas/generate` — that route persists nothing. - [Get a persona](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/get-a-persona.md): A persona that lives in a DIFFERENT project answers 404, never 403 — the route is not an existence oracle for a project you cannot see. - [Delete a persona](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/delete-a-persona.md): Refused with 409 while journeys still reference this persona — deleting it would strand them. - [Update a persona](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/update-a-persona.md): Partial update. Journeys reference the persona by id, so renaming one does not disturb anything pointing at it. - [Draft personas with a model](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/draft-personas-with-a-model.md): Returns DRAFTS and persists nothing. That separation is deliberate: generation is the step most likely to produce something nobody wanted, and a route that both invented and saved would make "let me see what you'd suggest" indistinguishable from "fill my project with these". - [Draft journeys for a persona](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/draft-journeys-for-a-persona.md): Returns DRAFTS and persists nothing — see `POST /projects/{projectId}/personas/generate` for why, and for what this spends. - [Get a journey](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/get-a-journey.md) - [Archive a journey](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/archive-a-journey.md): ARCHIVES rather than deletes, and the response says so. Existing runs keep pointing at the definition they executed, so their history stays readable. - [Update a journey](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/update-a-journey.md): Editing a journey never disturbs a run already under way: a run pins its own immutable snapshot of the definition at launch. - [List swarms](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/list-swarms.md) - [Create a swarm](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/create-a-swarm.md): A swarm is an authoring container holding DEFAULTS for the journeys made under it. Creating one starts nothing. - [Get a swarm](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/get-a-swarm.md) - [Archive a swarm](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/archive-a-swarm.md): ARCHIVES the container. The journeys authored under it are not touched — they keep their own definitions and stay launchable. - [Update a swarm](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/update-a-swarm.md): Changes the container's DEFAULTS. Journeys already authored under it keep the values they were created with — this is not a cascade. - [List journeys](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/list-journeys.md): The project's journeys, newest first. Archived journeys are excluded. - [Create a journey](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarms/create-a-journey.md): Creates one journey: a persona pursuing a `goal` against one or more environments. To draft several with a model first, use `POST /projects/{projectId}/journeys/generate` — that route persists nothing. - [List a journey's runs](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-runs/list-a-journeys-runs.md): Newest first. Compact records — `attempts` is on the single-run read. - [Launch a journey](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-runs/launch-a-journey.md): Answers **202**: the run row exists and its fan-out has started. It is not finished — poll `GET /projects/{projectId}/journey-runs/{runId}` until `status` leaves `running`. - [Get a journey run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-runs/get-a-journey-run.md): The full record, including per-session `attempts` and `targetSummaries`. - [List a run's sessions](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-runs/list-a-runs-sessions.md): One entry per chat session the run produced. Summaries, not transcripts — read a transcript through the chat-session routes using `id`. - [Cancel a journey run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-runs/cancel-a-journey-run.md): Stops a run and settles its in-flight attempts. IDEMPOTENT: cancelling an already-cancelled run answers 200 with `alreadyCanceled: true` and `finalized: 0`, not a 409. - [Project swarm roll-up](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-insights/project-swarm-roll-up.md): Recent runs with their goal-completion rates and repeat-failure findings, plus a project-wide trend. Deterministic and free — start here. - [Get a run's rubric scorecard](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-insights/get-a-runs-rubric-scorecard.md): The deterministic rubric result for one run. No model, no spend. - [List swarm findings](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-insights/list-swarm-findings.md): Criteria that keep failing, tracked across waves. One finding is one problem OVER TIME — `occurrenceCount` and `status` carry the history, so do not treat repeat appearances as separate problems. - [Dismiss a finding](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-insights/dismiss-a-finding.md): Hides a finding from your view. ORTHOGONAL to `status`: dismissing does not claim the problem stopped happening, and a dismissed finding that fires again stays `recurring`. - [Undismiss a finding](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-insights/undismiss-a-finding.md): Reverses a dismissal. Bodyless, like its twin. - [Get wave insights](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-insights/get-wave-insights.md): Poll this after requesting insights. **404 means nobody asked** — it is deliberately not an empty `status: "none"` body, so a caller in a polling loop cannot mistake "never requested" for "asked and still working". - [Request wave insights](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-insights/request-wave-insights.md): Answers **202**: generation is scheduled, not done. Poll the GET above rather than re-requesting. - [Cancel a pending wave-insights generation](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/swarm-insights/cancel-a-pending-wave-insights-generation.md): Stops a generation that is still `pending`. A wave with no generation in progress answers 409 — there is nothing to cancel, and reporting success would tell a caller it stopped something it did not. - [Publish an environment for user testing](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/publish-an-environment-for-user-testing.md): PUT, not POST, because publishing is IDEMPOTENT: one scenario per environment, and publishing an already-published environment returns the existing one rather than minting a second. `created` says which happened. - [Unpublish an environment](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/unpublish-an-environment.md): Takes the scenario down. Deliberately NOT behind the beta gate that guards publishing: an organization that loses the flag must still be able to take a live scenario down. - [Get a scenario](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/get-a-scenario.md): The scenario, plus the insights envelope over its latest analyzed window when the caller may have it. - [Update a scenario](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/update-a-scenario.md): Change a scenario's identity or its exposure — but not both in one call. **Send `mode` on its own.** Identity and exposure are separate operations upstream, and applying them in sequence could leave the scenario live in a mode you did not ask for. - [List a scenario's sessions](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/list-a-scenarios-sessions.md): What visitors did, as summaries. Project members only — this route is deliberately absent from the guest allowlist, so a share-link visitor can never read other visitors' sessions. - [Get a session transcript](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/get-a-session-transcript.md): The projected transcript, paged. Tool payloads and blobs are dropped, and the stored blob URL is never returned. - [Set the guest-execution caps](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/set-the-guest-execution-caps.md): The spend dial for anonymous visitors. A FULL REPLACEMENT — send every field. These caps only mean something as a set, and a partial update that raised one while leaving another stale would produce a combination nobody chose. - [Rotate the share link](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/rotate-the-share-link.md): Mints a new share link and stops the old URL from granting access. Everyone you shared it with needs the new one. - [Invite a member](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/invite-a-member.md): Upsert by email, so re-inviting somebody is not an error. Only meaningful while `mode` is `invited_only`. - [Remove a member](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/remove-a-member.md): Removal NARROWS access, so it bumps `accessVersion` and cuts off any session that member already had — it takes effect at once rather than at expiry. - [Point a scenario at a different environment](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/point-a-scenario-at-a-different-environment.md): Keeps the scenario's LINK, its members and its session history while changing what visitors actually reach. The alternative — unpublish and republish — mints a new link, which means re-sharing it with everyone. - [Session metrics](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/session-metrics.md): Volumes, completion and feedback rates over the scenario's sessions. - [Usage breakdown](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/usage-breakdown.md): Which models, tools and servers the scenario's sessions used. - [Current window signals](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/current-window-signals.md): What the miner extracted from the current window — and where you get the window id the insights read takes. - [List scenario findings](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/list-scenario-findings.md): Every finding raised over this scenario's windows, dismissed ones included — dismissal is a state on the finding, not a deletion. - [Read a window's insights](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/read-a-windows-insights.md): Poll this after requesting a generation. - [Request insights for the current window](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/request-insights-for-the-current-window.md): **Spends.** Runs a model over the scenario's current window and draws on the organization's `insightsPerDay` ledger, which is SHARED with eval-run and swarm wave insights — spending it here takes it from there. - [Cancel a window's generation](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/cancel-a-windows-generation.md): Releases a generation that is stuck `pending`. Idempotent against an already-finished one. - [Dismiss a finding](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/dismiss-a-finding.md): Keyed on the finding's stable remediation id, so the same problem stays dismissed when insights regenerate. Bodyless: the path names the finding. - [Restore a dismissed finding](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/user-testing/restore-a-dismissed-finding.md): Undoes a dismissal. Bodyless: the path names the finding. - [Start a Claude directory-readiness run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/directory-readiness/start-a-claude-directory-readiness-run.md): Grades the saved server against Anthropic's connector-directory requirements and returns `202` with a run id. The target comes from the saved server the path names: a body cannot supply a URL, an actor, an organization, a model or a cost. Poll the run detail for the verdict. Deterministic grading is… - [Start an OpenAI plugin-directory readiness run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/directory-readiness/start-an-openai-plugin-directory-readiness-run.md): Grades the saved server against OpenAI's plugin-directory requirements and returns `202` with a run id. `submissionMode` is required and never inferred: inferring it would read a forgotten package as `mcp-only` and report the package lane not-applicable, turning a missing input into a clean bill of… - [List readiness runs](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/directory-readiness/list-readiness-runs.md) - [Read one readiness run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/directory-readiness/read-one-readiness-run.md): Lane statuses, coverage and the observation axis. The full report — every finding with its citation and provenance — is a separate fetch. - [Cancel an in-flight readiness run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/directory-readiness/cancel-an-in-flight-readiness-run.md): The executing node learns about this on its next heartbeat and aborts the run in flight, which matters more than the row's status: the thing being stopped is traffic to somebody else's server. - [Fetch a readiness run's full report](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/directory-readiness/fetch-a-readiness-runs-full-report.md): Every finding, with its class, provenance, publisher-documentation citation and remediation. AI-derived findings carry `provenance` of `llm` and are confined to the experience lane as `heuristic` or `manual-review`; they can never decide a lane. `404` when the run has no stored report: it may be in… - [Start a persisted conformance run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/start-a-persisted-conformance-run.md): Grades the saved server against the protocol, apps, and tasks suites and returns `202` with a run id. The target comes from the saved server the path names: a body cannot supply a URL. OAuth is not startable here. Poll the run detail for the verdict. Status, outcome, and score are three different an… - [List persisted conformance runs](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/list-persisted-conformance-runs.md): Newest first. Optionally narrow to one saved server. `pending` counts checks the run's profile reported but did not score. - [Get a persisted conformance run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/get-a-persisted-conformance-run.md): Status, outcome, and score are three different answers. A run whose `projectId` is not the path's is `404`. Per-suite `profileId` / `pending` are present when the backend has stored them. - [Fetch a bounded conformance report projection](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/fetch-a-bounded-conformance-report-projection.md): Failing checks only, failed before could-not-run, capped at 50. `totalCases` is every case; `totalFailingCases` is the failing population `truncated` is computed from. `pending` on a check means this profile reported it but did not score it. `404` when the run has no stored report. - [Ingest a completed conformance run in one call](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/ingest-a-completed-conformance-run-in-one-call.md): How conformance runs executed OUTSIDE the platform (local CLI, GitHub Actions) reach the Conformance history. Authenticate like any other `/api/v1` route (typically an `sk_` key). The `{projectId}` segment always wins over any `projectId` in the body. The literal `default` resolves to the key org's… - [Open a conformance run for incremental ingestion](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/open-a-conformance-run-for-incremental-ingestion.md): How conformance runs executed OUTSIDE the platform (local CLI, GitHub Actions) reach the Conformance history. Authenticate like any other `/api/v1` route (typically an `sk_` key). The `{projectId}` segment always wins over any `projectId` in the body. The literal `default` resolves to the key org's… - [Upload one suite report onto a started conformance run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/upload-one-suite-report-onto-a-started-conformance-run.md): How conformance runs executed OUTSIDE the platform (local CLI, GitHub Actions) reach the Conformance history. Authenticate like any other `/api/v1` route (typically an `sk_` key). The `{projectId}` segment always wins over any `projectId` in the body. The literal `default` resolves to the key org's… - [Keep a long-running uploaded conformance run alive](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/keep-a-long-running-uploaded-conformance-run-alive.md): How conformance runs executed OUTSIDE the platform (local CLI, GitHub Actions) reach the Conformance history. Authenticate like any other `/api/v1` route (typically an `sk_` key). The `{projectId}` segment always wins over any `projectId` in the body. The literal `default` resolves to the key org's… - [Finalize an incrementally ingested conformance run](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/conformance-runs/finalize-an-incrementally-ingested-conformance-run.md): How conformance runs executed OUTSIDE the platform (local CLI, GitHub Actions) reach the Conformance history. Authenticate like any other `/api/v1` route (typically an `sk_` key). The `{projectId}` segment always wins over any `projectId` in the body. The literal `default` resolves to the key org's… - [Search the scraped MCP directories](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/registry/search-the-scraped-mcp-directories.md): Cross-source search over Claude, ChatGPT, and any future directory source. Omit `source` (or pass `all`) to search every source. The `cursor` is filter-bound. Prefer a matching curated card from `listRegistryServers` (global scope) when one exists — those carry vetted OAuth config. Bearer always req… - [Get one directory server](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/registry/get-one-directory-server.md): Resolve by Convex `catalogServerId` (long unhyphenated id) or by `serverName`. Pass `source` to disambiguate a name that exists in more than one directory. The response includes `latestContentHash` — pass it as `expectedContentHash` on install to freeze the row. - [List directory sources](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/registry/list-directory-sources.md): Discovery for the free-string `source` filter. Sources are data, not an enum — do not hardcode `claude`/`chatgpt` client-side. - [List curated and org registry cards](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/registry/list-curated-and-org-registry-cards.md): Merges global approved cards with the project's organization cards. Guest-denied. `scope` defaults to all. - [List registry installs in a project](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/registry/list-registry-installs-in-a-project.md): Merged catalog + card provenance. Guest-denied. Rows whose `servers` row is deleted are filtered out. - [Install a directory server into a project](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/registry/install-a-directory-server-into-a-project.md): Writes a `servers` row and catalog provenance. SUCCESS MEANS INSTALLED, NOT CONNECTED — follow with `get_project_server_connection_status` and, for OAuth, the browser connect-link handoff. Pass `expectedContentHash` from `GET /registry/directory-servers/{id}` to reject a row that moved (TOCTOU). The… - [Install a curated or org registry card](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/registry/install-a-curated-or-org-registry-card.md): Same install-not-connect contract as the directory install. Pass `expectedUpdatedAt` from `listRegistryServers` to freeze the card. - [Uninstall a registry card](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/registry/uninstall-a-registry-card.md): Card-only. Directory uninstall is `DELETE /projects/{projectId}/servers/{serverId}` — provenance is cleaned with the server. - [Send one agent Playground message](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/chat-sessions/send-one-agent-playground-message.md): Send one message to a project's MCP servers and get the model's reply plus the telemetry a participant in the conversation could not see: which tools ran, with what arguments, what each returned, per-call latency, and token usage. - [Read a chat session's messages](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/chat-sessions/read-a-chat-sessions-messages.md): Session metadata plus a bounded window of its raw messages. - [Read a chat session's execution trace](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/api-reference/chat-sessions/read-a-chat-sessions-execution-trace.md): Per-turn execution spans: per-tool-call latency, token usage, and indices into the transcript. Same span shape as the eval iteration trace. ## OpenAPI Specs - [openapi](https://mcpjam-mintlify-docs-update-pr-4053-1786992934526.mintlify.site/reference/openapi.json) ## Optional - [Discord](https://discord.gg/JEnDtz8X6z) - [GitHub](https://github.com/MCPJam/inspector) - [Website](https://mcpjam.com)