MCP server for fetching and reading Trade Companion articles by Adam Mancini from Substack
Single tool with critical definition gaps. Tool name 'get_latest_trade_companion_adam_mancini_article' is excessively long (47 chars vs baseline 18) and violates verb_noun convention by embedding proper nouns. Description is present (89 chars) but lacks actionable context: does not explain WHEN to use it, what it returns, or prerequisites (cookies file). Input schema is empty object {}, no parameters documented. Output schema is completely undocumented; LLM cannot predict returned fields. No error handling guidance. Tool appears to be the only one in the server, making this a single-tool evaluation.
Fetch and return the content of the latest Trade Companion article by Adam Mancini. Excludes the "My Trade Methodology Fundamentals" article.
Tool name violates verb_noun convention and embeds proper nouns. 'get_latest_trade_companion_adam_mancini_article' (47 chars) should be 'get_latest_article' or 'fetch_article'. Proper nouns in tool names reduce discoverability and force LLMs to reason about publication/author context instead of action.
Input schema is empty object {}. No parameters are documented, yet the implementation references cookies_file and makes HTTP requests. If cookies are required, this must be documented as a prerequisite or parameter. Empty schema prevents LLM from understanding tool requirements.
Output schema is completely undocumented. Implementation returns dict with 'title', 'author', 'date', 'content' fields, but LLM has no visibility into this structure. LLM cannot plan downstream operations or extract specific fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 25 | 2026-07-28+ | v2 |
Description lacks actionable context. Does not explain prerequisites (cookies file must exist), failure modes (what if cookies missing?), or return structure. Description should state: 'Fetches the latest Trade Companion article by Adam Mancini (excluding methodology article). Requires substack_cookies.json. Returns title, author, date, and plain-text content.'
No error handling guidance. Implementation catches exceptions and returns None, but tool description does not explain what happens on failure (network error, cookies missing, parsing failure). LLM receives no recovery guidance.