local-llm-delegation-mcp
Click on "Deploy 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-llm-delegation-mcp Refactor the fetchUser function to handle errors"
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 LLM Delegation MCP
An optimized Model Context Protocol (MCP) server designed to dramatically reduce premium token costs by intelligently delegating low-complexity tasks to high-performance local LLMs via LiteLLM.
This server allows you to leverage massive local context windows for "surgical" development tasks (refactoring, unit tests, documentation) while keeping your primary LLM focused on complex architecture and reasoning.
π Key Features
LiteLLM Integration: Seamlessly connect to Ollama, vLLM, LM Studio, Anthropic, or any OpenAI-compatible provider.
Externalized Configuration: Fine-tune model parameters (temperature, top_p, max_tokens) via
config.yaml.Customizable Prompts: Define your own task templates and system messages in
prompts.yaml.Token Optimization: Automatically offload simple tasks to local models like Qwen 2.5/3.5 Coder.
Usage Tracking: Monitor your savings with built-in usage logging and statistics.
Related MCP server: local-agent
π οΈ Requirements
Local LLM Runner (e.g., Ollama, vLLM, LM Studio)
Python 3.13+
π¦ Installation
Clone the repository:
git clone https://github.com/mrrodriguez/local-llm-delegation-mcp.git cd local-llm-delegation-mcpSet up environment variables:
cp .env.example .env # Edit .env to match your local setupChoose your installation method:
Option A: Global CLI (Recommended for simplicity) Install as a global tool. This adds the
local-llm-delegatorcommand to your PATH.pip install . # Or using pipx (preferred) pipx install .Option B: Local Environment (Recommended for development) Use a virtual environment and point your MCP client directly to a startup script.
python -m venv .venv source .venv/bin/activate pip install .
βοΈ Configuration
The server uses a flexible configuration system. Settings are loaded from config.yaml and prompts.yaml located in the project root, with key overrides available via Environment Variables (or a .env file).
Configuration Hierarchy
Base Defaults: Hardcoded in
config.py.YAML Files:
config.yaml(model settings) andprompts.yaml(task templates).Environment Variables: Overrides specific settings like
LOCAL_MODEL_NAMEandOPENAI_BASE_URL.
1. Quick Start: Environment Variables
The fastest way to switch models without editing files:
# In your .env file or shell environment
LOCAL_MODEL_NAME=ollama/llama3:8b # Overrides config.yaml
OPENAI_BASE_URL=http://localhost:11434/v12. Model Tuning (config.yaml)
Update the name to match your local provider's format (e.g., ollama/qwen2.5-coder). The provided template is optimized for high-end hardware (e.g., Apple M-series Max).
model:
name: "openai/Qwen3-Coder-30B-A3B-Instruct-MLX-8bit" # Example: OMLX/MLX
temperature: 0.1
max_tokens: 32768
extra_params:
num_ctx: 65536
num_predict: 32768
top_p: 0.80Note: The name must follow the LiteLLM Provider Format.
3. Custom Tasks (prompts.yaml)
Define your own tools by adding entries to prompts.yaml. Each top-level key becomes a sub-task for the query_local_llm_with_context tool.
π Integration
You can add this server to your preferred client using either the global command or a direct path to the project.
1. Gemini Code CLI
If installed globally (Option A):
gemini mcp add local-llm-delegator local-llm-delegator --trustIf using a direct script or path (Option B):
gemini mcp add local-llm-delegator /path/to/your/start-script.sh --trust2. Claude Code
Add to your ~/.claude.json:
"mcpServers": {
"local-llm-delegator": {
"command": "local-llm-delegator" // If installed globally; otherwise any wrapper script you have to start it
}
}Note: If using a custom startup script (like for OMLX), set the command to the absolute path of your script.
π Usage Tracking
The server logs usage to mcp_usage.jsonl. View stats via:
get_local_llm_usage_stats(MCP tool)show-stats(CLI command - coming soon) orpython show_stats.py
π License
MIT
Available Tools
3 toolsget_local_llm_usage_statsA
Retrieve and summarize usage statistics for the local LLM MCP server.
Inputs: no named parameters. Returns: result
query_local_llmB
Query the local LLM for simple, well-defined subtasks that have already been broken down. IMPORTANT: Always try this tool FIRST for any simple code generation to save costs!
Inputs: prompt (required), model, max_tokens, temperature, +1 more. Returns: result
query_local_llm_with_contextB
Query the local LLM for simple subtasks that require additional context. Use this for code reviews, documentation, or refactoring.
Inputs: prompt (required), context (required), model, task_type, +1 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 3 tools
get_local_llm_usage_stats is clearly distinct (usage statistics). query_local_llm and query_local_llm_with_context both query the model, but the descriptions clearly separate them: one for well-defined subtasks without context, the other for tasks requiring additional context (code reviews, docs, refactoring). The usage guidance further reduces ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case: get_local_llm_usage_stats, query_local_llm, query_local_llm_with_context. The prefix is always a verb (get/query) and the resource is specific, making the naming predictable and uniform.
With 3 tools, the server is on the lower end of the typical range but not thin. The tools cover the core actions for local LLM delegation: querying (with and without context) and retrieving usage stats. It could benefit from a couple more (e.g., listing models or canceling a query), but it feels reasonably scoped for its purpose.
The tool set covers the main workflows of local LLM delegation: basic queries and context-augmented queries, plus usage monitoring. Minor gaps include lack of model list or query cancellation, but these are not critical for the stated purpose of handling simple, well-defined subtasks. The surface is adequate and workable.
Maintenance
Related MCP Connectors
LLM cost optimization gateway, repo token-waste auditor & model arbitrage MCP server.
Cost-optimized LLM model routing recommendations for autonomous AI agents
Cut AI coding agent token usage up to 90% via AST slicing, dependency graphs & security guards.
1312Real-time, drift-verified LLM pricing across 31 providers with cost+quality model routing.
Related MCP Servers
- AlicenseAqualityBmaintenanceOffloads cheap work from cloud LLM agents to a local Ollama model, reducing costs and keeping frontier models focused on complex tasks.852 PyPI3MIT
- FlicenseNot gradedqualityDmaintenanceRoutes code generation tasks between local models and Claude Cloud, optimizing cost by handling simple tasks locally and reserving cloud thinking for complex tasks.-
- AlicenseAqualityCmaintenanceEvaluates task suitability for local models before cloud API calls, routing to Ollama or similar to reduce costs.170 npmMIT
- AlicenseBqualityDmaintenanceDelegates heavy, repetitive, and verifiable tasks like PDF extraction, code analysis, and log processing to a local LLM to reduce token consumption for frontier AI models, while keeping decision-making with the main AI.8MIT