MCP server for searching SNP information, retrieving article metadata, and converting PDFs to markdown text
Server has 4 tools with mixed quality. Tool naming follows verb_noun pattern (add, search_snp, get_articles, get_full_text_markdown) which is good. However, descriptions vary significantly in quality and completeness. The 'add' tool has a minimal 18-char description. Input schemas are present for all tools with proper types, but parameter descriptions are sparse or missing context. No output schemas are documented. Error handling is minimal, most tools return generic error strings without recovery guidance. The server mixes unrelated concerns (calculator + dbSNP + article retrieval) in one server, violating single-responsibility principle.
Add two numbers
Comprehensive article information retrieval tool. For each DOI, returns: - Basic article metadata (title, authors, journal, etc.) - Full abstract - Full text URL (if available) Args: dois: List of Digital Object Identifiers Returns: Formatted string containing complete information for all articles, including any errors encountered during processing
Downloads open access PDFs using Unpaywall API and converts them to markdown text. Args: dois: List of Digital Object Identifiers Returns: Formatted string containing markdown text for each successfully processed PDF, with error messages for any failures
Search for SNP information by rsID or genomic location. Args: query: SNP identifier (e.g., rs1234) or genomic location Returns: Formatted string containing comprehensive SNP information for both assemblies
Minimal tool description for 'add' (18 chars). Lacks context on when to use it vs other tools. Baseline for A+ tools is 50-200 chars.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract structured data. All tools return free-text strings.
Error handling is generic. Tools catch exceptions and return 'Error: ...' strings without recovery guidance. LLM cannot determine if error is retryable or what to do next.
Server mixes unrelated domains: calculator (add), genomics (search_snp), and article retrieval (get_articles, get_full_text_markdown). Violates single-responsibility principle. Should be split into separate servers.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
get_articles and get_full_text_markdown accept DOI arrays but return single formatted string. No per-item success/failure tracking. If one DOI fails, agent cannot distinguish which one or retry selectively.