# Install InferSports in your agent

> The agent-readable markdown twin of https://infersports.dev/install.
> Sharp Asian sports odds — football & basketball; 1x2 / Asian handicap / totals; full-time &
> half-time. Read-only; never a betting/execution API. Three keyless ways to connect, all Free
> tier — no signup, no API key to start.

**The one-liner** — sharing InferSports with someone (or some agent)? This is all they need to paste:

```
Read https://infersports.dev/skill.md and follow the instructions to connect to InferSports.
```

(`/skill.md` is an alias of this document. If you are an agent reading this now: pick the surface
below that fits your host — ① remote MCP for MCP hosts, ② the Skill bundle for skill-based or
small-context agents, ③ plain REST otherwise — then verify with a live question from "Verify & try
it" and report back.)

- MCP endpoint (keyless, streamable-HTTP): `https://api.infersports.dev/mcp`
- Skill bundle (no git): `https://infersports.dev/skill.tgz`
- Agent API map: https://api.infersports.dev/llms.txt (full reference: `/llms-full.txt`)

## Which surface?

- **① Remote MCP** — recommended for capable hosts (Claude Code, Cursor, Codex, Gemini CLI, …). One URL, keyless.
- **② Agent Skill** — for small-context or local agents (OpenClaw, Hermes), or deterministic bundled verbs.
- **③ Plain REST** — no agent at all, just HTTP.

---

## ① Remote MCP (recommended)

One keyless endpoint works in every MCP host: `https://api.infersports.dev/mcp`.
**The config field name and root key differ by host** — copy the exact block for yours; do not adapt
another host's (watch for `httpUrl`, `serverUrl`, and the `servers` root key).

### Claude Code — one-line CLI
```bash
claude mcp add --transport http \
  infersports https://api.infersports.dev/mcp
```

### Cursor — `~/.cursor/mcp.json` (or `.cursor/mcp.json`)
```json
{
  "mcpServers": {
    "infersports": { "url": "https://api.infersports.dev/mcp" }
  }
}
```

### OpenAI Codex — `~/.codex/config.toml`
```toml
[mcp_servers.infersports]
url = "https://api.infersports.dev/mcp"

# or one line:
# codex mcp add infersports --url https://api.infersports.dev/mcp
```

### OpenCode — `opencode.json`
```json
{
  "mcp": {
    "infersports": { "type": "remote", "url": "https://api.infersports.dev/mcp", "enabled": true }
  }
}
```

### Gemini CLI — `~/.gemini/settings.json` (note: `httpUrl`)
```json
{
  "mcpServers": {
    "infersports": { "httpUrl": "https://api.infersports.dev/mcp" }
  }
}
```

### Windsurf — `~/.codeium/windsurf/mcp_config.json` (note: `serverUrl`)
```json
{
  "mcpServers": {
    "infersports": { "serverUrl": "https://api.infersports.dev/mcp" }
  }
}
```

### VS Code (Copilot) — `.vscode/mcp.json` (note: root key is `servers`)
```json
{
  "servers": {
    "infersports": { "type": "http", "url": "https://api.infersports.dev/mcp" }
  }
}
```

### Claude Desktop / Cowork — UI custom connector
```
Settings → Connectors → Add custom connector
URL:  https://api.infersports.dev/mcp
(keyless — no API key needed)
```

### OpenAI Agents SDK — Python / TypeScript
```python
HostedMCPTool(tool_config={
  "type": "mcp",
  "server_label": "infersports",
  "server_url": "https://api.infersports.dev/mcp",
  "require_approval": "never",
})
```

### Any MCP client — generic config
```json
{
  "mcpServers": {
    "infersports": { "url": "https://api.infersports.dev/mcp" }
  }
}
```

---

## ② Agent Skill

A folder with a `SKILL.md` and read-only scripts (today, match, line, convert, result). Keyless,
deterministic, and tiny on context.

### Let the agent install it — paste this into any agent
```
Install the "InferSports" sports-odds skill for me, verify it works, then show me what to ask.

1. Find where your agent loads Agent Skills (create the folder if missing):
   • Claude Code → ~/.claude/skills/   (or ./.claude/skills/ for this project only)
   • OpenAI Codex → ~/.codex/skills/
   • OpenClaw → ~/.openclaw/workspace/skills/
   • other → your agent's skills directory
2. Download the skill bundle (the no-git install — it contains SKILL.md + scripts):
   curl -sSL https://infersports.dev/skill.tgz -o /tmp/infersports-skill.tgz
3. Extract it into your skills directory; it unpacks to a folder named infersports:
   tar -xzf /tmp/infersports-skill.tgz -C <skills_dir>
4. chmod +x <skills_dir>/infersports/scripts/*.sh
5. Verify offline:  INFERSPORTS_MOCK=1 <skills_dir>/infersports/scripts/today.sh --limit 3
6. Verify live (keyless, no signup):  <skills_dir>/infersports/scripts/today.sh --limit 3
7. Reload skills if needed, confirm the install, and give me 3 example questions to try.
```

### Where each host loads skills

| Host | Skills directory |
|---|---|
| Claude Code | `~/.claude/skills/` (or `./.claude/skills/` for one project) |
| OpenAI Codex | `~/.codex/skills/` |
| OpenClaw | `~/.openclaw/workspace/skills/` (one-line ClawHub install coming ~Jun 22) |
| Hermes | `~/.hermes/skills/` (or `external_dirs` in `config.yaml`) |

### Manual install
```bash
curl -sSL https://infersports.dev/skill.tgz -o /tmp/infersports-skill.tgz
tar -xzf /tmp/infersports-skill.tgz -C <skills_dir>   # unpacks to infersports/
chmod +x <skills_dir>/infersports/scripts/*.sh
```
In Claude Code you can instead run: `/plugin marketplace add infersports/infersports-skill`.

### Update / reinstall
The tarball always carries the latest release, and extraction overwrites in place — updating is the
same install run again. An already-working skill can still be outdated:

```bash
cat <skills_dir>/infersports/VERSION                                  # what you have
curl -s https://infersports.dev/skill.tgz | tar -xzO infersports/VERSION   # latest published
# differ? → rm -rf <skills_dir>/infersports, then run the install above
```

A reinstall/update request is satisfied by re-downloading, not by verifying the existing install
still responds.


---

## ③ Plain REST

Every MCP tool is also a plain REST endpoint. Keyless on the Free tier.
```bash
# Keyless (Free tier) — no signup
curl https://api.infersports.dev/v1/events

# With an API key (higher limits + Pinnacle)
curl -H "Authorization: Bearer isk_…" \
  "https://api.infersports.dev/v1/events/<id>/odds?format=hk"

# Any MCP tool over plain REST — no MCP client needed
curl -X POST https://api.infersports.dev/v1/mcp/match_info \
  -H "Content-Type: application/json" \
  -d '{"query": "France vs Argentina"}'
```

---

## Verify & try it

However you connected, just ask in plain language — a real, keyless call returns live numbers:
- Who's favored in tonight's matches?
- What's the sharp Asian handicap on Man City vs Arsenal, in HK odds?
- How has the line moved on Real Madrid vs Barcelona since it opened?
- Scan today's football slate for value.
- What was the score of Brazil's last match?

## FAQ

**What is the one-line install for any agent?**
Paste `Read https://infersports.dev/skill.md and follow the instructions to connect to InferSports.` into any agent — it fetches this guide and picks the right surface (MCP, Skill, or REST) for its host. Keyless.

**How do I add InferSports to Claude Code?**
Run `claude mcp add --transport http infersports https://api.infersports.dev/mcp`. Keyless on the Free tier — no API key needed to start.

**How do I add InferSports to Cursor?**
Add to `~/.cursor/mcp.json`: `{ "mcpServers": { "infersports": { "url": "https://api.infersports.dev/mcp" } } }`.

**How do I add InferSports to OpenAI Codex?**
Add `[mcp_servers.infersports]` with `url = "https://api.infersports.dev/mcp"` to `~/.codex/config.toml`, or run `codex mcp add infersports --url https://api.infersports.dev/mcp`.

**How do I install the InferSports agent Skill?**
Download https://infersports.dev/skill.tgz and extract it into your agent's skills directory — e.g. `tar -xzf skill.tgz -C ~/.claude/skills` (or `~/.codex/skills`). It unpacks to an `infersports/` folder with SKILL.md; then ask a question to confirm. Keyless.

**Do I need an API key to use InferSports?**
No. The remote MCP server and the Skill are keyless on the Free tier. An optional `isk_` API key raises rate limits and unlocks the sharp book (Pinnacle).

---

Docs: https://docs.infersports.dev · Agent API map: https://api.infersports.dev/llms.txt · Compare odds APIs: https://infersports.dev/compare
