npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

longtake-mcp

v1.0.2

Published

MCP server for Longtake Studio: lets an AI agent shoot AI video (Seedance, Veo, Gemini Omni, Kling) in a studio that runs on your own API key

Readme

longtake-mcp

MCP server for Longtake Studio — an AI video studio that runs on your own API key. With this server an AI agent (Claude Code, Codex, Cursor, any MCP client) can set up a production, cast characters with a locked voice, shoot takes on Seedance 2.0 / 2.5, Veo 3.1, Gemini Omni or Kling 3.0, draft cheaply and finish in 1080p, and read back the cost of every render.

Renders launched by an agent are billed exactly like clicks in the studio: the model provider (BytePlus, Google, Kling, fal.ai) charges your own key at its list price. Agent access itself is neither metered nor marked up.

Longtake is the name of the software. It is not the cinematography term "long take" — though that is where the name comes from: one take of one scene is the unit of work.

What the agent gets — 13 tools

| Tool | What it does | |---|---| | studio_overview | Projects, episodes, scenes, characters and assets — the whole studio at a glance | | create_project · create_folder · create_scene | The production structure: project → episode → scene | | create_character | Cast a character with a portrait and a locked voice sample; the studio screen-tests the portrait against moderation | | generate_mocap | A four-view character sheet (Seedream / Nano Banana Pro) | | upload_asset | Reference images, audio and video clips for the project library | | estimate_cost | The price of a take before it is shot — model, resolution, length, reference clips | | generate_video | Shoot a take; @names in the prompt resolve to characters and assets; draft: true shoots a Seedance 2.5 draft | | finish_draft | Finish a Seedance 2.5 draft in 1080p — the same take, rendered sharper | | take_status · scene_takes | Status, file, token spend and what a take was shot as | | cancel_take | Delete a take (a queued BytePlus render is cancelled at the provider) |

Setup

  1. Issue a token. In the studio: account menu → API keys → Agent access — MCP → create. It is shown once and can be revoked alone.

  2. Register it with your agent. The package is on npm as longtake-mcp, so npx fetches it — nothing to clone. For Claude Code:

    claude mcp add longtake \
      -e STUDIO_URL=https://longtake.studio \
      -e STUDIO_TOKEN=cf_your_token \
      -- npx -y longtake-mcp

    Any other MCP client takes the same command and the same two environment variables. As JSON (Cursor, Codex, Claude Desktop):

    {
      "mcpServers": {
        "longtake": {
          "command": "npx",
          "args": ["-y", "longtake-mcp"],
          "env": { "STUDIO_URL": "https://longtake.studio", "STUDIO_TOKEN": "cf_your_token" }
        }
      }
    }

    Prefer a checkout? git clone https://github.com/svatrous/longtake-mcp.git && cd longtake-mcp && npm install, then point the command at node mcp-server.js.

The full guide, with what the token can and cannot do, is at longtake.studio/mcp. Prompt-writing skills for the same agent (Seedance 2.0, Seedance 2.5, Gemini Omni, character sheets) are at longtake.studio/skills.

Safety

The token acts as your account for the work: it shoots takes on your provider keys, inside your rate limits. It cannot read or change those keys, issue or revoke tokens, or touch billing — those routes turn an agent token away. Everything else you can do it can do too, including deleting a project, so keep it out of shared configs and revoke it in the same dialog if it leaks.

Local files. Two tools read a file from this machine: upload_asset, and create_character when given a portrait or a voice sample by path. They take only media — jpg, png, webp, gif, mp3, wav, m4a, ogg, mp4, mov — and only a regular file whose first bytes really are that format, up to 89 MB. A directory, a device, a pipe or a text file renamed to .png is refused before anything is read or sent. What does go goes to your studio (STUDIO_URL), into the account the token belongs to, and nowhere else.

HTTPS only. The token travels over https://, or over plain http:// to a studio on this machine (localhost, 127.0.0.1, [::1]). Any other http:// address is refused before a request is made.

License

MIT. This file is a copy of the studio's own mcp-server.js; the studio also serves it as longtake.studio/mcp-server.cjs.