Get lossless Apollo tool usage
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
read - Catalog version:
1.0.2 - Descriptor hash:
37c5364de9ba6f3bbd3c17c14f9514e2d452757a679b895fdc1b565e4fadc1ea
Use this local read-only navigation tool after discovery to retrieve one complete Apollo descriptor, including every input, output, risk, confirmation, and documentation field. It never contacts Apollo and does not truncate safety or parameter semantics.
Request Body
{
"jsonrpc": "2.0",
"id": "apollo-get-tool-usage-example",
"method": "tools/call",
"params": {
"name": "apollo.get_tool_usage",
"arguments": {
"tool_name": "tool_name_example"
}
}
}
Arguments Schema
{
"type": "object",
"required": [
"tool_name"
],
"properties": {
"tool_name": {
"type": "string",
"minLength": 1,
"description": "Native tool name, canonical name, or exact registered alias."
}
},
"additionalProperties": false
}
Output Schema
{
"type": "object",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the requested operation completed successfully."
},
"data": {
"anyOf": [
{
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"description": "Normalized provider or navigation result."
},
{
"type": "null"
}
],
"default": null,
"description": "Normalized provider or navigation result."
},
"meta": {
"type": "object",
"description": "Safe request, pagination, and truncation metadata.",
"additionalProperties": true
},
"error": {
"anyOf": [
{
"type": "object",
"description": "Safe error details when ok is false.",
"additionalProperties": true
},
{
"type": "null"
}
],
"default": null,
"description": "Safe error details when ok is false."
}
},
"description": "Apollo MCP normalized response envelope.",
"additionalProperties": false
}
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": "apollo-get-tool-usage-example",
"method": "tools/call",
"params": {
"name": "apollo.get_tool_usage",
"arguments": {
"tool_name": "tool_name_example"
}
}
}'
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": "apollo-get-tool-usage-example",
"method": "tools/call",
"params": {
"name": "apollo.get_tool_usage",
"arguments": {
"tool_name": "tool_name_example"
}
}
}),
});
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": "apollo-get-tool-usage-example",
"method": "tools/call",
"params": {
"name": "apollo.get_tool_usage",
"arguments": {
"tool_name": "tool_name_example"
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool apollo.get_tool_usage 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."
}