File to AI - a Tauri desktop application for browsing files and interacting with MCP servers and AI providers
This is a Rust/Tauri desktop application, NOT a functional MCP server. The codebase contains React/TypeScript UI components and a Tauri backend, but NO actual MCP server implementation is evident from the provided source. The tool definitions listed appear to be aspirational or UI mockups rather than registered, working MCP tools. The project has MCP client dependencies (rmcp crate with client features) but no server registration, message handlers, or protocol-compliant tool definitions. The 4 tools listed lack visible implementations, proper schemas, and error handling. This is a fundamental architectural gap, the project attempts to USE MCP servers (as a client), not expose tools via MCP.
Get system default directories for file browsing (home, documents, downloads, pictures, movies, music)
Read directory contents and return file entries with metadata including name, path, is_directory, size, and extension
Send a message to an AI provider with optional MCP tools integration. Returns chat messages from the assistant.
Send a message to an AI provider with streaming response. Emits chat_stream events with content chunks until finished.
No actual MCP server implementation detected. Project is a Tauri desktop app with MCP CLIENT dependencies (rmcp crate), not a server. No tool registration, no message handlers, no protocol compliance.
get_default_directories has NO input schema (empty {} object with no properties).
send_message and send_message_stream expose api_key as a plain parameter. Credentials must never be tool parameters, use server-side injection instead. Secrets in tool params leak into logs and prompt history.
Tool descriptions are vague and under-specified. 'Send a message to an AI provider' lacks WHEN to use it, what it returns in detail, and error conditions. No recovery guidance for LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 39 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 24 | - | v1 |
send_message_stream mentions 'Emits chat_stream events' but no output schema is documented. LLM cannot know what fields to expect from streamed chunks.
No visible error handling or error classification (retryable vs fatal). If read_directory fails or send_message times out, LLM has no guidance.
read_directory description mentions 'size, extension' but input schema does not document supported path formats, max result limits, or pagination support.
send_message 'provider' parameter accepts free-form string ('openai', 'anthropic'). Should be an enum with explicit valid values to prevent hallucinated provider names.