Let your AI agent cut your tennis highlights
Tennis Evolution exposes its whole pipeline as an MCP server, so an AI agent can inspect your recording, pick the rallies, render a labeled reel and check the result — while the video stays on your machine.
Claude Code
claude mcp add tennis-evolution -- uvx --from git+https://github.com/bobobo2026/tennis-evolution tennis-evolution mcpOr install the plugin, which adds the skill as well: /plugin marketplace add bobobo2026/tennis-evolution then /plugin install tennis-evolution@tennis-evolution.
Claude Desktop, Cursor, Windsurf, Codex
{
"mcpServers": {
"tennis-evolution": {
"command": "uvx",
"args": ["--from", "git+https://github.com/bobobo2026/tennis-evolution", "tennis-evolution", "mcp"]
}
}
}Requires uv and ffmpeg on the machine that runs the agent.
What to say
- “Cut the five longest rallies out of ~/Movies/match.MOV and label them Riverside Tennis Club.”
- “Here is my sliceapp export — make a reel in the order they were played.”
- “Check whether out/reel_labeled.mp4 has any audio sync problems.”
The tools the agent gets
probe_video— duration, HDR, rotation, audio tracks, recording timerank_highlights— parse a rally list and show which ones will be keptstart_highlight_reel/get_job— render in the background and poll; returns the manifestverify_video— decode, A/V offset, black frames, silencelicense_status/activate_license— free vs Pro
Why MCP instead of a cloud API
An hour of match footage is several gigabytes and full of people who did not agree to be uploaded. With MCP the agent drives a local process: nothing leaves the disk, there is no queue, and the free version works without an account.
FAQ
Does ChatGPT support it?
Any client that can run local MCP servers can use it. ChatGPT desktop connectors that only accept remote servers cannot run it yet.
Does the agent detect hits by itself?
No. Give it a rally list (sliceapp export, notes, or another detector); the agent and the tool handle cutting, labeling and checking.