MCP Server for Vickrey-Clarke-Groves (VCG) Auction Mechanism Skill - Pure Python Standard Library implementation of VCG truthful mechanism design. Calculates socially optimal resource allocation and Clarke pivot rule payments, guaranteeing that truthful valuation bidding is a weakly dominant strategy (DSIC).
Single tool with significant definition gaps. Tool name 'run_vcg_auction' violates verb_noun convention (should be 'execute_auction' or 'run_auction'). Description is adequate (127 chars, within 10-1024 range) but lacks WHEN/WHY guidance. Input schema present with types and defaults, but parameter descriptions are generic and lack constraints. No output schema documented. No error handling guidance. Tool does one thing (good), but definition quality is below community baseline.
Execute Vickrey-Clarke-Groves auction mechanism - supports both single-item second-price auctions and multi-unit auctions with truthful dominant strategy guarantees
Parameter descriptions lack actionable constraints. 'items' says 'List of items being auctioned' but does not specify format, length limits, or character restrictions. 'bids' says 'Dictionary mapping agent identifiers to their bid amounts' but does not clarify valid bid ranges, precision, or agent ID format. LLMs cannot infer these constraints from names alone.
No output schema documented. Tool returns a dict with fields like 'winner', 'winning_bid', 'payment', 'social_welfare', 'agent_utility', 'truthful_dominant_strategy' (single-item) or 'units_available', 'units_allocated', 'allocations', 'total_revenue', 'total_social_welfare' (multi-unit), but LLM has no way to know what to expect. Downstream tools cannot chain on this output.
No error handling or recovery guidance. Tool does not document what happens if bids is empty, if units > len(bids), if bid values are negative, or if items list is malformed. No error messages guide the LLM to self-correct or retry.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Tool name 'run_vcg_auction' is generic and domain-specific. Verb 'run' is vague (pattern baseline: 90% of A+ tools start with get, list, create, search, update, delete, send). Better names: 'execute_vcg_auction', 'compute_vcg_allocation', or 'allocate_items_vcg'. Current name does not clearly signal what the tool does to an LLM unfamiliar with VCG mechanism.
Parameter 'units' lacks description of its role in single-item vs multi-unit mode. Description says 'Number of units available (1 for single-item auction, >1 for multi-unit auction)' but does not explain that units=1 triggers different logic path. Undocumented mode-switching dependencies cause silent misuse.