Multi-model LLM agent platform with skill/tool management, workspace document handling, and FastAPI-based REST API. Supports OpenAI, Gemini, and Claude via adapters. Includes LINE Messaging API integration and real-time workspace synchronization.
This server presents a single tool 'select_relevant_tools' that is severely underdeveloped. The tool definition is not visible in the provided source code, only a re-export from server.adapters is shown in server/nlp/tool_selector.py. Without access to the actual tool registration (input schema, full description, parameter definitions), the tool cannot be properly evaluated. The description 'NLP tool-selection entrypoint for selecting relevant tools based on user input' is vague (75 chars) and lacks specificity about what 'tool selection' means, when to call it, or what it returns. No input schema is visible, no parameter documentation, no output structure defined. The re-export pattern suggests the implementation is hidden behind adapters, making it impossible to verify schema quality, error handling, or composition patterns. This violates fundamental MCP tool definition practices.
NLP tool-selection entrypoint for selecting relevant tools based on user input
Tool definition not visible in source code, only a re-export from server.adapters shown. Input schema, parameters, and full implementation are hidden. Cannot verify compliance with Arcade patterns.
Tool description is 75 characters and lacks detail. Does not answer: What does it do? When should the LLM call it? What does it return? Violates pattern:tool-description requirement (10 - 1024 chars, but should be substantive).
Tool name 'select_relevant_tools' uses 'select' (not an action verb in standard pattern: get_, create_, update_, delete_, search_, list_, send_). Verb is non-standard and does not clearly signal whether this is a discovery tool, a filtering tool, or a composition tool.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 23 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 25 | - | v1 |
No documented output schema. LLMs cannot plan downstream tool calls or extract chaining IDs if the response structure is unknown.
No error handling documentation. If the NLP selection fails, what does the tool return? How should the LLM recover?