# switch_position_mode

Switch between one-way mode (net position) and hedge mode (separate long/short positions). Hedge mode allows simultaneous long and short positions on the same symbol.

Agent View of the PolicyLayer registry record for `switch_position_mode`. HTML page: https://policylayer.com/tools/bcusack-bybit-py-mcp/switch-position-mode

## Facts

- Tool: `switch_position_mode`
- Server: Bybit MCP Server (`bcusack/bybit-py-mcp`) — https://policylayer.com/tools/bcusack-bybit-py-mcp.md
- Homepage: https://github.com/BCusack/bybit-py-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "switch_position_mode",
    "arguments": {}
  }
}
```

## Why switch_position_mode is rated Medium

This tool modifies account settings that directly impact trading strategy execution and position management. While it doesn't execute trades itself, switching position modes alters the account state and can affect how subsequent trades behave. It is reversible (can switch back), so it is Write rather than Execute or Destructive.

From the tool's own definition: "'Switch between one-way mode (net position) and hedge mode (separate long/short positions)' — this modifies account configuration that changes how positions are managed and affects position entry/exit behavior."

## Use case

AI agents use switch_position_mode to create or update resources in Bybit MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Bybit MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Bybit MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "switch_position_mode": {
      "limits": [
        {
          "counter": "switch_position_mode_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Bybit MCP Server (35)

- `batch_cancel_order` — Destructive — https://policylayer.com/tools/bcusack-bybit-py-mcp/batch-cancel-order.md
- `cancel_all_orders` — Destructive — https://policylayer.com/tools/bcusack-bybit-py-mcp/cancel-all-orders.md
- `cancel_order` — Destructive — https://policylayer.com/tools/bcusack-bybit-py-mcp/cancel-order.md
- `set_leverage` — Execute — https://policylayer.com/tools/bcusack-bybit-py-mcp/set-leverage.md
- `switch_cross_isolated_margin` — Execute — https://policylayer.com/tools/bcusack-bybit-py-mcp/switch-cross-isolated-margin.md
- `batch_amend_order` — Financial — https://policylayer.com/tools/bcusack-bybit-py-mcp/batch-amend-order.md
- `batch_place_order` — Financial — https://policylayer.com/tools/bcusack-bybit-py-mcp/batch-place-order.md
- `place_order` — Financial — https://policylayer.com/tools/bcusack-bybit-py-mcp/place-order.md
- `place_trigger_order` — Financial — https://policylayer.com/tools/bcusack-bybit-py-mcp/place-trigger-order.md
- `set_trading_stop` — Financial — https://policylayer.com/tools/bcusack-bybit-py-mcp/set-trading-stop.md
- `get_account_info` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-account-info.md
- `get_closed_pnl` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-closed-pnl.md
- `get_funding_rate_history` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-funding-rate-history.md
- `get_index_price_kline` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-index-price-kline.md
- `get_instruments_info` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-instruments-info.md
- `get_insurance` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-insurance.md
- `get_kline` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-kline.md
- `get_long_short_ratio` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-long-short-ratio.md
- `get_mark_price_kline` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-mark-price-kline.md
- `get_open_closed_orders` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-open-closed-orders.md
- `get_open_interest` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-open-interest.md
- `get_order_book` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-order-book.md
- `get_order_history` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-order-history.md
- `get_position_info` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-position-info.md
- `get_premium_index_price_kline` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-premium-index-price-kline.md
- `get_recent_trades` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-recent-trades.md
- `get_risk_limit` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-risk-limit.md
- `get_server_time` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-server-time.md
- `get_single_coin_balance` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-single-coin-balance.md
- `get_tickers` — Read — https://policylayer.com/tools/bcusack-bybit-py-mcp/get-tickers.md
- …and 5 more: https://policylayer.com/tools/bcusack-bybit-py-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=bcusack-bybit-py-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/bcusack-bybit-py-mcp
