# io.github.JoblessJoe/local-llm-worker (npm · local-llm-worker)

Local LLM does Claude's bulk work: reads logs and files, researches the web, writes test-gated code.

- Trust score: 71/100 (medium)
- Change this week: −3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-22

## Components

- npm · `local-llm-worker`: 71/100 (this document), [markdown](https://verifymcp.io/servers/joblessjoe-local-llm-worker/local-llm-worker.md), [page](https://verifymcp.io/servers/joblessjoe-local-llm-worker/local-llm-worker)

## Channel facts

- Registry: `npm`
- Package: `local-llm-worker`
- Version: `0.1.4`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-22.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - No production dependencies, so there is no dependency health to assess.
- **Provenance & Transparency**: 13/100
  - Repository check failed: the declared repository URL redirects; it must resolve directly.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Maintenance check failed: the publisher has marked this version as deprecated on the registry, telling users to stop installing it.
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 70/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 813 tokens (~203/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 57/100
  - Stability observed for 17 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 4 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 4 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the io.github.JoblessJoe/local-llm-worker MCP server?

io.github.JoblessJoe/local-llm-worker runs locally as an npm package, launched with npx -y local-llm-worker. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add joblessjoe-local-llm-worker -- npx -y local-llm-worker
```

### Cursor

```json
{
  "mcpServers": {
    "joblessjoe-local-llm-worker": {
      "command": "npx",
      "args": [
        "-y",
        "local-llm-worker"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "joblessjoe-local-llm-worker": {
      "command": "npx",
      "args": [
        "-y",
        "local-llm-worker"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add joblessjoe-local-llm-worker -- npx -y local-llm-worker
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "joblessjoe-local-llm-worker": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "local-llm-worker"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add joblessjoe-local-llm-worker --command npx --arg -y --arg local-llm-worker
```

### Hermes

```yaml
mcp_servers:
  joblessjoe-local-llm-worker:
    command: "npx"
    args: ["-y", "local-llm-worker"]
```

### Netclaw

```json
{
  "McpServers": {
    "joblessjoe-local-llm-worker": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "local-llm-worker"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add joblessjoe-local-llm-worker -t stdio -c npx -a -y local-llm-worker
```

### Other

```json
{
  "mcpServers": {
    "joblessjoe-local-llm-worker": {
      "command": "npx",
      "args": [
        "-y",
        "local-llm-worker"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-21 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-20 (score 70, −6)

- [security regression] Source repository: pass → fail
- [functional regression] Maintenance: pass → fail

### 2026-10-18 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-16 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 74, +35)

- [security improvement] Injection markers: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.30

### 2026-10-13 (score 39, 0)

- [functional regression] Security disclosure: unverified → fail

### 2026-10-12 (score 39, 0)

- [functional regression] Security disclosure: fail → unverified
- [functional] Package version: 0.1.0 → 0.1.4

### 2026-10-08 (score 39, −31)

- [security regression] Tool safety: pass → unverified
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] Package version: 0.1.0 → 0.1.3

## MCP tools (4)

### `offload` (~160 tokens)

Read big output with the LOCAL model instead of reading it yourself: test runs, builds, logs, large files or diffs. It reads files and/or a command's output and answers your question. Only the short answer comes back, so large logs, files or diffs never enter your context. Good for: summarising a huge test log, finding where something is defined across big files, extracting numbers.

Input parameters:

- `command` (string): Shell command whose stdout+stderr is the material (e.g. a test run).
- `files` (array): Paths relative to the git root (or cwd outside a repo).
- `model` (string): Override the configured model for this call.
- `task` (string, required): The question to answer from the material.

### `research` (~186 tokens)

Web lookup with the LOCAL model, instead of WebSearch/WebFetch: docs, current versions, facts from pages. Answers a question from the live web WITHOUT the pages entering your context. Searches SearXNG (or reads the "urls" you give), downloads the pages in full, has the LOCAL model answer with inline [n] citations, and returns only that answer plus the source list. Use it when the details on the pages matter. Slow by design: expect tens of seconds to minutes.

Input parameters:

- `max_sources` (integer): Pages to read when searching (default from config).
- `model` (string): Override the configured model for this call.
- `query` (string): Search query if it should differ from the question.
- `question` (string, required): The research question, in full.
- `urls` (array): Read these pages instead of searching (no search_url needed).

### `delegate` (~272 tokens)

Implement a small function, helper or file with the LOCAL model: write the test first, then call this. The local model writes ONE file until YOUR test command passes, in an isolated git worktree. Returns only a PASS/FAIL verdict. Write the test first; the worker never sees test source, only parsed failures. Independent delegates can run in parallel. Read the diff before relying on the result.

Input parameters:

- `apply` (boolean): Copy the passing file into the checkout (default true).
- `context` (string): Exact API surface the file may use, verbatim (names, signatures, return shapes).
- `max_attempts` (integer): Generate/test rounds (default from config).
- `model` (string): Override the configured model for this call.
- `properties`: Invariants that must hold for every input, ideally one per gating test.
- `show_code` (boolean): Also return the code (default false: costs tokens).
- `spec` (string, required): What the file must do. Resolve every ambiguity here.
- `target_file` (string, required): File to create or modify, relative to the git root.
- `test_command` (string, required): Shell command run in the worktree; exit 0 = pass.
- `test_files` (array): Test files; the target may not be one of them.

### `configure` (~195 tokens)

Set up or change local-llm-worker (backend URL, models, search, which tools to use automatically via auto_use). No arguments: effective config, where each value comes from, config file paths, detected backend API, reachability and the backend's model list. With {set, scope}: merge keys into the user or project config file (null removes a key). Changes apply on the next call without a restart. Call this first on a new machine.

Input parameters:

- `scope` (string): Which file to write (default user).
- `set` (object): Keys to change. Valid keys: base_url, api, api_key, headers, model, offload_model, delegate_model, research_model, search_url, research_sources, page_timeout_ms, allow_private_urls, num_ctx, max_toke…

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/joblessjoe-local-llm-worker/local-llm-worker#diagnostics

## Score history

- 2026-10-22: 71
- 2026-10-21: 71
- 2026-10-20: 70
- 2026-10-19: 76
- 2026-10-18: 76
- 2026-10-17: 75
- 2026-10-16: 75
- 2026-10-15: 74
- 2026-10-14: 74
- 2026-10-13: 39
- 2026-10-12: 39
- 2026-10-08: 39
- 2026-10-05: 70
- 2026-10-04: 39

## Common questions

### What is the io.github.JoblessJoe/local-llm-worker MCP server?

io.github.JoblessJoe/local-llm-worker is an MCP server listed in the public MCP registry as io.github.JoblessJoe/local-llm-worker. Local LLM does Claude's bulk work: reads logs and files, researches the web, writes test-gated code. This page covers its npm package (local-llm-worker).

### Is the io.github.JoblessJoe/local-llm-worker MCP server safe to use?

io.github.JoblessJoe/local-llm-worker scores 71 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 22 October 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.JoblessJoe/local-llm-worker MCP server expose?

io.github.JoblessJoe/local-llm-worker exposes 4 tools: offload, research, delegate, configure. Their descriptions and schemas cost roughly 813 tokens of context every time the server is loaded.

### Is the io.github.JoblessJoe/local-llm-worker MCP server still maintained?

io.github.JoblessJoe/local-llm-worker is still listed as active in the MCP registry. We last reached this channel on 22 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.JoblessJoe/local-llm-worker MCP server under?

io.github.JoblessJoe/local-llm-worker declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/local-llm-worker
- Socket report: https://socket.dev/npm/package/local-llm-worker
- Changelog RSS feed: https://verifymcp.io/servers/joblessjoe-local-llm-worker/local-llm-worker.xml
- Changelog JSON feed: https://verifymcp.io/servers/joblessjoe-local-llm-worker/local-llm-worker.json
- HTML version of this page: https://verifymcp.io/servers/joblessjoe-local-llm-worker/local-llm-worker
