# get_sharp_line

Answer an odds question about a fixture in ONE call (natural language in, worked line out). Resolves the fixture, picks the consensus line, the best price per outcome across books, and de-vigged fair odds from the sharpest book — returning a ready-to-read summary plus the full comparison. Prefer this over chaining find_match → compare_lines. Args: query: natural-language fixture, e.g. "Arsenal vs Man City" or a single team. market_type: "1x2", "asian_handicap" (default) or "totals". period: "full_time" (default) or "half_time". 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. verbosity: "full" (default) or "terse". "terse" empties the per-book books array inside comparison to save tokens; the summary and worked numbers are kept either way. On an ambiguous query, status is "ambiguous" and ask_user carries a disambiguation prompt — do not assume a match; ask the user or re-call with a more specific query. A decision block (safe_to_proceed / ask_user / next_action) pre-computes the go/no-go — branch on it instead of re-judging the result.

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

## Facts

- Tool: `get_sharp_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` | string | no |  |
| `verbosity` | string | no |  |
| `market_type` | string | 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_sharp_line",
    "arguments": {
      "query": "<query>"
    }
  }
}
```

## Why get_sharp_line is rated Low

This is a data retrieval tool that queries betting odds information and returns analytical summaries. It has no side effects, does not modify data, and does not execute arbitrary code or commands. The blast radius of misuse is minimal—an agent could only retrieve odds information it shouldn't have access to, not manipulate markets or financial systems.

From the tool's own definition: "Tool description states 'Read-only' for entire server. The tool 'get_sharp_line' retrieves and returns odds data: 'picks the consensus line, the best price per outcome across books, and de-vigged fair odds from the sharpest book — returning a ready-to-read…"

## Use case

AI agents call get_sharp_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_sharp_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_opening_line` — Read — https://policylayer.com/tools/dev-infersports-infersports/get-opening-line.md
- `get_result` — Read — https://policylayer.com/tools/dev-infersports-infersports/get-result.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
