Virtual Assistant Agent API that provides agentic chatbot capabilities with todo management, web research, and task routing via LangGraph workflow supervision
VA Agent API exposes 12 tools via fastapi-mcp with HTTP transport. All tools have basic names and descriptions, and most parameters include type information. However, many descriptions are generic and insufficient for LLM decision-making; output schemas are not documented; error handling provides no recovery guidance; and destructive operations lack confirmation patterns. The tool set is well-structured (single concerns, verb-noun naming) but falls short of production-grade quality due to missing schema documentation and weak parameter descriptions that do not explain WHEN to use each tool or WHAT to expect in responses.
Streams response to the user in real-time as the AI model generates it
Create a new todo collection
Create a new todo
Delete a todo collection by its ID
Delete a todo by its ID
Retrieve all todo collections
Retrieve all todos
Output schemas not documented. LLMs do not know what fields to expect from responses, forcing them to guess at downstream field names and risk broken tool chains.
Destructive operations (delete_todo, delete_collection) lack confirmation patterns. No dry-run or confirmation step means agents can permanently delete data without safeguards.
Tool descriptions are generic and do not answer WHEN to use the tool or differentiate it from similar tools. E.g., 'Retrieve all todos' does not explain when to call this vs get_todos_by_collection.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 73 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 51 | - | v1 |
Retrieve a specific todo collection by its ID
Retrieve a specific todo by its ID
Retrieve all todos in a specific collection
Update an existing todo collection
Update an existing todo
get_all_todos and get_all_collections do not accept pagination parameters (limit, offset, cursor). Returning all items risks context window exhaustion and offers no way to limit results.
Error handling provides no recovery guidance. HTTP 404 with 'Todo not found' gives LLM no next step. Should suggest search_todos() or provide available options.
chat_stream description is weak ('Streams response to the user in real-time...') and does not explain input parameters, expected output format, or relationship to other tools. Parameter 'checkpoint_id' is documented but context/usage is missing.
create_todo and create_collection descriptions do not indicate they modify state or are safe to retry. Should state 'Creates a new todo and returns the created object' vs passive 'Create a new todo'.
No tool to search todos by name/keyword. Agents must iterate through all todos to find a specific one by content, wasting tokens and context.