Enhanced utility toolset with calculator, text analysis, task management, time, path converter, filesystem features, and comprehensive search capabilities including web search, paper search, and Tavily content extraction/crawling/mapping
The Atlas Toolset MCP exposes 33 tools across file operations, calculations, tasks, time utilities, path conversion, and web search. While all tools have descriptions and input schemas are present, critical quality gaps limit production readiness. Most tool descriptions are adequate (100-200 chars) but many lack actionable context for LLM selection. Parameter descriptions are generic and do not explain constraints, valid ranges, or formats. Output schemas are not documented anywhere in the provided code. Error handling and recovery guidance are absent. Security concerns exist around file path operations without visible input sanitization, and web search tools lack rate-limiting documentation. The 'fake deletion' pattern for fs_delete_file and task_delete is unusual and undocumented. Tool composition is reasonable (file ops, calc, tasks, search are logically grouped) but parameter naming inconsistencies emerge: fs_* tools use 'path' but the expected format (absolute vs relative, Windows vs Linux) is undocumented. Naming is action-verb-first (good: fs_read_file, fs_write_file, search_web) but some tools blur responsibilities, e.g., tavily_search, tavily_extract, tavily_crawl, tavily_map are four separate tools when they could compose. No tool declares permission scopes or idempotency. The server lacks pagination metadata (limit/offset returns), and batch operations (e.g., fs_read_multiple_files) do not indicate per-item success/failure.
Perform basic arithmetic calculations
Perform financial calculations like compound interest, loan payments, and ROI
Perform scientific calculations including trigonometry, logarithms, and other advanced math
Perform statistical calculations on datasets
Copy a file from source to destination. Only works within allowed directories.
Delete a file (fake deletion - reversible). The file is marked as deleted but can be restored. Only works within allowed directories.
List all directories that are allowed for file operations. This shows which directories you have access to.
No output schemas documented. Tool descriptions state WHAT is returned (e.g., 'returns file contents', 'returns task list') but JSON Schema for response objects is not visible in the source code. LLMs cannot plan downstream chaining without knowing response field names and types.
Parameter constraints and formats are undocumented. 'expression' params in calc_* tools lack guidance on supported syntax (e.g., is 'sqrt(4)' valid? can operators include ^?). 'pattern' in fs_search_files lacks glob vs regex clarification. 'path' parameters do not specify absolute vs relative, or Windows vs Linux format expectations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 40 | - | v1 |
List contents of a directory. Shows files and subdirectories with metadata. Only works within allowed directories.
Move or rename a file. Only works within allowed directories.
Read the complete contents of a file from the file system. Handles various text encodings and provides detailed error messages if the file cannot be read. Use this tool when you need to examine the contents of a single file. Only works within allowed directories.
Read the contents of multiple files simultaneously. This is more efficient than reading files one by one when you need to analyze or compare multiple files. Each file's content is returned with its path as a reference. Failed reads for individual files won't stop the entire operation. Only works within allowed directories.
Restore a previously deleted file. Only works for files that have been fake-deleted.
Search for files by name pattern within allowed directories.
Create a new file or completely overwrite an existing file with new content. Use with caution as it will overwrite existing files without warning. Handles text content with proper encoding. Only works within allowed directories.
Perform a health check on the server to verify it's running properly
Convert paths between Windows and Linux formats. Auto-detects format and converts accordingly.
Convert multiple paths between Windows and Linux formats in one operation
Search for academic papers across multiple sources like arXiv, Semantic Scholar, and PubMed
Download PDF papers from search results
Search the web using multiple search engines in parallel. Returns unified results with deduplication.
Get system information and server status
Create a new task with optional priority, category, and dependencies
Delete a task (fake deletion - reversible)
List all tasks with optional filtering by status, priority, or category
Update a task's properties like status, priority, or description
Crawl websites and extract structured content using Tavily
Extract and process content from multiple websites using Tavily
Generate a sitemap of a website and retrieve its structure using Tavily
Search using Tavily's search engine with advanced options
Analyze text with various analysis modes: basic statistics, detailed breakdown, readability metrics, sentiment analysis, or keyword extraction
Convert time between different formats
Get current time in various formats
Get specific time points using shortcuts like 'now', 'yesterday', 'tomorrow', 'EoD', 'EoM', etc.
Destructive operations lack dry-run or confirmation patterns. fs_delete_file, fs_write_file (overwrites), fs_move_file (overwrite flag), and task_delete have no confirmation step. Agents cannot request user approval before destructive actions. 'fake deletion' is non-standard and undocumented, users do not expect reversible deletes.
No input validation or error recovery guidance. No tool description explains what to do if a file is not found, a directory is not allowed, a calculation fails, or a web search times out. Error messages are not provided in tool specs, so LLMs cannot self-correct.
Batch operations (fs_read_multiple_files) do not specify per-item success/failure handling. If 1 of 10 files fails to read, does the entire operation fail, or are results returned with an error indicator per file? Spec is silent.
Search tools (search_web, search_papers, tavily_search) accept 'limit' or 'max_results' but no tool declares pagination cursors, total counts, or offset/page parameters for iterating large result sets. Response truncation is likely but not documented.
No permission scopes declared. Tools like fs_write_file, fs_delete_file, and task_create/delete should declare required scopes (e.g., 'write:filesystem', 'admin:tasks'). Agents cannot be configured with least-privilege access.
Multiple search-related tools (search_web, tavily_search, search_papers) with overlapping functionality create LLM confusion. Unclear when to use search_web vs tavily_search; search_papers is distinct but search_web should document whether it includes academic results.
Time utility tools (time_now, time_shortcut, time_convert) accept format enum but no documentation clarifies whether 'iso' is ISO 8601 or another variant, or whether 'italian' is a custom format. Output format is not specified, so LLMs cannot validate results.
No idempotency guarantees documented. file_copy_file with overwrite=true, fs_write_file, and task_create do not declare whether repeated calls with identical inputs produce the same result or have side effects (e.g., duplicate task creation).
Security concern: file paths are parameters to fs_* tools but no description specifies path validation, sandboxing, or restrictions. 'Only works within allowed directories' is mentioned but no tool documents HOW to determine which directories are allowed or what happens if a path escapes the sandbox.