List Discord MCP Capabilities
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:
1eca51e76dd4d717266514b5eb40296be3d0f3c3b55c41a15923ff30ac1c0766
Use this when you need capability groups, counts, or the lossless ToolManifest. This reads the provider-owned catalog from memory through Discord's API and returns catalog identity, counts, categories, and optionally every descriptor. It requires an authenticated MAD MCP Portal request, but does not contact Discord.
Request Body
{
"jsonrpc": "2.0",
"id": "discord-list-capabilities-example",
"method": "tools/call",
"params": {
"name": "discord.list_capabilities",
"arguments": {
"include_descriptors": ""
}
}
}
Arguments Schema
{
"type": "object",
"title": "list_capabilities input",
"properties": {
"include_descriptors": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"title": "Include Descriptors",
"default": false,
"description": "When true, include all ordered lossless descriptors for Portal ingestion."
}
},
"description": "Validated input for the Discord MCP list_capabilities tool."
}
Output Schema
{
"oneOf": [
{
"type": "object",
"required": [
"ok",
"data",
"meta"
],
"properties": {
"ok": {
"const": true
},
"data": {
"type": "object",
"properties": {
"tools": {
"type": "array",
"items": {},
"description": "Provider data field tools returned by list_capabilities."
},
"counts": {
"type": [
"object",
"null"
],
"description": "Provider data field counts returned by list_capabilities.",
"additionalProperties": true
},
"buildSha": {
"type": [
"string",
"null"
],
"description": "Provider data field buildSha returned by list_capabilities."
},
"serviceId": {
"type": [
"string",
"null"
],
"description": "Provider data field serviceId returned by list_capabilities."
},
"categories": {
"type": "array",
"items": {},
"description": "Provider data field categories returned by list_capabilities."
},
"nextAction": {
"type": [
"object",
"null"
],
"description": "Provider data field nextAction returned by list_capabilities.",
"additionalProperties": true
},
"schemaVersion": {
"type": [
"string",
"null"
],
"description": "Provider data field schemaVersion returned by list_capabilities."
},
"catalogVersion": {
"type": [
"string",
"null"
],
"description": "Provider data field catalogVersion returned by list_capabilities."
},
"descriptorHash": {
"type": [
"string",
"null"
],
"description": "Provider data field descriptorHash returned by list_capabilities."
},
"serviceAliases": {
"type": "array",
"items": {},
"description": "Provider data field serviceAliases returned by list_capabilities."
},
"descriptorsIncluded": {
"type": [
"boolean",
"null"
],
"description": "Provider data field descriptorsIncluded returned by list_capabilities."
}
},
"description": "catalog identity, counts, categories, and optionally every descriptor",
"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-list-capabilities-example",
"method": "tools/call",
"params": {
"name": "discord.list_capabilities",
"arguments": {
"include_descriptors": ""
}
}
}'
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-list-capabilities-example",
"method": "tools/call",
"params": {
"name": "discord.list_capabilities",
"arguments": {
"include_descriptors": ""
}
}
}),
});
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-list-capabilities-example",
"method": "tools/call",
"params": {
"name": "discord.list_capabilities",
"arguments": {
"include_descriptors": ""
}
}
}
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.list_capabilities 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."
}