Skip to main content
Glama

Local Worker MCP

MCPローカル、クライアント非依存。フロンティアは計画、委任、レビューを行う。ローカルは重労働、機械的かつ検証可能な作業を実行する。

目的は、有料AIのトークン消費を削減し、生のコンテンツをそれらのコンテキストに投入しないことにある。

Codex / Claude / Gemini / Grok
              │
              ▼
       Local Worker MCP
              │
       ┌──────┴───────────────┐
       ▼                      ▼
 Gemma 4 12B QAT          arquivos / PDF
 via Ollama               extração + evidências
       │
       ▼
 resultado compacto e verificável
       │
       ▼
 Frontier revisa

これは主要なAIを置き換えるものではなくモデルルーターでもない。真の作業委任である。

LOCAL DISPONÍVEL?          NÃO
      │                     │
      ▼                     ▼
   DELEGA                NÃO INSISTE
      │                     │
      ▼                     ▼
   COMPRIME            FRONTIER ASSUME
      │
      ▼
 FRONTIER REVISA

Gemmaは最適化である。決して単一障害点になってはならない。

原則

タスクが機械的、反復的、検証可能、またはコンテキスト集約型(PDF、ログ、CSV、コード、抽出、分類、要約)である場合に委任する。

フロンティアに残すもの:アーキテクチャ上の決定、セキュリティ、重要な変更、主観的な判断、曖昧な要件。

ローカルワーカーがオフラインの場合、フロンティアは継続する。MCPは迅速にunavailableを返し、フォールバックを推奨する。クライアントは以下を記録できる:

Worker local indisponível; executei diretamente.

ユーザーの介入を必要としない。

Related MCP server: ollama-handoff

要件

  • Python 3.10+

  • 同一PCまたはLAN内の別のPC上のOllama

  • ローカルモデル(推奨:Gemma 4 12B QAT)

インストール

git clone https://github.com/CaioAllgayer/Local-Worker-MCP.git
cd Local-Worker-MCP
python -m pip install -e ".[dev]"
copy .env.example .env

Ollama + Gemma

  1. Ollamaをインストールして起動する。

  2. モデルをダウンロードする。名前はハードコードされていないollama listの実際の名前を使用する:

ollama list
ollama pull <nome-real-do-gemma>
  1. LOCAL_LLM_MODELが空の場合、ワーカーは名前にgemmaを含むモデルを検出しようとする。それ以外の場合は、リストの最初のモデルを使用する。

  2. エンドポイントをテストする:

curl http://127.0.0.1:11434/api/tags
local-worker status
  1. MCPを起動する:

local-worker-mcp

同一PC

LOCAL_LLM_PROVIDER=ollama
LOCAL_LLM_BASE_URL=http://127.0.0.1:11434
LOCAL_LLM_MODEL=

locallanはホスト名で検出される。127.0.0.1localhost::1はローカルと見なされる。

デスクトップを使用するノートブック

ワーカーはlocalhostを前提としない。バックエンドはLAN内の別のPCにある可能性がある。

ノートブックの場合:

LOCAL_LLM_PROVIDER=ollama
LOCAL_LLM_BASE_URL=http://192.168.x.x:11434

192.168.x.xをデスクトップの実際のIPアドレスに置き換える(Windowsではipconfig、Linuxではip a)。プロジェクトに固定IPはない。

動作は同じ:フェイルファスト、サーキットブレーカー、キャッシュ、圧縮。

デスクトップでは、OllamaがLANからの接続を受け入れる必要がある(OLLAMA_HOST=0.0.0.0環境変数と、ポート11434を開放するファイアウォール)。

OpenAI互換

LM Studio、llama.cppサーバー、vLLMなど:

LOCAL_LLM_PROVIDER=openai_compatible
LOCAL_LLM_BASE_URL=http://127.0.0.1:1234/v1
LOCAL_LLM_MODEL=...
LOCAL_LLM_API_KEY=

フェイルファストとサーキットブレーカー

デフォルト:

LOCAL_LLM_CONNECT_TIMEOUT_SECONDS=2
LOCAL_LLM_REQUEST_TIMEOUT_SECONDS=45
LOCAL_LLM_MAX_RETRIES=0
LOCAL_LLM_CIRCUIT_BREAKER_FAILURES=2
LOCAL_LLM_CIRCUIT_BREAKER_COOLDOWN_SECONDS=60

接続拒否はリトライしない。N回の失敗後、回路が開き、以降の呼び出しは即座にunavailableを返す。クールダウン後、1回の試行が許可される。

{
  "status": "unavailable",
  "fallback_recommended": true,
  "reason": "Local LLM endpoint unreachable"
}

MCPツール

ツール

機能

local_status

プロバイダー、エンドポイント、ローカル/LAN、レイテンシ、モデル、サーキットブレーカー、キャッシュ

delegate_task

汎用タスク → コンパクトなJSON

delegate_batch

独立したタスクを並列実行(MAX_PARALLEL_WORKERS=4

delegate_file

TXT、Markdown、CSV、JSON、コード、ログ

delegate_pdf

ページごとの抽出、チャンキング、階層的要約、エビデンス

cache_stats

サイズ、エントリ数、ヒット数、ミス数、ヒット率、期限切れ数

cache_cleanup

今すぐGC(TTL → 未使用 → LRU)

cache_clear

使い捨てエントリを削除

ファイルの生のコンテンツは有料AIのコンテキストに入れる必要はない。ワーカーが読み取り、圧縮し、検証可能なエビデンス(ページ、行、抜粋)を返す。

セキュリティ

デフォルト:SECURITY_MODE=READ_ONLYENABLE_SHELL=false

SECURITY_MODE=READ_ONLY
ALLOWED_PATHS=C:\Projects,D:\Research
ENABLE_SHELL=false
  • READ_ONLY — 許可されたパスへの読み取りのみ。書き込みとシェルはブロックされる。

  • WORKSPACE_WRITE — 許可されたパスへの読み取り/書き込み。シェルはENABLE_SHELL=trueの場合のみ。

  • FULL_LOCAL — より寛容。それでも破壊的なコマンドはブロックされる。

パストラバーサルはブロックされる。rmdelformatなどは拒否される。

キャッシュとログ

~/.local-worker-mcp/cacheに永続キャッシュ、自動クリーニング:

CACHE_TTL_DAYS=30
CACHE_MAX_SIZE_GB=10
CACHE_CLEANUP_THRESHOLD_PERCENT=90
CACHE_TARGET_USAGE_PERCENT=80
CACHE_CLEANUP_INTERVAL_HOURS=6

エントリはデフォルトで使い捨て。persistent=trueで重要なアーティファクトを保持する。

ログはローテーションされ、期限切れになる:

LOG_RETENTION_DAYS=14
LOG_MAX_SIZE_MB=250

ログはファイルの完全なコンテンツを保存しない

ベンチマーク

local-worker benchmark arquivo.pdf

出力:

Arquivo: arquivo.pdf
Worker: gemma4:12b-qat
Backend: ollama
Endpoint: LAN/local
Tamanho: ...
Tokens originais estimados: ...
Tokens processados localmente: ...
Resultado para frontier: ...
Compressão: ...
Tempo: ...
Cache: HIT/MISS

Codex

~/.codex/config.tomlまたはクライアントのJSON:

{
  "mcpServers": {
    "local-worker": {
      "command": "local-worker-mcp",
      "env": {
        "LOCAL_LLM_PROVIDER": "ollama",
        "LOCAL_LLM_BASE_URL": "http://127.0.0.1:11434",
        "ALLOWED_PATHS": "C:\\Projects"
      }
    }
  }
}

examples/codex.jsonを参照。

Claude Code

claude mcp add local-worker --scope user -- local-worker-mcp

または、examples/claude_code.json~/.claude.jsonにコピーする。

プロジェクトのCLAUDE.md / AGENTS.mdに、次のポリシーを記述する:

機械的なタスクと大きなファイルの読み取りは、delegate_pdf / delegate_file / delegate_taskに委任する。local_statusまたはツールがunavailableを返した場合は、直接実行して先に進む。

その他のMCPクライアント

どのstdioクライアントでも動作する。examples/generic.jsonの汎用例:

{
  "mcpServers": {
    "local-worker": {
      "command": "local-worker-mcp",
      "env": {
        "LOCAL_LLM_PROVIDER": "ollama",
        "LOCAL_LLM_BASE_URL": "http://127.0.0.1:11434"
      }
    }
  }
}

  • examples/pdf.md — 長い論文/PDF

  • examples/code.md — リポジトリの初期読み取り

  • examples/logs.md — エラー抽出

テスト

python -m pip install -e ".[dev]"
pytest
ruff check src tests

スイートは実際のOllama/Gemmaに依存しない。すべてモック化されている。

このMVPに含まれないもの

Windows GUI自動化、Playwright、複雑なマルチエージェント、ベクトルRAG、ダッシュボード、Kubernetes、MLルーター。

アーキテクチャは、delegate_repodelegate_gitdelegate_browserなどを次のフェーズで追加できる余地を残している。

ライセンス

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 38 tools.

  • Shared distillation cache for AI agents — every fetch ~73-89% fewer tokens via a shared cache.

  • JSON/YAML, regex, diff, JWT, SQL dialects — the keyless millisecond ops an agent needs mid-task.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CaioAllgayer/Local-Worker-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server