league-data-mcp


Nameleague-data-mcp JSON
Version 1.0.2 PyPI version JSON
download
home_pageNone
SummaryA Model Context Protocol (MCP) server that provides access to League of Legends game data through the Riot Games API
upload_time2025-09-01 21:25:22
maintainerYuyang Shi
docs_urlNone
authorYuyang Shi
requires_python>=3.13
licenseMIT
keywords mcp league-of-legends riot-games
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # League-Data-MCP

A Model Context Protocol (MCP) server that provides access to League of Legends game data through the Riot Games API.

## Features

- **Player's PUUID Lookup**: Get player's PUUID using game names and tag lines
- **Match History List**: Retrieve match lists for players with optional filtering
- **Match Details**: Get detailed match information including statistics and game data
- **Match Summary List**: Get truncated match data with player-specific context (optimized for large datasets)

## Prerequisites

- Python 3.13+
- Riot Games API key (get one from [Riot Developer Portal](https://developer.riotgames.com/))
- MCP-compatible client (like Claude Desktop)

## Installation

### Method 1: Install from PyPI (Recommended)

```bash
pip install league-data-mcp
```

### Method 2: Install with uvx

```bash
uvx install league-data-mcp
```

### Method 3: Development Installation

1. **Clone the repository**
   ```bash
   git clone https://github.com/syy674998887/league-data-mcp.git
   cd league-data-mcp
   ```

2. **Install dependencies**
   ```bash
   uv sync
   ```

3. **Set environment variable**
   ```bash
   export API="Your Riot API key here"
   ```

## Configuration

### For Claude Desktop/Cherry Studio etc.

4. **Configure MCP Client**
   Add the server configuration to your MCP client:
   ```json
   {
   "mcpServers": {
      "League-Data-MCP": {
         "command": "uvx",
         "args": ["league-data-mcp@latest"],
         "env": {
         "API": "Your Riot API key here"
         }
      }
   }
   }
   ```

## Available Tools

### `get_puuid`
Get player PUUIDs by their game names and tag lines (supports batch queries).

**Parameters:**
- `players` (List[dict]): List of player dictionaries with `game_name` and `tag_line` keys

**Example:**
```python
get_puuid([
    {"game_name": "Faker", "tag_line": "KR1"},
    {"game_name": "Untargetable", "tag_line": "666"}
])
```

### `get_match_list`
Get a list of matches for a player by their PUUID.

**Parameters:**
- `puuid` (str): Player's PUUID
- `type` (str, optional): Match type filter (normal, ranked, etc.)
- `count` (str, optional): Number of matches to return

**Example:**
```python
get_match_list(
    puuid="Player's Puuid",
    type="ranked",
    count="20"
)
```

### `get_match_detail`
Get detailed match data by match ID.

**Parameters:**
- `match_id` (str): Match ID (e.g., "NA1_5354690210")

**Example:**
```python
get_match_detail(match_id="NA1_5354690210")
```

### `get_match_summary`
Get truncated match summaries for multiple matches (max 10 matches) with player-specific context.

**Parameters:**
- `match_ids` (List[str]): List of match IDs
- `game_name` (str): Player's game name to search for additional context

**Example:**
```python
get_match_summary(
    match_ids=["NA1_5354690210", "NA1_5354690211"],
    game_name="Faker"
)
```

## Rate Limiting

The server respects Riot Games API rate limits. If you encounter rate limiting issues, consider implementing additional retry logic or request throttling.

## Error Handling

The server includes comprehensive error handling:
- API errors are logged with status codes and error messages
- Network failures are caught and logged
- Invalid requests return `None` values

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Disclaimer

This project is not affiliated with Riot Games. League of Legends is a trademark of Riot Games, Inc.

## Support

For issues and questions:
- Check the [Riot Games API documentation](https://developer.riotgames.com/)
- Open an issue in this [repository](https://github.com/syy674998887/league-data-mcp)
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "league-data-mcp",
    "maintainer": "Yuyang Shi",
    "docs_url": null,
    "requires_python": ">=3.13",
    "maintainer_email": null,
    "keywords": "mcp, league-of-legends, riot-games",
    "author": "Yuyang Shi",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/88/98/bcceb9fe9933d301336d291c4c19000434450294e40623ddacde85ce5c54/league_data_mcp-1.0.2.tar.gz",
    "platform": null,
    "description": "# League-Data-MCP\n\nA Model Context Protocol (MCP) server that provides access to League of Legends game data through the Riot Games API.\n\n## Features\n\n- **Player's PUUID Lookup**: Get player's PUUID using game names and tag lines\n- **Match History List**: Retrieve match lists for players with optional filtering\n- **Match Details**: Get detailed match information including statistics and game data\n- **Match Summary List**: Get truncated match data with player-specific context (optimized for large datasets)\n\n## Prerequisites\n\n- Python 3.13+\n- Riot Games API key (get one from [Riot Developer Portal](https://developer.riotgames.com/))\n- MCP-compatible client (like Claude Desktop)\n\n## Installation\n\n### Method 1: Install from PyPI (Recommended)\n\n```bash\npip install league-data-mcp\n```\n\n### Method 2: Install with uvx\n\n```bash\nuvx install league-data-mcp\n```\n\n### Method 3: Development Installation\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/syy674998887/league-data-mcp.git\n   cd league-data-mcp\n   ```\n\n2. **Install dependencies**\n   ```bash\n   uv sync\n   ```\n\n3. **Set environment variable**\n   ```bash\n   export API=\"Your Riot API key here\"\n   ```\n\n## Configuration\n\n### For Claude Desktop/Cherry Studio etc.\n\n4. **Configure MCP Client**\n   Add the server configuration to your MCP client:\n   ```json\n   {\n   \"mcpServers\": {\n      \"League-Data-MCP\": {\n         \"command\": \"uvx\",\n         \"args\": [\"league-data-mcp@latest\"],\n         \"env\": {\n         \"API\": \"Your Riot API key here\"\n         }\n      }\n   }\n   }\n   ```\n\n## Available Tools\n\n### `get_puuid`\nGet player PUUIDs by their game names and tag lines (supports batch queries).\n\n**Parameters:**\n- `players` (List[dict]): List of player dictionaries with `game_name` and `tag_line` keys\n\n**Example:**\n```python\nget_puuid([\n    {\"game_name\": \"Faker\", \"tag_line\": \"KR1\"},\n    {\"game_name\": \"Untargetable\", \"tag_line\": \"666\"}\n])\n```\n\n### `get_match_list`\nGet a list of matches for a player by their PUUID.\n\n**Parameters:**\n- `puuid` (str): Player's PUUID\n- `type` (str, optional): Match type filter (normal, ranked, etc.)\n- `count` (str, optional): Number of matches to return\n\n**Example:**\n```python\nget_match_list(\n    puuid=\"Player's Puuid\",\n    type=\"ranked\",\n    count=\"20\"\n)\n```\n\n### `get_match_detail`\nGet detailed match data by match ID.\n\n**Parameters:**\n- `match_id` (str): Match ID (e.g., \"NA1_5354690210\")\n\n**Example:**\n```python\nget_match_detail(match_id=\"NA1_5354690210\")\n```\n\n### `get_match_summary`\nGet truncated match summaries for multiple matches (max 10 matches) with player-specific context.\n\n**Parameters:**\n- `match_ids` (List[str]): List of match IDs\n- `game_name` (str): Player's game name to search for additional context\n\n**Example:**\n```python\nget_match_summary(\n    match_ids=[\"NA1_5354690210\", \"NA1_5354690211\"],\n    game_name=\"Faker\"\n)\n```\n\n## Rate Limiting\n\nThe server respects Riot Games API rate limits. If you encounter rate limiting issues, consider implementing additional retry logic or request throttling.\n\n## Error Handling\n\nThe server includes comprehensive error handling:\n- API errors are logged with status codes and error messages\n- Network failures are caught and logged\n- Invalid requests return `None` values\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Disclaimer\n\nThis project is not affiliated with Riot Games. League of Legends is a trademark of Riot Games, Inc.\n\n## Support\n\nFor issues and questions:\n- Check the [Riot Games API documentation](https://developer.riotgames.com/)\n- Open an issue in this [repository](https://github.com/syy674998887/league-data-mcp)",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Model Context Protocol (MCP) server that provides access to League of Legends game data through the Riot Games API",
    "version": "1.0.2",
    "project_urls": null,
    "split_keywords": [
        "mcp",
        " league-of-legends",
        " riot-games"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "54ba41358c6a588be27fe3233c5ee60c992e02a34123405d1f337ca3e89af150",
                "md5": "9bfa9616877d573630b1d4ca18442b86",
                "sha256": "2164211d5f8f53e806cac7d56a2a25adfc290e1eba18833f2cb09f0d7bbbb2ce"
            },
            "downloads": -1,
            "filename": "league_data_mcp-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9bfa9616877d573630b1d4ca18442b86",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.13",
            "size": 5897,
            "upload_time": "2025-09-01T21:25:20",
            "upload_time_iso_8601": "2025-09-01T21:25:20.628113Z",
            "url": "https://files.pythonhosted.org/packages/54/ba/41358c6a588be27fe3233c5ee60c992e02a34123405d1f337ca3e89af150/league_data_mcp-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8898bcceb9fe9933d301336d291c4c19000434450294e40623ddacde85ce5c54",
                "md5": "af4616fbc0aea6680071c5a687525d6f",
                "sha256": "f2efd6469b3ad61d1d4eec0c4c3fc3c3cef470c36e0ee8c9fa3582a7b25cddc3"
            },
            "downloads": -1,
            "filename": "league_data_mcp-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "af4616fbc0aea6680071c5a687525d6f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.13",
            "size": 4291,
            "upload_time": "2025-09-01T21:25:22",
            "upload_time_iso_8601": "2025-09-01T21:25:22.236092Z",
            "url": "https://files.pythonhosted.org/packages/88/98/bcceb9fe9933d301336d291c4c19000434450294e40623ddacde85ce5c54/league_data_mcp-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-01 21:25:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "league-data-mcp"
}
        
Elapsed time: 1.30396s