Skip to main content
Glama

Hololive MCP

An MCP server that brings hololive talent profiles and news to any AI client.

Python MCP License PRs Welcome


hololive-mcp is a lightweight Model Context Protocol server that exposes data from the official hololive English website as tools any MCP-compatible client can call. Ask your AI assistant about a talent's profile, browse the roster, or catch up on the latest announcements — no API key required.

Built with the official MCP Python SDK and served over stdio.

Features

  • Three read-only tools — list the roster, fetch a full talent profile, and read the latest news.

  • No API key, no account — data is read from the public hololive website.

  • Markdown-ready output — responses are formatted for direct display in chat.

  • Client agnostic — works with Claude Desktop, VS Code, Cursor, OpenCode, and any other MCP client that can spawn a stdio process.

  • Small footprint — requests, beautifulsoup4, and lxml.

Related MCP server: Upriver MCP

Available Tools

Tool

Arguments

Description

list_talents

—

Returns every talent listed on the official hololive English site — all generations and branches, including alumni and affiliates — with their English name, Japanese name, and profile slug.

get_talent_profile

talent_slug (string)

Returns a talent's catchphrase, biography, and social links. The slug is the last segment of their profile URL, e.g. mori-calliope.

get_recent_news

—

Returns the 10 most recent items from the hololive English news page as Markdown links.

Example output

list_talents

- Mori Calliope (森カリオペ) | slug: mori-calliope
- Takanashi Kiara (小鳥遊キアラ) | slug: takanashi-kiara
- Ninomae Ina'nis (一伊那尓栖) | slug: ninomae-inanis

get_talent_profile("mori-calliope")

**Mori Calliope**
Catchphrase: "Dead Beats, listen up! Your Mori's been working hard for you!"

Biography:
The Grim Reaper's first apprentice...

Social Links:
YouTube: https://www.youtube.com/channel/UCL_qhgtOy0dy1Agp8vkySQg
X: https://twitter.com/moricalliope

get_recent_news

- [2026.10.19 hololive Meet comes to Sweden...](https://hololive.hololivepro.com/en/news/20261019-01-239/)
- [2026.10.16 hololive 7th fes. delayed screening events...](https://hololive.hololivepro.com/en/news/20261016-01-238/)

Each news entry includes the full article body, not just the headline. Expect long strings.

Requirements

  • Python 3.11+

  • uv — recommended, but a plain pip install also works

  • Node.js 18+ — only needed for the MCP Inspector (mcp dev)

Installation

git clone https://github.com/faridhafizh/hololive-mcp.git
cd hololive-mcp

# Create the virtual environment and install dependencies
uv sync
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate

pip install -e .

Usage

1. Run the server directly

uv run hololive-mcp

The equivalent entry point for scripts and inspectors is:

uv run server.py

Both start the server on stdio and wait for a client. Nothing is printed to stdout except MCP messages.

2. Debug with the MCP Inspector

uv run mcp dev server.py

This launches a browser UI (usually http://localhost:6274) where you can list tools and call them manually. Requires Node.js.

3. Connect from Claude Desktop

Add the following to your Claude Desktop config file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "hololive": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\path\\to\\hololive-mcp",
        "run",
        "hololive-mcp"
      ]
    }
  }
}

Replace the path with the absolute location of your clone, then restart Claude Desktop.

4. Connect from other clients

Any client that supports stdio MCP servers works. Point it at the same command:

{
  "command": "uv",
  "args": ["--directory", "/path/to/hololive-mcp", "run", "hololive-mcp"]
}

For example, in VS Code (.vscode/mcp.json):

{
  "servers": {
    "hololive": {
      "type": "stdio",
      "command": "uv",
      "args": ["--directory", "/path/to/hololive-mcp", "run", "hololive-mcp"]
    }
  }
}

Example prompts

Once connected, try:

  • "List every hololive talent and group them by branch."

  • "Show me Mori Calliope's profile and social links."

  • "Who are the hololive English -Justice- members?"

  • "Summarize the three most recent hololive announcements."

  • "Which talents have graduated? Give me their names and slugs."

Project structure

hololive-mcp/
├── src/
│   └── hololive_mcp/
│       ├── __init__.py      # Package entry point (main, mcp)
│       └── server.py        # MCPServer definition and tool implementations
├── server.py                # Convenience shim for `mcp dev server.py`
├── pyproject.toml           # Project metadata and dependencies
├── uv.lock                  # Reproducible dependency lockfile
├── LICENSE
└── README.md

Troubleshooting

Symptom

Likely cause / fix

Could not find the talent list on the page.

The site markup changed. Update the CSS selectors in src/hololive_mcp/server.py.

requests.exceptions.Timeout

The request exceeded the 15-second timeout. Check your connection and retry.

403 Forbidden

The default User-Agent is being blocked. Update HEADERS in src/hololive_mcp/server.py.

mcp dev fails to start

Node.js is missing or too old. Install Node.js 18+.

Japanese names show as ?????? in a Windows console

Set PYTHONIOENCODING=utf-8 before running. MCP clients are unaffected.

Because the server scrapes HTML, breakage after a site redesign is expected from time to time. Selector fixes are welcome — see Contributing.

Disclaimer

This is an unofficial, fan-made project. It is not affiliated with, endorsed by, or sponsored by COVER Corporation or hololive production.

  • All names, images, text, and other content belong to their respective owners.

  • Data is retrieved from the public hololive website for personal, informational use only.

  • Please keep request volume reasonable — the server makes one HTTP request per tool call and does not cache. Do not use it for bulk scraping or redistribution.

Contributing

Issues and pull requests are welcome.

  1. Fork the repository and create a branch: git checkout -b fix/news-selector

  2. Make your change and verify it with uv run mcp dev server.py

  3. Keep the diff focused, and describe what you tested in the PR

License

Released under the MIT License.

Available Tools

3 tools
get_recent_newsA

Fetches the latest headlines from the hololive English news page (up to 10 items). Note that each entry includes the full article body, not just the title.

Inputs: no named parameters. Returns: result

get_talent_profileA

Fetches the profile page for a specific talent using their URL slug (e.g., 'mori-calliope', 'gawr-gura'). Returns their catchphrase, biography, and social links.

Inputs: talent_slug (required). Returns: result

list_talentsA

Returns a formatted list of every talent listed on the official hololive English site — all generations and branches, including alumni — with their English name, Japanese name, and profile URL slug.

Inputs: no named parameters. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: enumerating all talents, fetching a single talent's profile by slug, and fetching news headlines. There is no plausible way to confuse these three operations, and the descriptions reinforce the boundaries (list returns names/slugs, profile requires a slug from that list).

    Naming Consistency5/5

    All three tools follow a clean verb_noun snake_case pattern: list_talents, get_talent_profile, get_recent_news. The verb choice also meaningfully distinguishes collection-level (list) from item-level (get) retrieval.

    Tool Count4/5

    Three tools is on the lean side but each earns its place and covers a genuinely different need (roster, profile detail, news). It is a tightly scoped read-only scraping server, so the small surface is defensible rather than anemic.

    Completeness4/5

    The talent lifecycle is well covered: list_talents returns every slug, and get_talent_profile resolves any of them, so there are no dead ends. Minor gaps exist around filtering/searching by generation or branch and around fetching older news beyond the latest 10 items, but agents can work around both.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Exposes a public, read-only professional profile with tools to search resume evidence, fetch curated links, and generate career briefs for LLM agents.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides AI applications with real-time, evidence-backed context on creators, audiences, brands, trends, and sponsorships, including breakout topic search and browsing tools.
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI agents to read RSS/Atom feeds, extract web page content as text or Markdown, search the web, and batch-fetch multiple URLs without building custom crawlers.
      5
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to answer questions about a personal site straight from its published JSON bundle — profile, posts, case studies, pages, projects, stats and small datasets — through seven read-only tools for listing, full-text search, fetching Markdown, and querying dataset rows, with no sign-in, database or write path.
      MIT