An OS for AI agents, built on SFMD. HTML for humans, SFMD for agents. A universal surface for agent work across documents, apps, and the web.
String MCP server has 25 tools with significant definition gaps. Most tools lack proper input schemas, parameters are documented in descriptions but not in formal JSON Schema with type definitions. Descriptions are present but often generic (10-50 chars). No output schemas documented. Critical security issues: exec tool exposes shell command execution without validation; write/append/replace/edit tools lack confirmation patterns for destructive operations. Tool naming is inconsistent (nav vs open, topics vs sessions as aliases). No error handling guidance. Composition is poor, many tools (write, append, replace, edit) overlap without clear distinction. This server would not pass production code review.
Execute an action defined in the current document with optional parameters.
Manage agent configuration, capabilities, and webhooks.
Append content to the end of a file.
Navigate back to the previous document in the session history.
Close the current document and clear the session.
Edit a file interactively or with specified changes.
Manage and view agent events, including reading, acknowledging, and clearing events.
Execute a shell command or system command.
exec tool allows arbitrary shell command execution without validation, sanitization, or confirmation. No dry-run, no input constraints, no error recovery guidance. Critical security and safety risk.
File modification tools (write, append, replace, edit) lack confirmation patterns and output schemas. No documentation of what happens on overwrite, no guidance on recovery if operation fails. Destructive operations need dry-run or confirmation.
Input schemas are incomplete or missing for most tools. Parameters documented in descriptions but not in formal JSON Schema with type definitions. Cannot validate inputs or guide LLM parameter selection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Display help information about available commands.
Display information about the current document, available actions, or a specific topic.
Install a package or app from a source URL or registry.
List contents of a directory or available items in the current context.
Navigate within the current document using link references or section identifiers.
Open a document or navigate to a URI. Supports local files, remote URLs, and app references.
Refresh the current document, reloading its content from source.
Replace content in a file using pattern matching or line ranges.
Alias for topics command; list and manage active sessions.
Set environment variables or configuration values.
Display the raw SFMD source code of the current document.
Resolve and execute a tool by name, with optional action and arguments.
List and manage active topics (sessions) with optional type filtering.
Undo the last edit operation.
Uninstall a package or app.
Verify the syntax and validity of a document or file.
Write content to a file, creating it if it does not exist.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Violates pattern:response-shaper and pattern:tool-chain.
Duplicate/alias tools (topics vs sessions) and overlapping file edit tools (write, append, replace, edit) violate single-responsibility principle. LLMs waste reasoning cycles deciding between similar tools.