Skip to main content

Find Discord Tools

Immutable Catalog Entry

This descriptor comes from the active versioned Portal catalog.

READdiscord.find_tools
  • Contract tier: agent_ready
  • Risk: read
  • Catalog version: discord-2026.07.12.3
  • Descriptor hash: fd92b7592be432edb71a5b8c3a436ac99fd4293b3db9d8507458fda2e3bef738

Use this when you need ranked tools for a multi-word task or alias. This searches the deterministic catalog in memory through Discord's API and returns compact ranked matches with risk, category, tier, and next action. It requires an authenticated MAD MCP Portal request, but does not contact Discord.

Request Body

{
"jsonrpc": "2.0",
"id": "discord-find-tools-example",
"method": "tools/call",
"params": {
"name": "discord.find_tools",
"arguments": {
"query": "query_example",
"risk": "",
"limit": 1,
"category": "category_example",
"include_legacy": ""
}
}
}

Arguments Schema

{
"type": "object",
"title": "find_tools input",
"required": [
"query"
],
"properties": {
"risk": {
"enum": [
"",
"read",
"write",
"destructive"
],
"type": "string",
"title": "Risk",
"default": "",
"description": "Optional risk filter: read, write, or destructive."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 8,
"description": "Maximum records or matches, expressed as a positive decimal string unless typed as integer."
},
"query": {
"type": "string",
"title": "Query",
"description": "Punctuation-normalized multi-token search text; all terms must match."
},
"category": {
"type": "string",
"title": "Category",
"default": "",
"description": "Optional exact manifest category filter; empty includes every category."
},
"include_legacy": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "string"
}
],
"title": "Include Legacy",
"default": false,
"description": "When true, include legacy matches; hidden tools remain excluded."
}
},
"description": "Validated input for the Discord MCP find_tools tool."
}

Output Schema

{
"oneOf": [
{
"type": "object",
"required": [
"ok",
"data",
"meta"
],
"properties": {
"ok": {
"const": true
},
"data": {
"type": "object",
"properties": {
"count": {
"type": [
"integer",
"null"
],
"description": "Provider data field count returned by find_tools."
},
"query": {
"type": [
"string",
"null"
],
"description": "Provider data field query returned by find_tools."
},
"filters": {
"type": [
"object",
"null"
],
"description": "Provider data field filters returned by find_tools.",
"additionalProperties": true
},
"matches": {
"type": "array",
"items": {},
"description": "Provider data field matches returned by find_tools."
}
},
"description": "compact ranked matches with risk, category, tier, and next action",
"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 -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "discord-find-tools-example",
"method": "tools/call",
"params": {
"name": "discord.find_tools",
"arguments": {
"query": "query_example",
"risk": "",
"limit": 1,
"category": "category_example",
"include_legacy": ""
}
}
}'

Example Responses

{
"ok": true,
"message": "Tool discord.find_tools executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}