MCP for scraping NFL transaction data from ProSportsTransactions.com
Three tools with clear verb-noun naming (fetch_transactions, list_teams, list_transaction_types). All have descriptions and input schemas visible in mcp.json. However, descriptions are minimal (10-50 chars), parameter descriptions lack detail on constraints and formats, and output schemas are incomplete. fetch_transactions has good enum constraints on transaction_type and output_format, but lacks guidance on date format validation, pagination, or result limits. Error handling in server.py returns generic Error objects without recovery guidance. No tool annotations (readOnlyHint, idempotentHint) despite all being read-only operations.
Fetches NFL transactions based on specified filters
Lists all NFL teams available for filtering
Lists all transaction types available for filtering
Parameter descriptions lack format constraints and validation rules. 'Start date in YYYY-MM-DD format' is stated but no guidance on valid range, earliest/latest dates, or what happens if dates are invalid.
No output schema documented for fetch_transactions. Response structure varies by output_format (csv returns file_path, json/dataframe return data array), but LLM cannot predict which fields to expect or how to chain downstream calls.
Tool descriptions are too brief (10-50 chars). 'Lists all NFL teams available for filtering' lacks context on when to call it, what structure it returns, or whether it's a discovery tool. Baseline for A+ tools is 50-200 chars.
Error handling returns generic Error objects without recovery guidance. 'Error in fetch_transactions: {str(e)}' tells LLM nothing about whether to retry, ask user, or abandon. Should include actionable next steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
No pagination or result limits documented. fetch_transactions could return thousands of records, blowing context window. Should cap results at 20-50 and offer pagination via limit/offset parameters.