Check Discord MCP Configuration
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
read - Catalog version:
discord-2026.07.12.3 - Descriptor hash:
4669a4efc86c64eaf02343f8ff91f15c66bb02a306628703f4c64a4b8e1290d7
Use this when you need to know whether this request has required provider setup. This checks safe configuration presence and policy flags through Discord's API and returns readiness, missing field names, capability flags, and warnings without credential values. It requires an authenticated MAD MCP Portal request, but does not contact Discord.
Request Body
{
"jsonrpc": "2.0",
"id": "discord-check-configuration-example",
"method": "tools/call",
"params": {
"name": "discord.check_configuration",
"arguments": {}
}
}
Arguments Schema
{
"type": "object",
"title": "check_configuration input",
"properties": {},
"description": "Validated input for the Discord MCP check_configuration tool."
}
Output Schema
{
"oneOf": [
{
"type": "object",
"required": [
"ok",
"data",
"meta"
],
"properties": {
"ok": {
"const": true
},
"data": {
"type": "object",
"properties": {
"ready": {
"type": [
"boolean",
"null"
],
"description": "Provider data field ready returned by check_configuration."
},
"missing": {
"type": "array",
"items": {},
"description": "Provider data field missing returned by check_configuration."
},
"capabilities": {
"type": [
"object",
"null"
],
"description": "Provider data field capabilities returned by check_configuration.",
"additionalProperties": true
},
"configuration": {
"type": [
"object",
"null"
],
"description": "Provider data field configuration returned by check_configuration.",
"additionalProperties": true
}
},
"description": "readiness, missing field names, capability flags, and warnings without credential values",
"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-check-configuration-example",
"method": "tools/call",
"params": {
"name": "discord.check_configuration",
"arguments": {}
}
}'
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-check-configuration-example",
"method": "tools/call",
"params": {
"name": "discord.check_configuration",
"arguments": {}
}
}),
});
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-check-configuration-example",
"method": "tools/call",
"params": {
"name": "discord.check_configuration",
"arguments": {}
}
}
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.check_configuration 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."
}