MCP Resources Reference
Cordum MCP resources expose read-only operational context for agents and clients.
All resources/read calls return MCP content with:
contents[0].uricontents[0].mimeType(application/json)contents[0].text(a JSON-encoded payload string)
Resource Catalog
cordum://jobs/{id}
- Description: Job detail by ID.
- Response format:
id,state,topic,tenantsubmitted_at,completed_atresult_ptr, optionalresultsafety_decision,safety_reason,safety_rule_id- optional approval metadata
- Example payload (
contents[0].textJSON):
{
"id": "b25c8808-17ad-4114-b013-15552bbf5359",
"state": "succeeded",
"topic": "job.demo-guardrails.safe",
"tenant": "default",
"submitted_at": "2026-02-13T15:20:10Z",
"completed_at": "2026-02-13T15:20:11Z",
"result_ptr": "redis://res:b25c8808-17ad-4114-b013-15552bbf5359",
"safety_decision": "ALLOW",
"safety_reason": "matched allow rule",
"safety_rule_id": "allow-safe-topic"
}
cordum://jobs?status={status}&limit={limit}&cursor={cursor}
- Description: Job list with filters and pagination.
- Query params:
status(optional): pending/running/succeeded/failed/cancelledlimit(optional): default20, max100cursor(optional): pagination cursor
- Response:
items: array of jobsnext_cursor: cursor for next page (when available)
- Example payload (
contents[0].textJSON):
{
"items": [
{
"id": "b25c8808-17ad-4114-b013-15552bbf5359",
"state": "succeeded",
"topic": "job.demo-guardrails.safe",
"submitted_at": "2026-02-13T15:20:10Z"
},
{
"id": "db396e4d-0db6-440a-a0e0-3f2df885c559",
"state": "running",
"topic": "job.hello-pack.echo",
"submitted_at": "2026-02-13T15:19:55Z"
}
],
"next_cursor": 1739458200000000
}
cordum://workflows/{id}/runs?limit={limit}
- Description: Recent workflow runs for a workflow ID.
- Query params:
limit(optional): default10, max100
- Response:
workflow_iditems: array of runs
- Example payload (
contents[0].textJSON):
{
"workflow_id": "demo-guardrails",
"items": [
{
"id": "run-20260213-001",
"status": "succeeded",
"started_at": "2026-02-13T15:10:00Z",
"completed_at": "2026-02-13T15:10:04Z"
},
{
"id": "run-20260213-002",
"status": "approval_required",
"started_at": "2026-02-13T15:12:00Z"
}
]
}
cordum://workflows/{id}/runs/{runId}
- Description: Workflow run detail by run ID (scoped by workflow ID).
- Response format:
id,workflow_id,statusstepsarray with per-step status and timing- optional
output,error, and metadata
- Example payload (
contents[0].textJSON):
{
"id": "run-20260213-001",
"workflow_id": "demo-guardrails",
"status": "succeeded",
"steps": [
{
"id": "write@1",
"status": "succeeded",
"started_at": "2026-02-13T15:10:00Z",
"completed_at": "2026-02-13T15:10:02Z"
},
{
"id": "safe@1",
"status": "succeeded",
"started_at": "2026-02-13T15:10:02Z",
"completed_at": "2026-02-13T15:10:04Z"
}
]
}
cordum://audit?limit={limit}
- Description: Recent policy audit entries.
- Query params:
limit(optional): default50, max200
- Response:
items: audit entries (timestamp/action/resource/actor metadata)
- Example payload (
contents[0].textJSON):
{
"items": [
{
"timestamp": "2026-02-13T15:18:23Z",
"action": "policy.evaluate",
"resource": "job:b25c8808-17ad-4114-b013-15552bbf5359",
"actor": "scheduler",
"decision": "ALLOW"
},
{
"timestamp": "2026-02-13T15:18:31Z",
"action": "policy.evaluate",
"resource": "job:dangerous-001",
"actor": "scheduler",
"decision": "DENY"
}
]
}
cordum://health
- Description: System health snapshot.
- Response format:
uptime_secondsworkers(counts/active)redis,nats,safety_kernelstatus objects- optional build/version metadata
- Example payload (
contents[0].textJSON):
{
"uptime_seconds": 8342,
"workers": {
"total": 7,
"active": 4
},
"redis": {
"status": "ok"
},
"nats": {
"status": "ok"
},
"safety_kernel": {
"status": "ok"
},
"version": "dev"
}
cordum://policies
- Description: Active policy bundle summary.
- Response:
active_bundles: current bundle summariescurrent_snapshot_idsafety_stance(permissive|balanced|strict)
- Example payload (
contents[0].textJSON):
{
"active_bundles": [
{
"name": "demo-guardrails",
"rule_count": 12,
"last_updated": "2026-02-13T15:00:00Z"
}
],
"current_snapshot_id": "snapshot-20260213-150000",
"safety_stance": "balanced"
}
JSON-RPC Envelope Example
{
"jsonrpc": "2.0",
"id": 11,
"method": "resources/read",
"params": {
"uri": "cordum://jobs?status=running&limit=5"
}
}
{
"jsonrpc": "2.0",
"id": 11,
"result": {
"contents": [
{
"uri": "cordum://jobs?status=running&limit=5",
"mimeType": "application/json",
"text": "{\"items\":[...],\"next_cursor\":1739433600000000}"
}
]
}
}
Pagination Pattern
- List resources return
next_cursorwhen additional pages exist. - Pass returned
next_cursorinto the nextresources/readURI query. - Keep
limitstable across pages for predictable traversal.
Agent Usage Notes
- Fetch
cordum://policiesandcordum://healthearly to build operational context. - Use
cordum://jobs?...beforecordum://jobs/{id}to avoid unnecessary deep reads. - Prefer bounded limits (
5-20) for iterative context gathering workflows.