A collection of MCP servers providing weather forecasts, web search, file listing, movie search, and todo management tools
Critical failures across all dimensions. Tool definitions lack proper structure, descriptions are inadequate or misleading, schemas are incomplete, and security is severely compromised. Multiple tools have hardcoded API keys exposed in source code. Descriptions are either missing, under 20 characters, or copy-pasted incorrectly (e.g., list_files and get_todo both claim to 'get file lists'). Parameter schemas exist but lack proper type annotations in several cases. No error handling guidance, no output schema documentation, and no input validation. This server would not pass basic code review.
获取本地指定目录下的文件列表。 Args: year: 指定年份找到当年的计划目标或愿望
获取指定地点的未来几天天气预报 Args: location (str): 地点名称(如'beijing'),默认为北京 days (int, optional): 要获取的天数,默认为5天 Returns: List[Dict[str, str]]: 天气预报数据的列表,每个元素是一个包含天气信息的字典
获取本地指定目录下的文件列表。 Args: directory: 当前目录的名称
Search for movies using The Movie Database API
搜索互联网内容 Args: query: 要搜索内容 Returns: 搜索结果的总结
Hardcoded API credentials exposed in source code. Weather API key 'SkUkrLW-_y20nTC6h' and BigModel auth token visible in mcp_getWeather.py; TMDB bearer token in mcp_searchMovie.py. Credentials must never appear as tool parameters or hardcoded in code.
Misleading and copy-pasted descriptions. list_files description claims 'get file list' (correct) but get_todo description is identical ('获取本地指定目录下的文件列表') despite returning year-based goals, not files. Descriptions must accurately reflect what each tool does.
Missing or inadequate parameter descriptions. web_search parameter 'query' has only 4 characters of description ('要搜索内容'). list_files 'directory' parameter lacks format guidance. get_todo 'year' parameter has no constraints (valid range unknown). Descriptions must be 10-1024 chars and explain format/constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
No output schema documentation. Tools return unstructured strings (web_search, list_files) or raw API responses (search_movie) without documenting field names, types, or structure. LLMs cannot plan downstream calls or extract data reliably.
No error handling or recovery guidance. Tools lack try-catch blocks (except search_movie which returns bare error strings), no categorization of retryable vs fatal errors, and no actionable error messages. Agents cannot self-correct on failures.