A Swift framework for building AI-powered applications with tool calling, inference orchestration, and UI components. This repository contains example code and tools for the ManifoldKit framework.
ManifoldKit provides 9 tools with mixed quality. Most tools have descriptions (7/9), but several lack input schemas or have incomplete parameter documentation. The 'now' tool has a well-structured schema with timezone parameter and clear guidance. However, 'calc', 'list_dir', 'read_file', 'sample_repo_search', and 'fakeMCPLookup' lack visible input schemas in the provided source. The 'write_file' tool has a proper schema but descriptions are functional rather than LLM-optimized. Error handling is present (UnknownTimeZoneError in DemoNowTool) but inconsistent across tools. Tool naming follows verb_noun convention (read_file, write_file, list_dir) which is good, but some names are generic ('calc' instead of 'calculate' or 'evaluate_expression'). No tool annotations (readOnlyHint, destructiveHint) are visible despite risk classifications being declared.
Calculator tool for arithmetic operations
Looks up a path on a remote MCP service. The remote server is currently unreachable in the demo — call once and report the failure rather than looping.
Fetches a fact about the supplied query. Occasionally rate-limits — when it returns a rateLimited error, retry the same call to recover.
Lists directory contents in the demo sandbox
Returns the current date and time. If the user asks for a place-specific time, pass an IANA timezone like 'Asia/Tokyo' when possible; never guess.
Reads a UTF-8 text file from the demo sandbox directory
Searches the sample repository workspace for files and content
5 of 9 tools lack visible input schemas (calc, read_file, list_dir, sample_repo_search, set_reminder_intent). Without schemas, LLMs cannot validate parameters or understand required vs optional fields.
Tool names lack specificity. 'calc' is generic; 'evaluate_expression' or 'calculate_arithmetic' would be clearer. 'sample_repo_search' mixes 'sample' (adjective) with verb_noun pattern.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present despite risk classifications being declared (READ_ONLY, WRITE). These annotations are required for current MCP spec compliance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
AppIntent-based tool for setting reminders via SetReminderIntent
Writes a UTF-8 text file inside the demo sandbox. Path must be relative to the sandbox root. Creates parent directories on demand. Requires explicit user approval.
Parameter descriptions are minimal or absent. 'path' in read_file lacks constraints (relative vs absolute, sandbox boundaries). 'query' in fakeRateLimited lacks format guidance. LLMs need explicit constraints to avoid invalid input.
Error handling is inconsistent. DemoNowTool throws UnknownTimeZoneError with recovery guidance, but other tools (calc, read_file, write_file) lack visible error classification or recovery hints.