Skip to main content
GET
Read one readiness run

Authorizations

Authorization
string
header
required

MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.

Path Parameters

projectId
string
required

ID of the hosted project that contains the server.

runId
string
required

Eval run ID, as returned by POST /eval-runs.

Response

The run.

A directory-readiness run. Readiness carries no numeric score and is excluded from pooledConformanceScore: it answers whether a publisher would list this server, which is a different question from whether the server speaks MCP correctly.

id
string
required
readinessKind
enum<string>
required
Available options:
claude,
openai
serverId
string | null
required

The saved project server this run graded. Null only on rows written before the field existed.

serverUrl
string
required

The saved server's URL exactly as stored. Canonicalizing it would change the grade.

submissionMode
enum<string> | null
required

The declared submission shape, for an OpenAI run. Never inferred.

Available options:
mcp-only,
mcp-imported-skills
status
enum<string>
required

cancelled is distinct from failed: a person who stopped a run has learned nothing about their server.

Available options:
pending,
running,
completed,
failed,
cancelled
overallStatus
enum<string> | null
required

The headline verdict. incomplete means nothing was violated and something the run needed was never evaluated.

Available options:
ready,
not-ready,
incomplete
lanes
object[]
required
stages
object[]
required
authMode
enum<string> | null
required
Available options:
headless,
interactive,
provided-token
capabilities
string[]
required

What the executing surface could actually do. Two surfaces grading one target agree only on their shared capability subset.

attemptCount
integer
required
terminalReason
string | null
required
errorMessage
string | null
required
policySnapshotDate
string | null
required

The publisher-documentation snapshot this run graded against, so a stale grade says so.

engineVersion
string | null
required
sdkVersion
string | null
required
includeLlmObservations
boolean
required

Whether this run was started with the paid observation opt-in.

llmObservations
object
required

The model-observation axis, independent of the run's own status. A run whose lanes graded cleanly is completed even when the observation call was refused for credit: a payment problem belongs to the account, never to the server under grading.

hasReport
boolean
required
reportUrl
string | null
required
createdAt
integer
required
updatedAt
integer
required