# stock_earnings

Gets earnings reports for a stock.

Agent View of the PolicyLayer registry record for `stock_earnings`. HTML page: https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/stock-earnings

## Facts

- Tool: `stock_earnings`
- Server: Open Stocks MCP (`open-agent-tools/open-stocks-mcp`) — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp.md
- Homepage: https://github.com/Open-Agent-Tools/open-stocks-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": "stock_earnings",
    "arguments": {}
  }
}
```

## Why stock_earnings is rated Low

This tool retrieves and queries publicly available earnings report data for stocks. It performs no modifications, deletions, executions, or financial transactions. The operation is purely informational and has no impact on user accounts, portfolios, or financial positions. Despite the server's broader trading capabilities, this specific tool is a straightforward data retrieval function.

From the tool's own definition: "Tool name 'stock_earnings' and description 'Gets earnings reports for a stock' indicate a retrieval operation with no side effects. The verb 'Gets' and context of fetching historical financial data confirm read-only behavior."

## Use case

AI agents call stock_earnings to retrieve information from Open Stocks MCP 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 Open Stocks MCP:

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

## Other tools on Open Stocks MCP (151)

- `cancel_all_option_orders_tool` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/cancel-all-option-orders-tool.md
- `cancel_all_stock_orders_tool` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/cancel-all-stock-orders-tool.md
- `cancel_option_order_by_id` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/cancel-option-order-by-id.md
- `cancel_stock_order_by_id` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/cancel-stock-order-by-id.md
- `remove_from_watchlist` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/remove-from-watchlist.md
- `schwab_cancel_all_option_orders` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-cancel-all-option-orders.md
- `schwab_cancel_all_stock_orders` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-cancel-all-stock-orders.md
- `schwab_cancel_option_order` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-cancel-option-order.md
- `schwab_cancel_order` — Destructive — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-cancel-order.md
- `buy_option_limit` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/buy-option-limit.md
- `buy_stock_limit` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/buy-stock-limit.md
- `buy_stock_market` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/buy-stock-market.md
- `option_credit_spread` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/option-credit-spread.md
- `option_debit_spread` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/option-debit-spread.md
- `schwab_buy_stock_limit` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-buy-stock-limit.md
- `schwab_buy_stock_market` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-buy-stock-market.md
- `schwab_option_buy_to_open` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-option-buy-to-open.md
- `schwab_option_sell_to_close` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-option-sell-to-close.md
- `schwab_order_buy_option_limit` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-order-buy-option-limit.md
- `schwab_order_option_credit_spread` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-order-option-credit-spread.md
- `schwab_order_option_debit_spread` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-order-option-debit-spread.md
- `schwab_order_sell_option_limit` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-order-sell-option-limit.md
- `schwab_order_sell_stop` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-order-sell-stop.md
- `schwab_place_order` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-place-order.md
- `schwab_replace_order` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-replace-order.md
- `schwab_sell_stock_limit` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-sell-stock-limit.md
- `schwab_sell_stock_market` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/schwab-sell-stock-market.md
- `sell_option_limit` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/sell-option-limit.md
- `sell_stock_limit` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/sell-stock-limit.md
- `sell_stock_market` — Financial — https://policylayer.com/tools/open-agent-tools-open-stocks-mcp/sell-stock-market.md
- …and 121 more: https://policylayer.com/tools/open-agent-tools-open-stocks-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=open-agent-tools-open-stocks-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/open-agent-tools-open-stocks-mcp
