Public leaderboard

Public assessment

Whatsonyourmind/oraclaw (@oraclaw/mcp-server)

oraclaw-mcp-server · v1.4.2 · scanned

What changed in the harness

Selection accuracy 100→100, token cost up 2%, unconfirmed writes 0%→0%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

27.2 / 30

27.2 out of 30
03Economics

12.9 / 20

12.9 out of 20
04Discoverability

19.3 / 20

19.3 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

6 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
optimize_contextual
params_unexplained
Select the best option from the candidate arms you supply (arms must contain at least 2 options, each with an id and name) for a given numeric context/feature vector, using a LinUCB contextual bandit that learns per-context preferences from optional history. Use when the best choice changes with situational features that vary call-to-call (user/segment attributes, time of day, current regime). Returns the chosen arm with its LinUCB expected reward and confidence width. If you have no per-call features, use optimize_bandit.
solve_constraints
params_unexplained
[Premium] Solve a linear / mixed-integer / quadratic program with the HiGHS solver and return a provably optimal assignment. Set direction to 'maximize' or 'minimize', specify the objective as a map of variable name to coefficient, declare each variable with a name plus optional lower/upper bounds and type (continuous, integer, or binary; default continuous), and define constraints by name with a coefficients map and optional lower/upper bounds. Use when your objective and constraints are linear (or quadratic) over named continuous/integer/binary variables: budget allocation, supply or capacity planning with integer counts, allocation with hard caps. Returns solver status (optimal/infeasible/unbounded), the objective value, and the solved value per variable. Use optimize_cmaes for black-box objectives and solve_schedule for task-to-slot assignment. Premium: needs an ORACLAW_API_KEY OR a per-call x402 payment (no signup).
solve_schedule
params_unexplained
Assign the tasks you pass in (each with id, name, durationMinutes, priority, and energyRequired, plus optional deadline/category) to the slots you pass in (each with id, startTime as a Unix timestamp in ms, durationMinutes, and energyLevel) to maximize total score by matching each task's energy requirement to a slot's energy level (and respecting duration). Use for deep-work blocking, shift or session planning, or any task-to-slot fit where high-energy work should land in high-energy slots. Returns the assignments, any unassigned task IDs, and a total score. For arbitrary linear constraints use solve_constraints; for routing use plan_pathfind.
analyze_graph
params_unexplained
[Premium] Compute structural metrics of a directed weighted graph. Build the graph with nodes (each requires an id; type/label/confidence are optional) and edges (each requires source and target; weight/type are optional), then receive PageRank centrality, Louvain community clusters, an optional critical path between two given nodes, and bottleneck nodes. Use to find the most influential nodes, cluster a dependency/knowledge graph, or locate chokepoints in supply or process networks. Returns per-node PageRank and community index, cluster summaries, the critical path with its weight, and bottlenecks. For a single source-to-goal route, use plan_pathfind (free). Premium: needs an ORACLAW_API_KEY OR a per-call x402 payment (no signup).
plan_pathfind
params_unexplained
Describe the graph in nodes (each with an id and optional cost/time/risk values) and edges (each with from/to and optional cost/time/risk), then find the shortest path (or k-shortest paths) between the given start and end node in the weighted directed graph using A* with selectable heuristic (zero=Dijkstra, time, cost, risk, weighted) and Yen's algorithm for alternatives. Use for routing, dependency resolution, or 'how do I get from X to Y' over a graph; set kPaths>1 for alternatives. Returns the path node IDs, total cost, a time/cost/risk breakdown, nodes explored, and a found flag. For centrality/communities use analyze_graph; for task-to-slot assignment use solve_schedule.
optimize_evolve
params_unexplained
Run a genetic algorithm over a fixed-length gene vector against a weighted-sum fitness, with an optional Pareto frontier for multi-objective runs. Optionally constrain the genes with bounds (min/max per gene, plus a type of binary, integer, real, or permutation; default real). Use for discrete or mixed search spaces (feature selection, integer allocation, permutation/TSP-style problems) or when you want several non-dominated solutions. Returns the best chromosome and fitness, the Pareto frontier when applicable, the convergence generation, total generations, and recent fitness history; results vary run to run (stochastic). For smooth continuous objectives, use optimize_cmaes.

Selection evidence

Confusable tool pairs.

6 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
optimize_bandit optimize_contextual medium Both select the best option from 2+ discrete variants; a task like 'choose the best ad variant for this user' or 'pick the winning option now' is ambiguous because the agent must infer from context whether per-call context features (contextual bandit) or only arm pull/reward history (plain bandit) are meant, and both accept arms/output a chosen arm.
optimize_cmaes optimize_evolve medium Both optimize a weighted-sum objective over a parameter vector with stochastic, premium-framed runs; a task like 'optimize 10 parameters against a weighted objective' is ambiguous unless the search space is explicitly specified as smooth continuous (CMA-ES) vs discrete/binary/permutation genetic (evolve), so an agent can pick the wrong optimizer.
predict_bayesian predict_ensemble medium Both fold multiple weighted inputs into a single estimate; a task like 'combine these weighted probability estimates into one value' or 'fuse several signals into a revised prediction' could be read as Bayesian prior+evidence updating or weighted ensemble/stacking aggregation, since both take weighted inputs and return a combined number.
score_convergence score_calibration medium Both score collections of probability estimates; a task like 'score how well these probability estimates agree/match' is ambiguous between measuring agreement across multiple independent sources on one event (convergence) and measuring match to realized binary outcomes (calibration), especially when the user omits whether real outcomes exist.
simulate_montecarlo simulate_scenario low Both are 'simulate' tools over numeric inputs/outputs; a task like 'simulate what happens to my budget under different growth assumptions' could be read as random sampling from a parametric distribution with spread stats (montecarlo) or as named what-if overrides against a base case with sensitivity ranking (scenario), since users often say 'simulate scenarios' loosely.
solve_constraints solve_schedule low Both 'solve' assignment/allocation problems; a task like 'solve my task-scheduling problem with hard constraints' is ambiguous because solve_schedule is a specialized task-to-slot energy matcher while solve_constraints handles arbitrary linear/MIP/quadratic constraints, and a user may describe a scheduling or allocation problem without mentioning energy levels or slot timestamps.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard