Get Legacy Discord Job Status
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
legacy - Risk:
read - Catalog version:
discord-2026.07.12.3 - Descriptor hash:
71b31f0ee3b33a97bee1bcbc9aafd43a146b7fa5c4109b2741b70f915beb1b8a
Use this when you need status or an optional result for discord_job_submit. This reads the in-memory legacy job record without changing Discord through Discord's API and returns job status, timing, action, and an optional result or error. It requires an authenticated MAD MCP Portal request, but does not contact Discord.
Request Body
{
"jsonrpc": "2.0",
"id": "discord-discord-job-status-example",
"method": "tools/call",
"params": {
"name": "discord.discord_job_status",
"arguments": {
"task_id": "task_id_123",
"include_result": ""
}
}
}
Arguments Schema
{
"type": "object",
"title": "discord_job_status input",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"title": "Task Id",
"description": "Opaque task identifier returned by the matching submit tool."
},
"include_result": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"title": "Include Result",
"default": false,
"description": "When true, include a completed legacy job result."
}
},
"description": "Validated input for the Discord MCP discord_job_status tool."
}
Output Schema
{
"oneOf": [
{
"type": "object",
"required": [
"ok",
"data",
"meta"
],
"properties": {
"ok": {
"const": true
},
"data": {
"type": "object",
"properties": {
"error": {
"description": "Provider data field error returned by discord_job_status."
},
"action": {
"type": [
"string",
"null"
],
"description": "Provider data field action returned by discord_job_status."
},
"result": {
"description": "Provider data field result returned by discord_job_status."
},
"status": {
"type": [
"string",
"null"
],
"description": "Provider data field status returned by discord_job_status."
},
"task_id": {
"type": [
"string",
"null"
],
"description": "Provider data field task_id returned by discord_job_status."
},
"created_at": {
"type": [
"string",
"null"
],
"description": "Provider data field created_at returned by discord_job_status."
},
"started_at": {
"type": [
"string",
"null"
],
"description": "Provider data field started_at returned by discord_job_status."
},
"finished_at": {
"type": [
"string",
"null"
],
"description": "Provider data field finished_at returned by discord_job_status."
}
},
"description": "job status, timing, action, and an optional result or error",
"additionalProperties": true
},
"meta": {
"type": "object",
"required": [
"duration_ms",
"rate_limit",
"warnings"
],
"properties": {
"guild_id": {
"type": "string"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"thread_id": {
"type": "string"
},
"channel_id": {
"type": "string"
},
"rate_limit": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string"
},
"duration_ms": {
"type": "integer",
"minimum": 0
}
},
"description": "Safe execution metadata containing no credentials or raw headers.",
"additionalProperties": true
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"ok",
"error",
"meta"
],
"properties": {
"ok": {
"const": false
},
"meta": {
"type": "object",
"required": [
"duration_ms",
"rate_limit",
"warnings"
],
"properties": {
"guild_id": {
"type": "string"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"thread_id": {
"type": "string"
},
"channel_id": {
"type": "string"
},
"rate_limit": {
"type": "object",
"additionalProperties": true
},
"request_id": {
"type": "string"
},
"duration_ms": {
"type": "integer",
"minimum": 0
}
},
"description": "Safe execution metadata containing no credentials or raw headers.",
"additionalProperties": true
},
"error": {
"type": "object",
"required": [
"type",
"message"
],
"properties": {
"type": {
"type": "string"
},
"message": {
"type": "string"
},
"diagnostics": {
"type": "object",
"additionalProperties": true
},
"required_perms": {
"type": "array",
"items": {
"type": "string"
}
},
"discord_error_code": {
"type": "integer"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
],
"title": "Discord MCP provider result",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Normalized success or semantic-error response; ok=false is a failed call."
}
Code Examples
- cURL
- Node.js
- Python
curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "discord-discord-job-status-example",
"method": "tools/call",
"params": {
"name": "discord.discord_job_status",
"arguments": {
"task_id": "task_id_123",
"include_result": ""
}
}
}'
const response = await fetch('https://portal.madpanda3d.com/api/mcp', {
method: 'POST',
headers: {
Authorization: 'Bearer mad_live_***',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": "discord-discord-job-status-example",
"method": "tools/call",
"params": {
"name": "discord.discord_job_status",
"arguments": {
"task_id": "task_id_123",
"include_result": ""
}
}
}),
});
const data = await response.json();
console.log(data);
import requests
url = 'https://portal.madpanda3d.com/api/mcp'
headers = {
'Authorization': 'Bearer mad_live_***',
'Content-Type': 'application/json',
}
payload = {
"jsonrpc": "2.0",
"id": "discord-discord-job-status-example",
"method": "tools/call",
"params": {
"name": "discord.discord_job_status",
"arguments": {
"task_id": "task_id_123",
"include_result": ""
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool discord.discord_job_status executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}
{
"ok": false,
"classification": "upstream_http_error",
"message": "Upstream MCP returned a non-success status."
}