A Go-based MCP server and CLI tool for managing AI agent interactions with tools and skills. Provides daemon-based tool execution, custom tool support via JSON manifests, and interactive CLI for tool management.
Kram exhibits severe definition quality gaps across all dimensions. Tool definitions are inferred from test files rather than explicit registration code, making actual schemas unverifiable. Descriptions are present but minimal (10-50 chars), lacking WHEN/WHY context. No input schemas visible in source, parameter types and constraints are undocumented. Critical tools like 'bash' and 'delete_file' lack error handling guidance. No tool annotations (destructiveHint, readOnlyHint) despite high-risk operations. Composition is poor: 'bash' and 'run_background' overlap; 'snapshot_diff' and 'snapshot_restore' lack output schema documentation. No evidence of pagination, rate limiting, or secret injection patterns.
Ask a question to the user
Execute bash commands in the workspace
Delegate a task to another agent or process
Delete a file from the workspace
Search for patterns in files
Get language server protocol diagnostics
Get output from a background process
Read the contents of a file from the workspace
No input schemas visible in source code. All 13 tools lack documented parameter types, constraints, and validation rules. Cannot verify JSON Schema compliance.
Descriptions are minimal (10-50 chars) and lack WHEN/WHY context. E.g., 'Execute bash commands in the workspace' does not explain when to use bash vs run_background, or that it is destructive. LLMs cannot reliably select the right tool.
Destructive tools (bash, delete_file, run_background) lack error handling guidance and confirmation patterns. No dry-run support. Agents cannot safely plan irreversible operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Run a command in the background
Show differences between snapshots
Restore a workspace from a snapshot
Fetch content from a web URL
Write content to a file in the workspace
Tool definitions inferred from test files (toolpreview_test.go, parallel_tools_test.go) rather than explicit registration. Actual tool registration code not visible. Schemas and runtime behavior unverifiable.
No tool annotations (destructiveHint, readOnlyHint, idempotentHint) despite clear risk levels. Agents cannot reason about side effects or retry safety.