loading…
Search for a command to run...
loading…
Connects AI assistants to the Kitsu open-source production management platform for animation, VFX, and game studios. It provides over 70 tools to manage project
Connects AI assistants to the Kitsu open-source production management platform for animation, VFX, and game studios. It provides over 70 tools to manage projects, assets, shots, tasks, and production pipelines through natural language.
An MCP (Model Context Protocol) server that connects AI assistants like Claude to Kitsu — the open-source production management tool for animation, VFX, and game studios.
Built with FastMCP and the Gazu Python client.
95 tools covering the full Kitsu production pipeline:
| Category | Tools |
|---|---|
| Projects | List, overview, stats, create, close, add/remove task types |
| Assets | List, details, create, update, delete, update custom data, asset types, CSV import/export |
| Shots & Sequences | List, details, create, update, delete, update custom data, batch create, CSV import/export, OTIO import |
| Tasks | List, details, create, batch create, assign, unassign, start task, submit for review, update custom data, update status, set estimates, delete |
| Time Tracking | Add, set, get time spent, get time spent range |
| Comments | Add comments, reply to comment, acknowledge comment, list comment history |
| Previews | Upload, publish, set main, list per task, get URLs, download, update annotations |
| Attachments | List attachment files per task |
| Casting | Get/set shot casting, get asset casting |
| Team & People | List team, update roles, add/remove members, person tasks, create person, invite, departments |
| Playlists | List, create, add entities, remove entities, build movie |
| Budgets | List, create budgets and budget entries |
| Concepts | List, create concepts |
| Edits | List, create, details, update, delete, list previews |
| Scenes | List, create scenes |
| Metadata | List and add custom metadata descriptors |
| Notifications | List, mark all as read, subscribe/unsubscribe from tasks |
| Other | Search, task statuses, daily progress report |
Edits are full-length montages or sequences (like animatics, trailers, or final cuts) — the Kitsu equivalent of Frame.io's file-based review. Upload a complete video with audio and review it with annotations, comments, and version tracking.
1. create_edit("My Project", "Trailer_v03")
2. create_task("My Project", "Trailer_v03", "Edit", entity_type="edit")
3. upload_preview(task_id, "/path/to/trailer_v03.mp4", comment="v3 with music")
The team can then review the full montage in Kitsu's player with drawing/annotation tools and timecoded comments.
git clone https://github.com/INGIPSA/kitsu-mcp-server.git
cd kitsu-mcp-server
pip install -r requirements.txt
The server requires three environment variables:
| Variable | Description | Example |
|---|---|---|
KITSU_HOST |
Your Kitsu API URL | https://kitsu.yourstudio.com/api |
KITSU_USER |
Login email | [email protected] |
KITSU_PASSWORD |
Login password | your-password |
Add to your Claude Code MCP config (~/.claude/mcp.json or project-level .mcp.json):
{
"mcpServers": {
"kitsu": {
"command": "python",
"args": ["path/to/kitsu-mcp-server/server.py"],
"env": {
"KITSU_HOST": "https://kitsu.yourstudio.com/api",
"KITSU_USER": "[email protected]",
"KITSU_PASSWORD": "your-password"
}
}
}
}
Add the same config block to Claude Desktop's settings under MCP servers.
export KITSU_HOST="https://kitsu.yourstudio.com/api"
export KITSU_USER="[email protected]"
export KITSU_PASSWORD="your-password"
python server.py
Once connected, you can ask your AI assistant things like:
list_projects — List all open projectsget_project_overview — Project overview with team, task types, asset typesget_project_stats — Task statistics grouped by statuslist_assets — List assets (optionally filtered by type)get_asset_details — Asset details with taskslist_sequences — List sequenceslist_shots — List shots (optionally filtered by sequence)get_shot_details — Shot details with tasks and castinglist_my_tasks — Tasks assigned to logged-in userlist_tasks_for_entity — Tasks for a specific asset, shot, or editget_task_details — Task details with comment historyget_time_spent — Time entries for a tasklist_comments — Comments on a taskget_shot_casting — Asset breakdown for a shotget_asset_casting — Shots an asset appears inlist_team_members — Team members in a projectget_person_tasks — Tasks for a specific personlist_departments — All departmentslist_playlists — Playlists in a projectlist_task_statuses — Available task statuseslist_notifications — Recent notificationslist_preview_files_for_task — All preview files for a tasklist_attachment_files_for_task — All attachment files for a taskget_preview_file_url — Direct image/video URLs for a previewget_time_spents_range — Time spent by person over a date rangesearch — Search entities by namedaily_progress_report — Activity summary for last N hourslist_concepts — Concepts in a projectlist_edits — Edits in a projectget_edit_details — Edit details with tasks and previewslist_previews_for_edit — All preview files for an editlist_scenes — Scenes in a projectlist_metadata_descriptors — Custom metadata fieldsget_budgets — Budgets for a projectget_budget_entries — Entries in a budgetexport_assets_csv — Export assets to CSVexport_shots_csv — Export shots to CSVcreate_project — Create a new projectcreate_asset_type — Create an asset typecreate_asset — Create an assetcreate_episode — Create an episodecreate_sequence — Create a sequencecreate_shot — Create a shotcreate_task — Create a task for an asset, shot, or editcreate_person — Create a new userinvite_person — Send invitation email to a usercreate_department — Create a departmentcreate_playlist — Create a playlistcreate_budget — Create a budgetcreate_budget_entry — Create a budget entrycreate_concept — Create a conceptcreate_edit — Create an edit (montage/sequence for review)create_scene — Create a sceneadd_metadata_descriptor — Add a custom metadata fieldupdate_task_status — Change task status with optional commentassign_task — Assign a person to a taskunassign_task — Remove a person from a task (or clear all assignees)set_task_estimate — Set time estimate for a taskadd_comment — Add a comment to a taskset_shot_casting — Set which assets appear in a shotupdate_asset — Update asset description/metadataupdate_shot — Update shot description/frames/metadataupdate_edit — Update edit name/descriptionupdate_team_member_role — Change a team member's roleadd_time_spent — Add time spent on a taskset_time_spent — Set time spent on a taskadd_person_to_department — Add person to departmentremove_person_from_department — Remove person from departmentadd_entity_to_playlist — Add shot/asset to playlistadd_team_member — Add a person to a project teamset_main_preview — Set a preview as the main thumbnailstart_task — Start a task (set to WIP)submit_for_review — Submit task for supervisor review (WFA)reply_to_comment — Threaded reply to a commentacknowledge_comment — Mark a comment as acknowledgedupdate_asset_data — Update custom metadata on an assetupdate_shot_data — Update custom metadata on a shotupdate_task_data — Update custom metadata on a taskupdate_preview_annotations — Add/edit/remove annotations on a previewmark_all_notifications_as_read — Clear all notificationssubscribe_to_task — Subscribe to task notificationsunsubscribe_from_task — Unsubscribe from task notificationsremove_entity_from_playlist — Remove entity from a playlistadd_task_type_to_project — Add a task type to a projectremove_task_type_from_project — Remove a task type from a projectbatch_create_shots — Create multiple shots at once (e.g. SH010-SH200)batch_create_tasks — Add a task type to all shots/assets in a groupupload_preview — Upload a preview file to a taskpublish_preview — Status + comment + preview in one stepdownload_preview_file — Download a preview file to local pathimport_assets_csv — Import assets from CSVimport_shots_csv — Import shots from CSVimport_otio — Import timeline from OpenTimelineIOdelete_shot — Delete a shotdelete_asset — Delete an assetdelete_task — Delete a taskdelete_edit — Delete an editclose_project — Close/archive a projectbuild_playlist_movie — Build a movie from playliststart_task (WIP), submit_for_review (WFA), reply_to_comment, acknowledge_commentupdate_asset_data, update_shot_data, update_task_data — set custom metadata dictsget_preview_file_url, download_preview_file, update_preview_annotations, list_preview_files_for_tasklist_attachment_files_for_taskget_time_spents_range — query time entries over date rangesmark_all_notifications_as_read, subscribe_to_task, unsubscribe_from_taskremove_entity_from_playlistadd_task_type_to_project, remove_task_type_from_projectMIT License — see LICENSE.
Add this to claude_desktop_config.json and restart Claude Desktop.
{
"mcpServers": {
"kitsu-mcp-server": {
"command": "npx",
"args": []
}
}
}