# get_positions

Get all open positions

Agent View of the PolicyLayer registry record for `get_positions`. HTML page: https://policylayer.com/tools/8nite-metatrader-4-mcp/get-positions

## Facts

- Tool: `get_positions`
- Server: MCP MetaTrader 4 Server (`8nite/metatrader-4-mcp`) — https://policylayer.com/tools/8nite-metatrader-4-mcp.md
- Homepage: https://github.com/8nite/metatrader-4-mcp
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

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

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

## Why get_positions is rated Low

This tool retrieves account position data from MetaTrader 4 without creating, modifying, deleting, or executing any trades. While the context involves financial trading, the tool itself only queries existing state and does not move money or commit financial obligations. Classification as Read is appropriate.

From the tool's own definition: "Tool name is 'get_positions' and description states 'Get all open positions' — purely a retrieval operation with no side effects."

## Use case

AI agents call get_positions to retrieve information from MCP MetaTrader 4 Server without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches MCP MetaTrader 4 Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "get_positions": {}
  }
}
```

## Other tools on MCP MetaTrader 4 Server (13)

- `compile_ea` — Execute — https://policylayer.com/tools/8nite-metatrader-4-mcp/compile-ea.md
- `run_backtest` — Execute — https://policylayer.com/tools/8nite-metatrader-4-mcp/run-backtest.md
- `close_position` — Financial — https://policylayer.com/tools/8nite-metatrader-4-mcp/close-position.md
- `place_order` — Financial — https://policylayer.com/tools/8nite-metatrader-4-mcp/place-order.md
- `get_account_info` — Read — https://policylayer.com/tools/8nite-metatrader-4-mcp/get-account-info.md
- `get_backtest_results` — Read — https://policylayer.com/tools/8nite-metatrader-4-mcp/get-backtest-results.md
- `get_backtest_status` — Read — https://policylayer.com/tools/8nite-metatrader-4-mcp/get-backtest-status.md
- `get_history` — Read — https://policylayer.com/tools/8nite-metatrader-4-mcp/get-history.md
- `get_market_data` — Read — https://policylayer.com/tools/8nite-metatrader-4-mcp/get-market-data.md
- `list_experts` — Read — https://policylayer.com/tools/8nite-metatrader-4-mcp/list-experts.md
- `list_local_eas` — Read — https://policylayer.com/tools/8nite-metatrader-4-mcp/list-local-eas.md
- `sync_ea` — Write — https://policylayer.com/tools/8nite-metatrader-4-mcp/sync-ea.md
- `sync_ea_from_file` — Write — https://policylayer.com/tools/8nite-metatrader-4-mcp/sync-ea-from-file.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=8nite-metatrader-4-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/8nite-metatrader-4-mcp
