Summary
memory_capabilities MCP tool returns a plain-text response (comma-separated tool list) instead of the structured content array expected by MCP protocol. This breaks clients that try to parse the response as JSON.
Environment
- Server:
https://api.thememoria.ai (production)
- MCP endpoint:
POST /mcp (JSON-RPC 2.0)
- Date observed: 2026-06-01
Steps to Reproduce
curl -X POST https://api.thememoria.ai/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <token>" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"memory_capabilities","arguments":{}}}'
Expected: MCP-standard response with structured result.content array, each block being parseable JSON or at least well-defined typed blocks.
Actual:
{
"result": {
"content": [
{
"text": "Available tools: memory_store, memory_retrieve, memory_search, memory_correct, memory_purge, memory_profile, memory_list, memory_capabilities, memory_...",
"type": "text"
}
]
}
}
The text is a single concatenated string. The tool list is also truncated (ends with memory_... — looks like 80-char cap or similar).
Impact
- Truncation: List is cut off mid-name; clients cannot discover the full toolset
- No structure: Cannot reliably split by delimiter (tool names may legitimately contain commas in future)
- No metadata: No descriptions, schemas, or version info — just names
- Inconsistent: Other tools return proper
content arrays; this one is text only
Workaround
const text = result.content[0].text; // "Available tools: ..."
const tools = text.replace('Available tools: ', '').split(', ').map(s => s.trim());
// But truncated list may miss recent additions
Proposed Fix
Return structured JSON:
{
"result": {
"content": [
{
"type": "text",
"text": "{\"tools\":[{\"name\":\"memory_store\",\"description\":\"...\"}, ...]}"
}
]
}
}
Or better, use type: "json" block if MCP supports it.
Minimum: don't truncate the list.
Related
Summary
memory_capabilitiesMCP tool returns a plain-text response (comma-separated tool list) instead of the structured content array expected by MCP protocol. This breaks clients that try to parse the response as JSON.Environment
https://api.thememoria.ai(production)POST /mcp(JSON-RPC 2.0)Steps to Reproduce
Expected: MCP-standard response with structured
result.contentarray, each block being parseable JSON or at least well-defined typed blocks.Actual:
{ "result": { "content": [ { "text": "Available tools: memory_store, memory_retrieve, memory_search, memory_correct, memory_purge, memory_profile, memory_list, memory_capabilities, memory_...", "type": "text" } ] } }The
textis a single concatenated string. The tool list is also truncated (ends withmemory_...— looks like 80-char cap or similar).Impact
contentarrays; this one is text onlyWorkaround
Proposed Fix
Return structured JSON:
{ "result": { "content": [ { "type": "text", "text": "{\"tools\":[{\"name\":\"memory_store\",\"description\":\"...\"}, ...]}" } ] } }Or better, use
type: "json"block if MCP supports it.Minimum: don't truncate the list.
Related