MCP server for prediction markets - give your AI agent an edge.
Marketsmith provides 5 well-named, read-only tools with clear descriptions (avg 85 chars) and complete input schemas. All parameters are typed and described. However, output schemas are not formally documented in the code, only inferred from docstrings. Error handling is minimal (only get_odds and compute_ev return error objects). No tool annotations (readOnlyHint, idempotentHint) despite all being read-only. Parameter descriptions lack format constraints (e.g., fee_fraction range, probability bounds). Missing pagination guidance for search_markets despite potentially large result sets.
Expected value, edge, break-even, and Kelly for betting YES.
Find fee-adjusted single- and cross-venue arbitrage opportunities.
Live odds and implied probability for a single market.
Search prediction markets by keyword (question, ticker, or venue).
Kelly-criterion stake suggestion for a given bankroll.
Output schemas not formally documented. Docstrings describe return structure informally; LLMs cannot parse expected fields from code. search_markets returns {query, count, results}, but this is not in a machine-readable schema.
No tool annotations despite all tools being read-only. MCP spec supports readOnlyHint to signal safe tools. This helps agents reason about side effects and retry safety.
Parameter constraints missing from descriptions. fee_fraction and your_probability accept floats but lack range documentation (e.g., 'fee_fraction: 0.0 - 1.0 as fraction of contract price'). LLMs may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
search_markets lacks pagination guidance. Returns all matching markets with no limit or offset parameters. Large result sets could exhaust context windows.
Minimal error handling. Only get_odds and compute_ev return error objects on missing markets. find_arbitrage, suggest_kelly, and search_markets have no documented error paths.