# RobSpectre/mvf1 [Health: Active]

**Category:** 🏃 Sports  
**Repository:** https://github.com/RobSpectre/mvf1  
**GitHub Stars:** 19  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/robspectre-mvf1

## Description
MCP server that controls MultiViewer, an app for watching motorsports like Formula 1, World Endurance Championship, IndyCar and others.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "mvf1": {
    "command": "uvx",
    "args": ["mvf1"]
  }
}
```

## Documentation

## What RobSpectre/mvf1 MCP server does

RobSpectre/mvf1 MCP server connects an MCP-compatible agent to MultiViewer, an application used to watch Formula 1 and other motorsports broadcasts. Its focus is player control: an agent can work with the players currently available in MultiViewer instead of manipulating the application through a graphical interface.

The project is distributed as a Python package and also provides a command-line interface and a Python API. The README describes the MCP interface as suitable for AI-agent control and shows it being used as a local stdio process. MultiViewer itself remains the application that provides the video feeds; mvf1 supplies the control layer.

## How it works

Install the `mvf1` package, then start its MCP mode with `mvf1-cli mcp`. An MCP client launches that command as a stdio server and exchanges requests with it through the process. The README demonstrates this arrangement with PydanticAI's `MCPServerStdio` class.

Operations shown in the project examples work with individual players or groups of open players. The library can list available players, retrieve a selected player's state, mute players, change a player's stream, and synchronize playback. Synchronization can use a selected player, the broadcast commentary feed, or the current live-timing clock. The live-timing operation uses session and feed timing information to seek open players into alignment.

## Setup and configuration

Install the published Python package with pip:

```bash
pip install mvf1
```

Start the MCP server with:

```bash
mvf1-cli mcp
```

Configure the MCP client to launch `mvf1-cli` with `mcp` as its argument and to use stdio transport. The README does not describe environment variables, API keys, OAuth, or a remote hosted endpoint. It also does not provide client-specific configuration for Claude Desktop, Cursor, Windsurf, or Cline.

RobSpectre/mvf1 MCP server depends on a running MultiViewer environment for the player operations to have something to control. The supplied material does not specify a MultiViewer version, operating-system requirement, or a separate connection setting.

## Tools and capabilities

The documented capabilities include:

- Listing the players exposed by MultiViewer.
- Reading state for a selected player, including playback status, mute state, volume, live status, and timing values.
- Muting players through the Python interface; the examples show applying this operation across all listed players.
- Switching a player to a named stream such as the data channel.
- Synchronizing all players to a selected player.
- Synchronizing players to broadcast commentary.
- Aligning open players with the current live-timing clock and session timing.

The README explicitly identifies `player_sync_to_live_timing` as available to MCP clients. It does not include a complete MCP tool inventory or formal schemas for every exposed operation, so implementers should inspect the package documentation or server behavior before depending on exact tool names and parameters.

## Limitations and notes

The project controls MultiViewer; it is not described as a service for finding races, fetching race schedules, or streaming video itself. Its documentation also does not claim support for a hosted MCP deployment. The package is released under the MIT License and states that it is not developed or maintained by MultiViewer or Formula 1 TV.

Because the server operates through a local CLI process, the MCP client must be able to start local stdio commands and the MultiViewer application must be available to receive the requested player actions. The provided material does not document authentication, permissions, error handling, or behavior when no players are open.

_Full upstream README: https://allmcps.com/mcp/robspectre-mvf1/readme_

