High Risk →

pysr_run

Evolutionary Symbolic Regression (PySR). Discovers algebraic equations y = f(x1, x2, ...) from feature/target data. Returns a Pareto front ranked by the complexity/accuracy tradeoff. Slower than SINDy (10-60s); searches often terminate early on convergence. For differential equations from time se...

Risk signalsHigh parameter count (11 properties)

Part of the Occam server.

pysr_run can trigger actions in Occam, with no limits today. PolicyLayer puts allow, deny, and rate-limit rules on every call. Live in minutes.

SECURE OCCAM →

Free to start. No card required.

AI agents invoke pysr_run to trigger processes or run actions in Occam. Execute operations can have side effects beyond the immediate call -- triggering builds, sending notifications, or starting workflows. Rate limits and argument validation are essential to prevent runaway execution.

pysr_run can trigger processes with real-world consequences. An uncontrolled agent might start dozens of builds, send mass notifications, or kick off expensive compute jobs. PolicyLayer enforces rate limits and validates arguments to keep execution within safe bounds.

Execute tools trigger processes. Rate-limit and validate arguments to prevent unintended side effects.

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "pysr_run": {
      "limits": [
        {
          "counter": "pysr_run_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}

See the full Occam policy for all 4 tools.

Get this rule live on your own Occam server in minutes. PolicyLayer enforces it on every call, before it runs.

ENFORCE ON MY OCCAM →

These attack patterns abuse exactly the kind of access pysr_run gives an agent. Each links to the full case and the policy that stops it:

Browse the full MCP Attack Database →

Every attack above starts with a tool call. PolicyLayer checks each one against your policy first, so pysr_run only ever does what you allow.

SECURE OCCAM →

Other execute tools across the catalogue. The same approach applies to each: rate-limit and validate the arguments.

What does the pysr_run tool do? +

Evolutionary Symbolic Regression (PySR). Discovers algebraic equations y = f(x1, x2, ...) from feature/target data. Returns a Pareto front ranked by the complexity/accuracy tradeoff. Slower than SINDy (10-60s); searches often terminate early on convergence. For differential equations from time series, use sindy_run instead. Pricing: free tier up to 100 rows × 8 features, 60s timeout. Beyond that, $0.25 + $0.03 per 100 extra rows + $0.01 per extra feature squared, timeout up to 300s (5 min), via x402 (USDC on Base) or MPP/Stripe. MPP/Stripe adds a flat $0.35 per-transaction fee (Stripe processing), so the MPP challenge amount in a payment_required response is $0.35 higher than the x402 amount for the same base price; x402 gets the lower rate. Omit payment for free-tier requests; paid requests without a valid credential receive a payment_required result with pricing and accepted schemes. Full pricing: occam://pricing Advisory limits: jobs over 50,000 rows or 20 features are accepted but may not converge; response carries a top-level warning. Operators: fixed supported set only — custom operators (e.g. 'inv(x) = 1/x') are rejected. Unary: sin, cos, tan, exp, log, log2, log10, sqrt, abs, sinh, cosh, tanh. Binary: +, -, *, /, ^. See also prompt supported_operators. Loss metric: loss (in pareto_front[].loss and best_loss) is mean squared error between model prediction and y on the full training set — not RMSE, and not normalized by Var(y). A threshold appropriate for one dataset scales with y's magnitude, so set loss_threshold with that in mind (e.g. for y values near 1.0, 1e-6 is a tight fit; for y near 1000, the equivalent is 1.0). Early termination: set loss_threshold to stop at your noise floor. The server also stops when the search stalls (<1% improvement in the last third of the budget); disable with stall_detection=false. Response stop_reason is one of: loss_threshold, stall, timeout, natural. If feature_names is supplied, its length must equal the number of columns in X; a mismatch is rejected with a validation error. Follow-up: call pysr_uncertainty with a chosen expression and the same dataset for bootstrap confidence intervals on its fit constants and optional prediction bands. Rate limit: 10 requests/hour per IP, 200/hour global, max queue depth 20 (shared with sindy_run and pysr_uncertainty). Response (success) includes pareto_front[] (each with complexity, loss, expression, expression_latex), best_expression, best_expression_latex, best_loss, best_complexity, stop_reason, elapsed_seconds, queue_seconds (>0 = server saturated; use as backoff signal), optional warning, optional _meta (MPP receipt). Full response and payment-required schemas: occam://tool-schemas Example request: X=[[0.0], [1.0], [2.0], [3.0]], y=[1.0, 3.0, 5.0, 7.0], feature_names=["x"], max_complexity=10, timeout_seconds=15 Policy: occam://privacy-policy — Citation: occam://citation-info. It is categorised as a Execute tool in the Occam MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on pysr_run? +

Register the Occam MCP server in PolicyLayer and add a rule for pysr_run: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Occam. Nothing to install.

What risk level is pysr_run? +

pysr_run is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.

Can I rate-limit pysr_run? +

Yes. Add a rate_limit block to the pysr_run rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block pysr_run completely? +

Set action: deny in the PolicyLayer policy for pysr_run. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides pysr_run? +

pysr_run is provided by the Occam MCP server (https://occam.fit/mcp/). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Occam tool call.

Deterministic rules across all 4 Occam tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

4,600+ MCP servers and 31,000+ tools scanned and risk-classified.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.