> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getjumper.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Local Agentic Editing with Jumper and LM Studio

> Set up fully local agentic editing in Jumper using LM Studio and a free open source local model.

This guide walks through a fully local agentic editing setup with Jumper using LM Studio. The LLM agent runs on your machine, there is no dependency on cloud AI services, and you do not need a paid model subscription to use it.

LM Studio gives you access to many local models. For Jumper, choose a model with **Tool Use** and **Vision** support. The **Gemma 4** and **Qwen 3.5** model families are good options. This guide uses a **Gemma 4** model.

For air-gapped networks or absolute privacy requirements, see [Agentic editing and data privacy](/core-concepts/agentic-editing-privacy). Once LM Studio and your model are installed, this workflow can run fully locally without an internet connection.

## Before you begin

* Jumper is installed and running locally
* You have media analyzed in Jumper if you want to test a real search right away
* You want the model and Jumper tool calls to stay on your machine

<Tip>
  Model size matters a lot for local performance. Before downloading a large model, use a tool like [canirun.ai](https://canirun.ai) or LM Studio's own memory estimate to sanity-check what your machine can handle.
</Tip>

## Step-by-step

<Steps>
  <Step title="Download LM Studio">
    Go to [lmstudio.ai](https://lmstudio.ai) and download the build for your operating system.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/1-lmstudio-ai-download-page.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=fd2d7120c921869d69ec3ee69a1d11d7" alt="LM Studio download page showing the macOS installer" width="1600" height="630" data-path="images/lmstudio/1-lmstudio-ai-download-page.webp" />
  </Step>

  <Step title="Check which Gemma size fits your machine">
    Before downloading a large model, search for `gemma 4` on [canirun.ai](https://canirun.ai) and see which sizes are realistic for your hardware.

    The little red eye icon marks models with **Vision** support, which is required for the Jumper workflow.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/2-canirun.ai-models.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=66e86c11b4d8e41a2619605eb5d168a2" alt="canirun.ai results for Gemma 4 model sizes" width="1600" height="917" data-path="images/lmstudio/2-canirun.ai-models.webp" />
  </Step>

  <Step title="Open LM Studio's model search">
    Open LM Studio and click the robot icon in the left sidebar (**Model Search**).

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/3-lmstudio-robot-icon-model-search.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=d6ac607e5555acd76f0a18e5be7b9760" alt="LM Studio sidebar with Model Search highlighted" width="394" height="422" data-path="images/lmstudio/3-lmstudio-robot-icon-model-search.webp" />
  </Step>

  <Step title="Search for a Gemma 4 model and download it">
    Search for `gemma 4` and pick a model that shows the capabilities you want. For Jumper, **Tool Use** and **Vision** are the key capabilities.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/4-lmstudio-model-search.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=1346bd8bb310abad69884926eb1e1c05" alt="LM Studio model search results for Gemma 4 with tool use and vision badges" width="1600" height="1034" data-path="images/lmstudio/4-lmstudio-model-search.webp" />
  </Step>

  <Step title="Choose load parameters">
    Once the download finishes, open the model picker, turn on **Manually choose model load parameters**, and then click the model you want to load.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/5-lmstudio-select-a-model-to-load.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=3d6f481ddb1b1256d8cda493a62870eb" alt="LM Studio model picker with several Gemma 4 models ready to load" width="759" height="347" data-path="images/lmstudio/5-lmstudio-select-a-model-to-load.webp" />
  </Step>

  <Step title="Confirm the load settings">
    In the load settings view, you will most likely want to increase **Context Length**. In this example it is set to the maximum value, and **Remember settings** is enabled so you do not have to repeat this every time you load the model.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/6-lmstudio-remember-model-settings.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=356323385f4f18732fa3db9e0cc5b8cf" alt="LM Studio load model dialog with Remember settings enabled" width="1518" height="848" data-path="images/lmstudio/6-lmstudio-remember-model-settings.webp" />

    <Tip>
      If the model is too slow, runs out of memory, or fails to load, lower the **Context Length** or move to a smaller model.
    </Tip>

    When you are happy with the settings, click **Load Model**.
  </Step>

  <Step title="Open the MCP configuration">
    In LM Studio chat, open **Integrations**, click the `+` menu, and choose **Edit mcp.json**.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/7-lmstudio-open-mcp-json.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=3f0e937bcdc69827503bdc59a1e02263" alt="LM Studio Integrations panel with Edit mcp.json selected" width="1600" height="400" data-path="images/lmstudio/7-lmstudio-open-mcp-json.webp" />
  </Step>

  <Step title="Add the Jumper MCP server">
    Add the Jumper server to `mcp.json` and save the file:

    ```json theme={null}
    {
      "mcpServers": {
        "jumper": {
          "url": "http://127.0.0.1:6699/mcp"
        }
      }
    }
    ```

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/8-lmstudio-configure-mcp-json.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=a5856cf0dbcd05cdc13ab8a4062e464d" alt="LM Studio mcp.json file configured with the Jumper MCP server" width="1600" height="1075" data-path="images/lmstudio/8-lmstudio-configure-mcp-json.webp" />
  </Step>

  <Step title="Enable the Jumper integration">
    After saving, LM Studio reloads its MCP servers. Open **Integrations** and turn on `mcp/jumper`.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/9-lmstudio-mcp-enable.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=8fc8054f431ccc1e0a7fd16185e5136d" alt="LM Studio Integrations panel with mcp/jumper enabled and Jumper tools listed" width="1600" height="1075" data-path="images/lmstudio/9-lmstudio-mcp-enable.webp" />
  </Step>

  <Step title="Make sure Jumper is active in the chat">
    Open or start a chat and confirm that `jumper` is attached in the composer before you send a prompt.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/10-lmstudio-enable-jumper-chat.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=424da68a4e241729ec85cb367d8b4c60" alt="LM Studio chat composer showing the jumper integration attached" width="1048" height="804" data-path="images/lmstudio/10-lmstudio-enable-jumper-chat.webp" />
  </Step>

  <Step title="Start LM Studio's local server">
    Open the menu bar icon and choose **Start Server on Port 1234**.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/11-lmstudio-start-server-port-1234.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=94316c5ee51de95e031f15957241c267" alt="LM Studio menu bar menu showing Start Server on Port 1234" width="748" height="680" data-path="images/lmstudio/11-lmstudio-start-server-port-1234.webp" />

    This step is required for a good Jumper workflow. LM Studio can talk to Jumper through MCP, but because of a current LM Studio limitation it cannot reliably inspect Jumper's result thumbnails directly inside the agent chat unless those images are manually pasted into the conversation.

    With the local server running, Jumper can ask the loaded model to describe candidate frames in the background and pass those descriptions back to the chat. In practice, that means the agent can actually validate whether the returned shots are good matches instead of guessing from filenames, metadata, or search scores alone.
  </Step>

  <Step title="Verify that LM Studio can use Jumper">
    Ask a simple question like `Can you use Jumper?` or give it a real search request. A healthy setup should answer using the available Jumper tools instead of acting like it has no integration.

    <img src="https://mintcdn.com/jumper/o-dC_5fDI9rpkzO7/images/lmstudio/12-lmstudio-can-you-jumper.webp?fit=max&auto=format&n=o-dC_5fDI9rpkzO7&q=85&s=183a72758c73faa6ffdef9f9cf99cb99" alt="LM Studio chat responding to 'Can you use Jumper?' with Jumper capabilities" width="1600" height="1402" data-path="images/lmstudio/12-lmstudio-can-you-jumper.webp" />
  </Step>
</Steps>

## Timeline workflows

With `mcp/jumper` enabled, LM Studio agents can also read timelines from Premiere Pro, DaVinci Resolve, and Avid Media Composer and send edited timelines back. See [Timeline import and export](/core-concepts/agentic-editing#timeline-import-and-export) for examples.

## Troubleshooting

* **`mcp/jumper` does not appear in Integrations**: Check that your `mcp.json` is valid JSON and that Jumper is running locally on `http://127.0.0.1:6699`.
* **The model behaves like it has no tools**: Make sure `mcp/jumper` is enabled in **Integrations** and that `jumper` is attached in the current chat composer.
* **The agent can search but does a poor job judging which shots are the best matches**: Make sure LM Studio's local server is running on `http://127.0.0.1:1234`.
* **The model is too slow or does not load**: Choose a smaller Gemma 4 variant or lower the context length in LM Studio's load settings.

## Related

<CardGroup>
  <Card title="Agentic editing" horizontal arrow="true" href="/core-concepts/agentic-editing">
    Overview of how AI agents use Jumper through MCP
  </Card>

  <Card title="Agentic editing and data privacy" horizontal arrow="true" href="/core-concepts/agentic-editing-privacy">
    What stays local and what the model actually receives
  </Card>
</CardGroup>
