# get_opening_line

Get the opening odds (初盘) for a fixture, paired with the current price, in ONE call. Resolves the fixture, then for each book returns its true opening (first-seen) quote alongside the current quote — so you can read movement directly. For 1x2 that's a price move; for totals/AH compare line (the opening line) vs current_line to read the line move (the sharp book often opens days earlier). A market with no opening yet on file is omitted. Args: query: natural-language fixture, e.g. "Real Madrid vs Barcelona" or a single team. markets: optional filter — any of "1x2", "asian_handicap", "totals". bookmakers: optional filter — bookmaker keys, e.g. ["pinnacle", "crown"]. period: optional — "full_time" or "half_time" (default: both). format: odds format — decimal | hk | malay | american | indonesian | probability. sport: optional filter — "football" or "basketball". date: optional UTC date "YYYY-MM-DD" to disambiguate same-name fixtures. On an ambiguous query, status is "ambiguous" and ask_user carries a disambiguation prompt — do not assume a match. Best-effort: a book/line with no opening on file is omitted.

Agent View of the PolicyLayer registry record for `get_opening_line`. HTML page: https://policylayer.com/tools/dev-infersports-infersports/get-opening-line

## Facts

- Tool: `get_opening_line`
- Server: Infersports (`https://api.infersports.dev/mcp`) — https://policylayer.com/tools/dev-infersports-infersports.md
- Homepage: https://github.com/https://api.infersports.dev/mcp
- Risk category: Read (Low risk)
- Registry record: grade C, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 7 (1 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | object | no |  |
| `query` | string | yes |  |
| `sport` | object | no |  |
| `format` | string | no |  |
| `period` | object | no |  |
| `markets` | object | no |  |
| `bookmakers` | object | no |  |

Parameters from the server's own tool schema.

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

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_opening_line",
    "arguments": {
      "query": "<query>"
    }
  }
}
```

## Why get_opening_line is rated Low

This tool retrieves and queries betting odds data (opening lines and current prices) for comparison purposes. It has no side effects, cannot modify data, execute code, delete information, or commit financial transactions. The user agent can only read historical and current market information.

From the tool's own definition: "Description explicitly states 'Read-only' server; tool 'returns its **true opening** quote alongside the current quote — so you can read movement directly'; action is retrieval of historical and current odds data with no modification, execution, deletion, or…"

## Use case

AI agents call get_opening_line to retrieve information from Infersports 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 Infersports:

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

## Other tools on Infersports (16)

- `compare_lines` — Read — https://policylayer.com/tools/dev-infersports-infersports/compare-lines.md
- `compare_prob` — Read — https://policylayer.com/tools/dev-infersports-infersports/compare-prob.md
- `explain_handicap` — Read — https://policylayer.com/tools/dev-infersports-infersports/explain-handicap.md
- `find_arbitrage` — Read — https://policylayer.com/tools/dev-infersports-infersports/find-arbitrage.md
- `find_match` — Read — https://policylayer.com/tools/dev-infersports-infersports/find-match.md
- `find_value` — Read — https://policylayer.com/tools/dev-infersports-infersports/find-value.md
- `get_match_odds` — Read — https://policylayer.com/tools/dev-infersports-infersports/get-match-odds.md
- `get_result` — Read — https://policylayer.com/tools/dev-infersports-infersports/get-result.md
- `get_sharp_line` — Read — https://policylayer.com/tools/dev-infersports-infersports/get-sharp-line.md
- `list_bookmakers` — Read — https://policylayer.com/tools/dev-infersports-infersports/list-bookmakers.md
- `list_events` — Read — https://policylayer.com/tools/dev-infersports-infersports/list-events.md
- `list_results` — Read — https://policylayer.com/tools/dev-infersports-infersports/list-results.md
- `list_today_matches` — Read — https://policylayer.com/tools/dev-infersports-infersports/list-today-matches.md
- `match_info` — Read — https://policylayer.com/tools/dev-infersports-infersports/match-info.md
- `scan_slate` — Read — https://policylayer.com/tools/dev-infersports-infersports/scan-slate.md
- `score_prob` — Read — https://policylayer.com/tools/dev-infersports-infersports/score-prob.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=dev-infersports-infersports · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/dev-infersports-infersports
