Enterprise AI platform with admin API, chat API, document processing, and tool management (HTTP and MCP services)
MOVO exposes 15 tools across setup, model configuration, search providers, and external tool management. Most tools have descriptions (13/15), but schema quality is inconsistent. 8 tools lack visible input schemas or have incomplete parameter definitions. Naming follows verb_noun convention (setup_*, fetch*, create*, update*, delete*) but lacks clarity in distinguishing similar operations (updateTool vs patchTool). Parameter descriptions exist but are often generic ('Tool ID', 'Tool configuration'). No output schemas documented. Error handling and recovery guidance absent. Security concerns: API keys exposed as parameters (setup_model_test, setup_search_test). Overall definition quality is below production baseline due to schema gaps and missing output documentation.
Create a new external tool (HTTP or MCP service)
Delete an external tool
Discover tools exposed by a remote MCP service
Fetch a specific external tool by ID
Fetch all external tools (HTTP and MCP services)
Generate a tool description using AI based on tool name and type
Partially update an external tool
API keys and secrets exposed as tool parameters (setup_model_test, setup_search_test accept apiKey, apiSecret as string parameters). Credentials must never appear in tool parameters, use server-side secret injection via environment variables or vault. Agent traces log every parameter, leaking secrets into logs and prompt history.
8 tools lack visible input schemas (setup_status, setup_model_providers, setup_search_providers, fetchTools, and others). Without schemas, LLMs cannot validate inputs or understand parameter constraints. Schema score must be 0 for tools with no visible schema definition.
No output schemas documented for any tool. LLMs need to know what fields to expect in responses to plan downstream calls and extract data correctly. Responses like 'Tool configuration' are too vague.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2025-06-18+ | v2 |
Get list of available model providers for setup configuration
Test a model configuration before saving
Get list of available external search providers
Test an external search provider configuration
Get the current setup status including service health checks, deployment readiness, and connection URLs
Test a draft tool configuration before saving
Test an external tool with provided input
Update an existing external tool
updateTool and patchTool are semantically similar (both modify tools). The distinction is unclear, PATCH typically means partial update, but both accept the same optional fields. This naming ambiguity forces LLMs to reason about which to use, increasing error likelihood.
Generic parameter descriptions ('Tool ID', 'Tool configuration', 'Test input parameters') lack context. LLMs cannot infer what 'Tool configuration' should contain or what 'Test input parameters' structure is expected. Descriptions must explain WHAT the parameter controls and its expected format.