Local Worker MCP
Uses a local Ollama instance (e.g., Gemma 4 12B QAT) to process files, PDFs, logs, and generic tasks, returning compact, verifiable results to reduce token consumption by frontier AIs.
Supports OpenAI-compatible backends (LM Studio, llama.cpp server, vLLM) as the local worker provider, enabling the same delegation and fallback behavior.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Local Worker MCPextract the key data from this PDF report and summarize findings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Local Worker MCP
Client-agnostic local MCP. Frontier plans, delegates, and reviews. Local does the heavy, mechanical, and verifiable work.
The goal is to reduce token consumption from paid AIs without dumping raw content into their context.
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 revisaThis does not replace the main AI and is not a model router. It is real task delegation.
LOCAL DISPONÍVEL? NÃO
│ │
▼ ▼
DELEGA NÃO INSISTE
│ │
▼ ▼
COMPRIME FRONTIER ASSUME
│
▼
FRONTIER REVISAGemma is an optimization. It must never become a single point of failure.
Principle
Delegate when the task is mechanical, repetitive, verifiable, or context-intensive: PDF, logs, CSV, code, extraction, classification, summarization.
Keep on the frontier: architectural decisions, security, critical changes, subjective judgment, ambiguous requirements.
If the local worker is offline, the frontier continues. The MCP returns unavailable quickly and recommends a fallback. The client can log:
Worker local indisponível; executei diretamente.Does not require user intervention.
Related MCP server: ollama-handoff
Requirements
Python 3.10+
Ollama on the same PC or another on the LAN
A local model (recommended: Gemma 4 12B QAT)
Installation
git clone https://github.com/CaioAllgayer/Local-Worker-MCP.git
cd Local-Worker-MCP
python -m pip install -e ".[dev]"
copy .env.example .envOllama + Gemma
Install and start Ollama.
Download the model. The name is not hardcoded — use the actual name from your
ollama list:
ollama list
ollama pull <nome-real-do-gemma>If
LOCAL_LLM_MODELis empty, the worker tries to detect a model whose name containsgemma. Otherwise, it uses the first listed model.Test the endpoint:
curl http://127.0.0.1:11434/api/tags
local-worker statusStart the MCP:
local-worker-mcpSame PC
LOCAL_LLM_PROVIDER=ollama
LOCAL_LLM_BASE_URL=http://127.0.0.1:11434
LOCAL_LLM_MODEL=local vs lan is detected by hostname. 127.0.0.1, localhost, and ::1 are local.
Laptop using the desktop
The worker does not assume localhost. The backend can be on another PC on the LAN.
On the laptop:
LOCAL_LLM_PROVIDER=ollama
LOCAL_LLM_BASE_URL=http://192.168.x.x:11434Replace 192.168.x.x with the current IP of the desktop (ipconfig on Windows, ip a on Linux). There is no fixed IP in the project.
The behavior is the same: fail-fast, circuit breaker, cache, compression.
On the desktop, Ollama must accept connections from the LAN (OLLAMA_HOST=0.0.0.0 environment variable and firewall allowing port 11434).
OpenAI-compatible
LM Studio, llama.cpp server, vLLM, and similar:
LOCAL_LLM_PROVIDER=openai_compatible
LOCAL_LLM_BASE_URL=http://127.0.0.1:1234/v1
LOCAL_LLM_MODEL=...
LOCAL_LLM_API_KEY=Fail-fast and circuit breaker
Defaults:
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=60Connection refused does not retry. After N failures the circuit opens and subsequent calls return unavailable immediately. After the cooldown, one attempt is allowed.
{
"status": "unavailable",
"fallback_recommended": true,
"reason": "Local LLM endpoint unreachable"
}MCP Tools
Tool | Function |
| provider, endpoint, local/LAN, latency, model, circuit breaker, cache |
| generic task → compact JSON |
| independent tasks in parallel ( |
| TXT, Markdown, CSV, JSON, code, logs |
| extraction by page, chunking, hierarchical synthesis, evidence |
| size, entries, hits, misses, hit rate, expired |
| GC now (TTL → not reused → LRU) |
| delete disposable entries |
The raw file content does not need to enter the paid AI's context. The worker reads, compresses, and returns verifiable evidence (page, line, snippet).
Security
Default: SECURITY_MODE=READ_ONLY, ENABLE_SHELL=false.
SECURITY_MODE=READ_ONLY
ALLOWED_PATHS=C:\Projects,D:\Research
ENABLE_SHELL=falseREAD_ONLY— read-only on authorized paths; write and shell blockedWORKSPACE_WRITE— read/write on authorized paths; shell only ifENABLE_SHELL=trueFULL_LOCAL— more permissive; still blocks destructive commands
Path traversal is blocked. rm, del, format, etc. are refused.
Cache and logs
Persistent cache in ~/.local-worker-mcp/cache, self-cleaning:
CACHE_TTL_DAYS=30
CACHE_MAX_SIZE_GB=10
CACHE_CLEANUP_THRESHOLD_PERCENT=90
CACHE_TARGET_USAGE_PERCENT=80
CACHE_CLEANUP_INTERVAL_HOURS=6Entries are disposable by default. persistent=true preserves important artifacts.
Logs rotate and expire:
LOG_RETENTION_DAYS=14
LOG_MAX_SIZE_MB=250The log does not store the full file content.
Benchmark
local-worker benchmark arquivo.pdfOutput:
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/MISSCodex
~/.codex/config.toml or the client's 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"
}
}
}
}See examples/codex.json.
Claude Code
claude mcp add local-worker --scope user -- local-worker-mcpOr paste examples/claude_code.json into ~/.claude.json.
In the project's CLAUDE.md / AGENTS.md, teach the policy:
Mechanical tasks and reading large files go to
delegate_pdf/delegate_file/delegate_task. Iflocal_statusor the tool returnsunavailable, execute directly and move on.
Other MCP clients
Any stdio client works. Generic example in 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
examples/pdf.md— long paper / PDFexamples/code.md— initial repository readingexamples/logs.md— error extraction
Tests
python -m pip install -e ".[dev]"
pytest
ruff check src testsThe suite does not depend on real Ollama/Gemma. Everything is mocked.
What is not included in this MVP
Windows GUI automation, Playwright, complex multi-agent, vector RAG, dashboard, Kubernetes, ML router.
The architecture leaves room for delegate_repo, delegate_git, delegate_browser, etc. in the next phase.
License
MIT.
Available Tools
8 toolscache_cleanupA
Run cache garbage collection now (TTL, unused, then LRU).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure. It reveals the eviction strategy (TTL, unused, then LRU) but lacks details on side effects (e.g., blocking duration, performance impact, idempotency), leaving moderate gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no superfluous words. Parenthetical details are efficiently placed, making it highly concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description covers the main action and eviction order adequately. However, missing annotations or cautions about safety or frequency of use slightly reduce completeness, though the core functionality is well captured.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the input schema is empty (vacuously 100% coverage). No parameter explanation is needed, and the description adds no confusion, so this dimension is optimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Run cache garbage collection now') and elaborates on the eviction order ('TTL, unused, then LRU'), which makes the tool's purpose highly specific and distinguishable from siblings like 'cache_clear' or 'cache_stats'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when or when not to use this tool compared to alternatives. It only implies immediate execution but does not mention prerequisites, suitable scenarios, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_clearA
Delete disposable cache entries. Persistent artifacts stay unless include_persistent=true.
| Name | Required | Description | Default |
|---|---|---|---|
| include_persistent | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description adequately discloses the destructive behavior (deleting disposable entries) and the conditional inclusion of persistent artifacts. It does not mention potential side effects or authorization requirements, but for a simple cache-clear operation, the level of transparency is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only two sentences, front-loading the action and key constraint. Every word serves a purpose, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (single boolean parameter, no output schema), the description covers the core behavior and parameter effect. It does not describe return values or confirmatilon, but these are standard and not critical for selection in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, leaving the 'include_persistent' parameter undocumented. The description compensates by explaining that setting it to true includes persistent artifacts, adding meaningful context beyond the schema defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes 'disposable cache entries' using the verb 'Delete' and specifies the resource. However, it does not explicitly differentiate from sibling 'cache_cleanup', which may have overlapping functionality, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use the 'include_persistent' parameter ('Persistent artifacts stay unless include_persistent=true'), but offers no guidance on when to use this tool versus related tools like cache_cleanup or cache_stats. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cache_statsB
Cache size, entry count, hits, misses, hit rate, and expired entries.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It merely lists metrics without confirming that the tool is read-only, what side effects (if any) exist, or whether it performs any cache maintenance. The absence of any behavioral detail beyond a stat list provides minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact list of terms that directly conveys the tool's return fields. It is front-loaded with the core information and has no filler. However, it is a fragment rather than a full sentence, which slightly reduces structure clarity but does not harm comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple stats tool with no parameters and no output schema, the description conveys the available metrics but omits any statement of the tool's overall effect (e.g., 'returns' or 'displays') and any caveats. It adequately lists items for a minimal tool but lacks a complete sentence and usage context, leaving it just at the adequate threshold.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool accepts zero parameters, so the input schema is empty. The description needs no parameter clarification, and the baseline for no parameters is 4. The description correctly focuses on the output content, which is the relevant information for invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description enumerates the specific statistical fields (cache size, entry count, hits, misses, hit rate, expired entries), making it clear the tool provides cache statistics. However, it lacks an explicit verb like 'retrieves' or 'returns', and it doesn't differentiate from sibling tools such as cache_cleanup or cache_clear, though its purpose is evident from the name and content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not state that this is for inspection as opposed to cache_cleanup or cache_clear, nor does it mention any preconditions or complementary tools. This leaves the agent without explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_batchB
Run independent local tasks in parallel. One failure does not cancel the batch.
| Name | Required | Description | Default |
|---|---|---|---|
| tasks | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It usefully notes that one failure does not cancel the batch. However, it omits other critical behaviors such as how results are returned, whether tasks share state, or any execution limits, leaving significant gaps for a tool that manages parallelism.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using only two sentences. Every sentence provides distinct value: the first states the core purpose, the second adds a critical behavioral trait. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's simple parameter set, the description is incomplete. It does not explain the return format, error propagation beyond non-cancellation, or any constraints on parallelism. With no output schema and no parameter descriptions, the agent lacks sufficient information to invoke the tool correctly in a complex workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage and the description does not explain the 'tasks' parameter beyond stating it runs tasks in parallel. It fails to clarify what each object in the array should contain (e.g., same fields as delegate_task input). This is a major omission that forces the agent to guess the parameter's structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs tasks in parallel, using the verb 'Run' and resource 'independent local tasks.' It distinguishes from the sibling 'delegate_task' by emphasizing parallelism and independence. However, it does not explicitly define what constitutes a 'local task,' relying on the schema's generic array of objects, which slightly reduces specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for parallel independent tasks, but it provides no explicit guidance on when to choose this tool over siblings like 'delegate_task' (single task) or 'delegate_file'/'delegate_pdf' (specialized tasks). The absence of when-not-to-use or alternative recommendations leaves the agent to infer context from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_fileC
Have the local worker read a file (txt/md/csv/json/code/log) without loading it into frontier context.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| objective | Yes | ||
| persistent | No | ||
| output_mode | No | structured | |
| force_refresh | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions reading a file without loading into frontier context, but omits critical behavioral details: the worker processes the file based on an 'objective' (not just reading), the output_mode parameter controls return format, and the 'persistent' and 'force_refresh' options affect caching. The agent learns little about what happens or what to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 18 words, which is very concise. However, conciseness is achieved at the expense of essential information. While there is no wasted text, the description is under-specified and does not earn its place by being informative enough.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (including required ones), no output schema, and no annotations, the description is grossly incomplete. It fails to explain the tool's full behavior, parameter roles, return value, or caching semantics. The agent cannot safely invoke this tool without additional guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description explains none of the five parameters. It does not mention that 'path' is the file location, 'objective' is the task, 'output_mode' controls output format, 'persistent' caches results, or 'force_refresh' bypasses cache. The agent must guess or rely on parameter names, which is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'read' and the resource 'a file (txt/md/csv/json/code/log)'. It also distinguishes from reading that loads into frontier context, and from sibling tools like delegate_pdf (different file type) and delegate_task/batch (task delegation). The purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description hints at when to use (when you want to avoid loading into frontier context) but does not explicitly state when not to use or provide alternatives. It lacks guidance on comparing with sibling tools like delegate_task or cache tools. The advice is implicit, not actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_pdfC
Extract, chunk, and analyze a PDF locally. Returns compact findings with page evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| objective | Yes | ||
| persistent | No | ||
| output_mode | No | analysis | |
| force_refresh | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'locally' (suggesting no network call) and 'returns compact findings with page evidence', but does not disclose whether the operation is read-only, destructive, requires permissions, or has side effects (e.g., caching). The term 'delegate' is ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence with essential front-loaded information. Every word contributes to purpose and outcome. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, 0% schema coverage, no output schema, no annotations), the description is insufficient. It omits return format, side effects, error conditions, and parameter meanings. The tool appears non-trivial (analysis with caching) but the description does not enable proper invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate but does not. It mentions 'extract, chunk, and analyze' but fails to map parameters (path, objective, persistent, output_mode, force_refresh) to these actions. The agent cannot infer how to set 'output_mode' to get different results or what 'persistent' means.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Extract, chunk, and analyze') and resource ('PDF locally'), clearly stating what the tool does. It distinguishes itself from sibling tools like delegate_task or delegate_batch by focusing on PDF analysis, though it could be more explicit about how it differs from delegate_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives or context for choosing this tool over siblings like delegate_file or delegate_task. The agent receives no help in deciding when to invoke this tool vs others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_taskC
Delegate a mechanical task to the local worker. Returns compact structured output.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| objective | Yes | ||
| persistent | No | ||
| force_refresh | No | ||
| expected_output | No | ||
| max_output_tokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It only says "Returns compact structured output" without explaining what happens (e.g., is this async? Does it block? Does it modify state? What about error cases?). The behavioral traits are severely under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (two senteces) and front-loaded with the action. It is concise, but this brevity comes at the cost of missing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters (1 required), no output schema, no annotations, and sibling delegation tools, the description is incomplete. It provides almost no information about how to use the tool correctly or what the output format is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning no parameters have descriptions. The description only mentions "compact structured output" but gives no insight into what the parameters mean, how they affect behavior, or any semantics beyond the schema names. For 6 parameters, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states "Delegate a mechanical task to the local worker" which gives a verb and resource, but 'mechanical task' and 'local worker' are vague. It does not clearly distinguish itself from siblings like delegate_batch or delegate_file, which sound like similar delegation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With siblings like delegate_batch and delegate_file, the agent has no basis to choose between them. No when-to-use, when-not-to-use, or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
local_statusA
Check local worker health: provider, endpoint, model, circuit breaker, cache.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses what components are checked, which is transparent. However, it does not explicitly state whether the operation is read-only, has no side effects, or requires any authentication. A health check is likely safe, but the description does not confirm this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the purpose ('Check local worker health') and then lists the components. Every word is functional; no redundant or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there are no parameters and no output schema, the description is mostly complete. It informs the agent what the tool checks. However, it does not hint at the return format (e.g., a status object per component). For a health check tool, specifying the output structure would be beneficial, but the current description is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%. The description adds value beyond the empty schema by listing the specific health aspects checked, which helps the agent understand what the tool inspects. No further parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool checks local worker health and lists specific components (provider, endpoint, model, circuit breaker, cache). This provides a clear verb-resource pair and distinguishes it from sibling tools like delegate_task or cache_stats, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the purpose is clear enough that an agent can infer it's for health checks, the description does not mention when to use it or when to prefer siblings (e.g., delegate_task for delegation, cache_stats for cache status). Usage is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
8 tool updates
v0.1.0- First observed
cache_cleanup - First observed
cache_clear - First observed
cache_stats - First observed
delegate_batch - First observed
delegate_file - First observed
delegate_pdf - First observed
delegate_task - First observed
local_status
TDQS
Each tool has a clear, distinct purpose: health check, task delegation, batch processing, file reading, PDF analysis, cache statistics, cleanup, and clearing. There is no overlap in functionality, making it easy for an agent to select the appropriate tool.
All tool names follow a consistent verb_noun pattern (e.g., local_status, delegate_task, cache_stats). The naming is predictable and clear, with verbs like 'delegate' and 'cache' used consistently to indicate the action and domain.
With 8 tools, the count is appropriate for the server's purpose of managing a local worker and its cache. The scope is well-defined without being too thin or overly broad.
The tool surface covers the key operations: health checks, task delegation (including batch and file processing), and cache management (stats, cleanup, clear). A minor gap is the lack of a tool to update or cancel a delegated task, but the core workflows are well supported.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Reduces AI Agent token usage by 40% via three-stage SOP workflow.
Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 38 tools.
150+ vertical AI expert bots as agent tools. $1 bots run on YOUR machine - your data stays yours.
Shared distillation cache for AI agents — every fetch ~73-89% fewer tokens via a shared cache.
Related MCP Servers
- AlicenseAqualityDmaintenanceOptimizes token costs by intelligently delegating low-complexity tasks to local LLMs via LiteLLM, enabling cost-effective development workflows.31MIT
- AlicenseAqualityBmaintenanceOffloads cheap work from cloud LLM agents to a local Ollama model, reducing costs and keeping frontier models focused on complex tasks.83MIT
- AlicenseBqualityCmaintenanceEnables coding agents like Claude Code and Codex to offload boilerplate generation, summarization, and other bounded text tasks to local or cheap cloud LLMs, keeping the frontier agent in charge of judgment and code edits.92MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI to delegate boilerplate, drafts, tests, and refactors to free LLM providers, saving tokens and running tasks in parallel.428MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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