An MCP server that provides tools for reading, writing, and managing shared memory across processes using Windows memory-mapped files. Enables inter-process communication and data sharing through JSON serialization.
This server has fundamental definition quality gaps that would prevent reliable agent usage. All five tools lack meaningful parameter validation, most lack structured output documentation, and error handling is minimal. The generic descriptions (10-30 chars) provide insufficient context for LLM tool selection. No schemas document return types. Tool names are reasonable but parameter descriptions are missing entirely or trivial.
Clears all data from shared memory.
Creates and writes a message object to shared memory. Parameters: content (string), sender (string)
Creates and writes a metrics object to shared memory. Parameters: name (string), value (double), unit (string)
Creates and writes a system status object to shared memory. Parameters: status (string), cpu_usage (double), memory_usage (long)
Reads JSON data from shared memory and returns it to the MCP client.
Returns information about the shared memory state.
Updates existing data in shared memory with new JSON data. Parameters: json_data (string) - JSON string to update
No output/return schemas documented for any tool. LLMs cannot plan downstream operations or extract needed fields. Spec requires 'Return structured objects with typed fields' but code shows return types (SharedMemoryResult<T>) with no type hints visible in tool definitions.
Parameter descriptions are trivial or absent. 'json_data' has desc 'JSON formatted string to write to shared memory' (no validation rules). 'status' has no enum definition (should be 'healthy|warning|error'). 'cpu_usage' has no range (0-100%). LLMs cannot self-validate input.
Tool descriptions are 10-30 characters below the 50-char baseline (rubric baseline: avg 194 chars, p10=34, p90=392). 'Write JSON data to shared memory' (33 chars) provides no context for WHEN to use write_shared_memory vs create_system_status vs create_message. LLM tool selection will be ambiguous.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 11 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 28 | - | v1 |
Writes JSON data to shared memory. Parameters: json_data (string) - JSON string to write
Writes typed data to shared memory. Parameters: data_type (string), json_payload (string)
No error handling guidance. Code shows 1MB size limit and max retry/timeout logic, but tools return no actionable error messages like 'Data exceeds 1MB limit. Compress or split into multiple writes.' Agents cannot self-correct.
Semantic overlap between tools not resolved. write_shared_memory, create_system_status, create_message, and create_metrics all write to shared memory. No descriptions explain when to use each. LLM will not know whether to call create_system_status or write_shared_memory for CPU metrics.
get_shared_memory has no input parameters but code comment shows 'ReadData<T>' generics. Tool definition does not show how agent specifies WHAT to read (latest? by type? by key?). Schema is incomplete.