# Varzesh3 Sports (pypi · varzesh3-mcp)

Read-only Varzesh3 (varzesh3.com) Iranian sports: live scores, tables, fixtures, teams, news.

- Trust score: 66/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- pypi · `varzesh3-mcp`: 66/100 (this document), [markdown](https://verifymcp.io/servers/sepehr071-varzesh3-mcp/varzesh3-mcp.md), [page](https://verifymcp.io/servers/sepehr071-varzesh3-mcp/varzesh3-mcp)

## Channel facts

- Registry: `pypi`
- Package: `varzesh3-mcp`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Supply Chain Security**: 50/100
  - Malware scan not yet available for this package.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 1 of 35 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to sepehr071/varzesh3-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 1 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 4179 tokens (~232/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Varzesh3 Sports MCP server?

Varzesh3 Sports runs locally as a PyPI package, launched with uvx varzesh3-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add sepehr071-varzesh3-mcp -- uvx varzesh3-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "sepehr071-varzesh3-mcp": {
      "command": "uvx",
      "args": [
        "varzesh3-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sepehr071-varzesh3-mcp": {
      "command": "uvx",
      "args": [
        "varzesh3-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add sepehr071-varzesh3-mcp -- uvx varzesh3-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sepehr071-varzesh3-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "varzesh3-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sepehr071-varzesh3-mcp --command uvx --arg varzesh3-mcp
```

### Hermes

```yaml
mcp_servers:
  sepehr071-varzesh3-mcp:
    command: "uvx"
    args: ["varzesh3-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "sepehr071-varzesh3-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "varzesh3-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add sepehr071-varzesh3-mcp -t stdio -c uvx -a varzesh3-mcp
```

### Other

```json
{
  "mcpServers": {
    "sepehr071-varzesh3-mcp": {
      "command": "uvx",
      "args": [
        "varzesh3-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 66, −14)

- [security regression] Malware scan: pass → unverified

### 2026-11-04 (score 80, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-03 (score 65, +1)

- [security improvement] Malware scan: unverified → pass
- [functional improvement] Stability: unverified → 0.07
- [functional] Package version: 0.1.0 → 0.1.1

### 2026-11-02 (score 64, 0)

- [functional regression] Security disclosure: unverified → fail

### 2026-11-01 (score 64)

First indexed and scored.

## MCP tools (18)

### `v3_scores` (~325 tokens)

Scores of a day

Get the live scores, results and fixtures of one day across leagues, as the Varzesh3 live score page lists them.

Use it for "what is on today", "Perspolis result", "live matches now". Every match has an id: pass it to
v3_match for goals, cards and lineups. Leagues come in the site's order (major leagues first). Filter by
league_id or team to keep the answer short. Scores are "home-away"; status is scheduled, live, finished,
postponed, cancelled or incomplete (the site's ناتمام: played but no final result yet, e.g. a cup tie level
after 90 minutes; the score shown is the last one). Basketball (NBA) scores are points. Volleyball rows carry set scores (sets), basketball quarter scores.
The site switches day=0 to the new Jalali day a few hours after midnight Tehran time; check the match dates.

Input parameters:

- `day` (integer): 0 = today, -1 yesterday, 1 tomorrow; the site offers -2 to 2.
- `league_id`: Only this league (id from v3_league).
- `live_only` (boolean): Only matches being played right now.
- `max_matches` (integer): Cap on matches returned across all leagues.
- `sport` (string): Sport filter; the live score page lists football, futsal and NBA (others when in season).
- `team`: Only matches whose home or away team name contains this Persian text, e.g. پرسپولیس.

### `v3_match` (~229 tokens)

Match detail

Get one match: score, status, goals, cards, penalties, substitutions, lineups, referee, stadium, summary video and next matches.

Use it after v3_scores or a list tool gave you a match id. Football lineups are formation lines from goalkeeper
forward, plus bench and coach; lineups appear only close to kick-off. Events decode own goals, second yellows, VAR
decisions, penalties and shoot-outs. Varzesh3 has no per-match possession or shot statistics (season averages per team:
v3_league_stats). Basketball gives quarter points, volleyball set scores, both the teams' last matches. With
prediction=true the fans' poll is added (shares are percentages).

Input parameters:

- `match_id` (integer, required): Match id from v3_scores, v3_league_matches or v3_team_matches.
- `prediction` (boolean): Football only: add the fans' prediction poll (win/draw/loss shares, popular scores).
- `sport` (string): Sport of the match (the sport field of v3_scores; league links show it too).

### `v3_league` (~252 tokens)

Leagues and seasons

List the football leagues with their ids, or get one league's current season id and past seasons with winners.

Call it without league_id to find an id (Iranian Pro League 6, Premier League 3, La Liga 2, Serie A 4...) for
v3_standings, v3_league_matches, v3_top_players and v3_news. That list is the site's short menu: any league_id
shown by v3_scores works too (e.g. 55 Portuguese league, 35 Turkish Super League, 17 English Championship).
With league_id it returns season ids and who won each season (football only); the other tools default to the
current season. Other sports: pass sport="futsal" (league 27), "volleyball" (33), "basketball" (32 league,
209 NBA) or "handball" (4); v3_standings, v3_league_matches and v3_news take the same sport argument.

Input parameters:

- `league_id`: League id; omit to list the main leagues and their ids.
- `sport` (string): Sport of the league (default football); league ids are per sport.

### `v3_standings` (~236 tokens)

League table

Get the table of a football league (rank, played, won, drawn, lost, goals, points, recent form), group tables or a cup bracket.

Use it for "league table", "who is top", "how many points has X". Leagues with groups (World Cup) return one
table per group. For cups use stage="knockout". form is the last five results as W, D, L, oldest first (the last letter is the latest match). Qualification and
relegation zones are named in `zones`. Volleyball tables carry sets_won/sets_lost and points_for/points_against.

Input parameters:

- `league_id` (integer, required): League id from v3_league (without arguments), e.g. 6 (Iranian Pro League), 3 (Premier League).
- `season_id`: Season id from v3_league; omit for the current season.
- `sport` (string): Sport of the league (default football); league ids are per sport.
- `stage` (string): table = league table or group tables; knockout = the bracket of cups.

### `v3_league_matches` (~213 tokens)

League fixtures and results

Get a league's matches round by round: scores of played rounds and dates of coming ones.

Use it for "next round of La Liga", "results of week 10". Start with which="current", then page with
which="upcoming" or "results" and skip=9 (about one round) at a time. Each match has an id for v3_match.

Input parameters:

- `league_id` (integer, required): League id from v3_league (without arguments), e.g. 6 (Iranian Pro League), 3 (Premier League).
- `season_id`: Season id from v3_league; omit for the current season.
- `skip` (integer): Matches to skip. For results this goes further back in time; for upcoming further ahead.
- `sport` (string): Sport of the league (default football); league ids are per sport.
- `which` (string): current = the rounds around today; upcoming = future rounds; results = played rounds, newest last.

### `v3_top_players` (~230 tokens)

Top players of a league

Get the best players of a football (or futsal) league by one statistic, e.g. top scorers or most assists.

Use it for "top scorer of the Premier League", "most yellow cards". Each player has an id (pass it to
v3_player), team, appearances and the other season counters; a counter that is missing is zero. For one
team's players use v3_team_players.

Input parameters:

- `league_id` (integer, required): League id from v3_league (without arguments), e.g. 6 (Iranian Pro League), 3 (Premier League).
- `limit` (integer): How many players, best first.
- `season_id`: Season id from v3_league; omit for the current season.
- `sport` (string): football (all stats) or futsal (top scorers only).
- `stat` (string): goals (top scorers), assists, goals_and_assists, clean_sheets (goalkeepers), yellow_cards, red_cards, minutes, penalties, fastest_goals, hat_tricks or average_rating.

### `v3_team` (~181 tokens)

Team page

Get a football team's page: name, followers, recent form, squad by position and optionally transfers.

Use it for "who plays for Esteghlal", "Perspolis squad", "latest signings". form is the last three results as
W, D, L, newest first, for all, home and away matches. For the team's matches call
v3_team_matches; for its news call v3_news with scope="team".

Input parameters:

- `sport` (string): futsal teams have form only (no squad or transfers).
- `squad` (boolean): Include the squad (numbers, names, ages).
- `team_id` (integer, required): Team id from v3_search or v3_standings, e.g. 6 (Perspolis), 4 (Esteghlal).
- `transfers` (boolean): Include the transfers in and out.

### `v3_team_matches` (~135 tokens)

Team matches

Get a football team's latest results or its upcoming matches across all competitions.

Use it for "Persepolis last 5 results" or "when does Esteghlal play next". Each match has an id for v3_match.

Input parameters:

- `limit` (integer): How many matches.
- `sport` (string): Sport of the team.
- `team_id` (integer, required): Team id from v3_search or v3_standings, e.g. 6 (Perspolis), 4 (Esteghlal).
- `which` (string): results = played matches, newest first; upcoming = next matches in date order.

### `v3_news` (~260 tokens)

News

Get Varzesh3 news headlines with a short summary: latest, most read, most commented, or about a team, league, player, match or sport.

Use it for "latest news", "news about Esteghlal", "wrestling news" (scope="section", section="Wrestling").
Call v3_article with a news id to read the whole story. A section returns the newest ~60 news and videos mixed
(type tells which; videos open on video.varzesh3.com).

Input parameters:

- `id`: Team, league, player or match id when scope is team, league, player or match.
- `scope` (string): latest, most_read and most_commented are site-wide; team, league, player and match need `id`; section needs `section`.
- `section`: For scope=section: a sport page such as Wrestling, Volleyball, Tennis, Boxing, Taekwondo, Chess, Athletics, Swim, Cycling, Esports (about 50 are known).
- `skip` (integer): How many items to skip (paging).
- `sport` (string): Sport of the team, league, player or match id (default football).
- `take` (integer): How many items to return.

### `v3_article` (~85 tokens)

News story

Read one news story: title, publish time, full text (plain text, up to 6000 characters), tags and the match it is about.

Use it after v3_news or v3_search when the user wants the story, not just the headline. Text is site content.

Input parameters:

- `news_id` (integer, required): News id from v3_news or v3_search.

### `v3_videos` (~164 tokens)

Videos

Get Varzesh3 videos (goals, match summaries, interviews): latest, or about one team, league, match or player.

Use it for "highlights of the Perspolis match" (scope="match" with the match id) or "latest goals".
Each video has a page url on video.varzesh3.com.

Input parameters:

- `id`: Team, league, match or player id when scope is team, league, match or player.
- `scope` (string): latest is site-wide; team, league, match and player need `id`.
- `skip` (integer): How many items to skip (paging).
- `sport` (string): Sport of the id (default football).
- `take` (integer): How many items to return.

### `v3_search` (~127 tokens)

Search

Search Varzesh3 for teams, people, leagues, news and videos by name; the way to turn a name into an id.

Use it first when the user names a team or player: `entities` carry the team id (kind Team) for v3_team,
v3_team_matches and v3_news(scope="team"). Search is Persian; English names usually find nothing.

Input parameters:

- `limit` (integer): Results per kind.
- `query` (string, required): Persian name of a team, player, league, or any news/video keyword, e.g. پرسپولیس.

### `v3_player` (~133 tokens)

Player profile

Get a player's profile (team, position, shirt number, age, country) with his latest news and videos.

Use it after any tool gave you a player id ("who is X", "news about X"). Varzesh3 keeps no career or season
statistics on the player page: for goals and assists use v3_team_players (his team) or v3_top_players (league).

Input parameters:

- `player_id` (integer, required): Player id: `id` in v3_top_players, v3_team_players, v3_match events or v3_search.
- `sport` (string): Sport of the player.

### `v3_team_players` (~208 tokens)

Players of a team

Get the season statistics of one football team's players: goals, assists, appearances, minutes, cards.

Use it for "who scored for Perspolis", "Esteghlal assists", player numbers of a squad. Defaults to the current
season of the team's main league; `competitions` lists other leagues (and cups) to pass as league_id. Players
with a zero in the chosen stat may be missing. Pass a player id to v3_player.

Input parameters:

- `league_id`: Competition of the stats (league id); omit for the team's main league.
- `season_id`: Season id from v3_league; omit for the current season.
- `stat` (string): goals, assists, goals_and_assists, clean_sheets, penalties, yellow_cards, red_cards or average_rating.
- `team_id` (integer, required): Team id from v3_search or v3_standings, e.g. 6 (Perspolis), 4 (Esteghlal).

### `v3_head_to_head` (~219 tokens)

Head to head

Get the past meetings of two football teams with a won/drawn/lost summary for team_id.

Use it for "Perspolis vs Esteghlal history", "last derby results". Varzesh3 has no head-to-head page, so this
scans the last depth*24 matches of team_id (all competitions) for the opponent; raise depth to look further back.
Find ids with v3_search. Each meeting has an id for v3_match.

Input parameters:

- `depth` (integer): How many pages of 24 past matches of team_id to scan (5 is about 4 seasons).
- `limit` (integer): How many meetings to list, newest first.
- `opponent_id` (integer, required): Team id from v3_search or v3_standings, e.g. 6 (Perspolis), 4 (Esteghlal).
- `team_id` (integer, required): Team id from v3_search or v3_standings, e.g. 6 (Perspolis), 4 (Esteghlal).

### `v3_transfers` (~180 tokens)

Transfers

Get the football transfer list of a window, club by club: players signed and players who left.

Use it for "who did Esteghlal sign", "all Iranian league transfers", "loan deals". Filter by team_id to keep the
answer short. `windows` lists earlier windows for window_id; `news` has the latest transfer headlines.

Input parameters:

- `direction` (string): Arrivals, departures or both.
- `limit` (integer): Cap on moves returned across all teams.
- `loans` (string): only = loan deals, exclude = permanent deals only.
- `market` (string): iran = Iranian Pro League clubs, euro = European clubs.
- `team_id`: Only this team (id from v3_search or a table).
- `window_id`: A past transfer window id from `windows`; omit for the latest.

### `v3_tv_schedule` (~111 tokens)

TV schedule

Get the live broadcast schedule (جدول پخش زنده) of sports matches for the next days, with start times and stream links.

Use it for "which matches are on live today", "when is the Liverpool game broadcast". match_id (when the
broadcast is linked to a football match) goes to v3_match. Stream links open on anten.ir.

Input parameters:

- `max_items` (integer): Cap on broadcasts returned.
- `query`: Only broadcasts whose name or competition contains this Persian text.

### `v3_league_stats` (~189 tokens)

League statistics

Get a football league's season statistics: goals per match, cards per match, goal timing, streak notes and team rankings.

Use it for "which team has the best possession", "most clean sheets", "how many goals per match in the Iranian
league". Without ranking you get the top 3 teams in each category (wins, shots on target, corners, possession,
cards, average age...). For players use v3_top_players.

Input parameters:

- `league_id` (integer, required): League id from v3_league (without arguments), e.g. 6 (Iranian Pro League), 3 (Premier League).
- `ranking`: Full team ranking instead of the top-3 boxes: wins, losses, clean_sheets, corners, possession, comebacks, youngest or oldest.
- `season_id`: Season id from v3_league; omit for the current season.

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/sepehr071-varzesh3-mcp/varzesh3-mcp#diagnostics

## Score history

- 2026-11-05: 66
- 2026-11-04: 80
- 2026-11-03: 65
- 2026-11-02: 64
- 2026-11-01: 64

## Common questions

### What is the Varzesh3 Sports MCP server?

Varzesh3 Sports is an MCP server listed in the public MCP registry as io.github.sepehr071/varzesh3-mcp. Read-only Varzesh3 (varzesh3.com) Iranian sports: live scores, tables, fixtures, teams, news. This page covers its PyPI package (varzesh3-mcp).

### Is the Varzesh3 Sports MCP server safe to use?

Varzesh3 Sports scores 66 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Varzesh3 Sports MCP server expose?

Varzesh3 Sports exposes 18 tools: v3_scores, v3_match, v3_league, v3_standings, v3_league_matches, and 13 more. Their descriptions and schemas cost roughly 3,477 tokens of context every time the server is loaded.

### Is the Varzesh3 Sports MCP server still maintained?

Varzesh3 Sports is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Varzesh3 Sports MCP server under?

Varzesh3 Sports declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/varzesh3-mcp/
- Socket report: https://socket.dev/pypi/package/varzesh3-mcp
- Repository: https://github.com/sepehr071/varzesh3-mcp
- Changelog RSS feed: https://verifymcp.io/servers/sepehr071-varzesh3-mcp/varzesh3-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/sepehr071-varzesh3-mcp/varzesh3-mcp.json
- HTML version of this page: https://verifymcp.io/servers/sepehr071-varzesh3-mcp/varzesh3-mcp
