Check Wave Configuration
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
read - Catalog version:
2026-07-12.1 - Descriptor hash:
0484d1d22df645cc673208862f8a4f33189e5ff66da684e47b8885a5a8fe1180
Use this grant-only local check before any provider call to learn whether an approved Wave identity is configured. It contacts neither Matrix nor Synapse and returns presence flags only, never credential values.
Request Body
{
"jsonrpc": "2.0",
"id": "wave-check-configuration-example",
"method": "tools/call",
"params": {
"name": "wave.check_configuration",
"arguments": {}
}
}
Arguments Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"description": "This tool accepts no arguments.",
"additionalProperties": false
}
Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the Wave MCP operation completed successfully."
},
"data": {
"anyOf": [
{},
{
"type": "null"
}
],
"description": "Tool-specific Wave, Matrix, Synapse, or local navigation result."
},
"meta": {
"type": "object",
"description": "Safe execution and actor metadata without credential values.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"error": {
"anyOf": [
{
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"description": "Stable machine-readable error classification."
},
"details": {
"description": "Optional safe error context without credentials or request bodies."
},
"message": {
"type": "string",
"description": "Safe actionable error message."
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Safe error details when ok is false."
}
},
"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": "wave-check-configuration-example",
"method": "tools/call",
"params": {
"name": "wave.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": "wave-check-configuration-example",
"method": "tools/call",
"params": {
"name": "wave.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": "wave-check-configuration-example",
"method": "tools/call",
"params": {
"name": "wave.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 wave.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."
}