Offline Wikipedia Q&A agent powered by TurboRag and llama.cpp. Provides semantic search and question-answering capabilities over a local Wikipedia ZIM archive without requiring internet connectivity.
WikipediaAgent has 4 tools with basic descriptions and minimal parameter schemas. All tools have descriptions (10-200 chars range), but parameter documentation is sparse. Input schemas exist but lack depth: most parameters are simple strings with minimal constraint documentation. No output schemas are documented. Error handling is present but generic ('Error generating answer: {exc}'). Tool naming follows verb_noun convention (wikipedia_search, wikipedia_ask, wikipedia_get_article, wikipedia_index_article), which is good. However, the server is STDIO-only, which is a hard transport limitation. Descriptions are adequate but could be more specific about when to use each tool vs. alternatives. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles.
Ask a question and get a synthesized answer from Wikipedia. Use this tool when you want a direct answer to a factual question. The tool retrieves relevant Wikipedia passages and generates an answer. Input should be a complete question.
Retrieve the full text of a specific Wikipedia article. Use this when you know the exact article title you need. Input should be the Wikipedia article title (e.g. 'Python (programming language)'). Returns the first 2000 characters of the article.
Index a specific Wikipedia article for future searches. Use this when a search fails and you want to add a specific article to the knowledge base. Input is the Wikipedia article title.
Search the offline Wikipedia knowledge base. Use this tool when you need factual information from Wikipedia. Input should be a clear, concise search query. Returns the top matching text chunks with article titles.
No output schemas documented. LLMs cannot plan downstream calls or extract structured data from tool responses. All four tools return free-text strings without field definitions.
Parameter schemas lack constraints and validation hints. 'query' and 'question' parameters are bare strings with no length limits, format guidance, or examples of what constitutes a 'clear, concise' query.
No tool annotations (readOnlyHint/destructiveHint). wikipedia_index_article is marked WRITE but the tool definition lacks destructiveHint annotation. Agents cannot distinguish safe vs. risky tools without explicit hints.
Error handling is generic and non-actionable. 'Error generating answer: {exc}' and 'Failed to index article: {exc}' do not guide the LLM on recovery steps or whether to retry.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Descriptions lack dependency hints and selection guidance. No explanation of when to use wikipedia_ask vs. wikipedia_search, or when to call wikipedia_index_article if a search fails.