The octopoda_log_decision MCP tool has a type mismatch in its context parameter.
The MCP tool definition advertises:
context: "Optional context dict"
But the pydantic validator enforces:
Input should be a valid string [type=string_type]
How to reproduce:
- Call octopoda_log_decision with context={"key": "value"}
- Observe: Error executing tool octopoda_log_decision:
Input should be a valid string
The JSON schema in the tool definition has context listed as:
"anyOf": [{"type": "string"}, {"type": "null"}]
So the schema says string-or-null. But the documentation says "dict".
One of them is wrong. Either:
- The schema should accept object/dict (fix the pydantic model)
- Or the docs should say "JSON string, not a dict" (fix the description)
Current behavior breaks any caller that passes structured data directly.
Workaround: JSON-serialize the context dict to a string before calling.
Environment:
octopoda 3.1.3
synrix_runtime 3.1.0
Linux x86_64
The octopoda_log_decision MCP tool has a type mismatch in its context parameter.
The MCP tool definition advertises:
context: "Optional context dict"
But the pydantic validator enforces:
Input should be a valid string [type=string_type]
How to reproduce:
Input should be a valid string
The JSON schema in the tool definition has context listed as:
"anyOf": [{"type": "string"}, {"type": "null"}]
So the schema says string-or-null. But the documentation says "dict".
One of them is wrong. Either:
Current behavior breaks any caller that passes structured data directly.
Workaround: JSON-serialize the context dict to a string before calling.
Environment:
octopoda 3.1.3
synrix_runtime 3.1.0
Linux x86_64