local-model-suitability-mcp
Provides integration with LangChain through the MultiServerMCPClient to access the local model suitability tool.
Allows integration with LangGraph (via LangChain MCP adapters) to use the local model suitability tool.
Enables integration with the OpenAI Agents SDK using HostedMCPTool to access the local model suitability tool.
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-model-suitability-mcpCan I run this summarization locally?"
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 Model Suitability MCP
Cloud inference is expensive. Everything that can run locally should.
This MCP server tells your agent — before every cloud API call — whether the task can be handled by a local model instead. Route to Ollama, LM Studio, or llama.cpp when you can. Only pay for cloud when you must.
The Tool
check_local_viability
Call this BEFORE every cloud inference call. If verdict is LOCAL, skip the cloud call entirely and route to your local model. Only use cloud when this tool returns CLOUD.
Inputs:
Field | Required | Description |
| ✅ | The exact task you are about to send to a cloud model |
| Optional |
|
| Optional |
|
CONFIDENTIAL forces LOCAL regardless of task complexity — data never leaves the machine.
Response:
{
"verdict": "LOCAL",
"confidence": "HIGH",
"reason": "Simple text summarisation — no reasoning depth required. Any 7B+ local model handles this well.",
"estimated_cost_saving": "$0.002-0.008 saved per call at claude-sonnet pricing",
"recommended_local_models": ["llama3.2:8b", "mistral-7b", "phi3:medium"],
"cloud_justified_reason": null,
"analysis_type": "AI-powered cost routing — NOT a simple lookup"
}Related MCP server: local-llm-delegation-mcp
Data Sources
AI reasoning: Anthropic Claude (claude-sonnet) — cost routing analysis
No external data sources — pure AI reasoning
Pricing
Plan | Calls | Price |
Free | 20/month | $0 |
Starter | 500-call bundle | $20 |
Pro | 2,000-call bundle | $70 |
Setup
{
"mcpServers": {
"local-model-suitability": {
"command": "npx",
"args": ["-y", "local-model-suitability-mcp"],
"env": {
"ANTHROPIC_API_KEY": "your-key",
"API_KEY": "your-lms-api-key-for-paid-tier"
}
}
}
}Free tier requires no API key — tracked by IP.
Harness Integration
Claude Code / Claude Desktop (.mcp.json)
{
"mcpServers": {
"local-model-suitability": {
"type": "http",
"url": "https://local-model-suitability-mcp-production.up.railway.app"
}
}
}LangChain (Python)
from langchain_mcp_adapters.client import MultiServerMCPClient
client = MultiServerMCPClient({
"local-model-suitability": {
"url": "https://local-model-suitability-mcp-production.up.railway.app",
"transport": "http"
}
})
tools = await client.get_tools()OpenAI Agents SDK (Python)
from agents import Agent, HostedMCPTool
agent = Agent(
name="Assistant",
tools=[HostedMCPTool(tool_config={
"type": "mcp",
"server_label": "local-model-suitability",
"server_url": "https://local-model-suitability-mcp-production.up.railway.app",
"require_approval": "never"
})]
)LangGraph
Same as LangChain above — langchain-mcp-adapters works with LangGraph natively.
Legal
Results are for cost-optimisation guidance only and do not constitute technical advice. Full terms: kordagencies.com/terms.html
Available Tools
1 toolcheck_local_viabilityAInspect
Checks whether a task can be handled by a local model instead of a cloud API. Call this BEFORE your agent routes any task to a cloud model — at the moment a task is ready to be sent and the model has not yet been selected. Use this when your agent is about to make a cloud inference call and wants to determine whether a local model could handle it at lower cost. Returns LOCAL/CLOUD/EITHER verdict with recommended model. If verdict is LOCAL, skip the cloud call entirely — saves cost on every routable inference call. Pass data_sensitivity=CONFIDENTIAL to force LOCAL verdict for tasks that must not leave the machine. Do not route to cloud without checking local viability first.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | The exact task you are about to send to a cloud model. Be specific — include what the input is and what output you need. | |
| data_sensitivity | No | CONFIDENTIAL forces LOCAL verdict regardless of task complexity — data must not leave the machine. Defaults to PUBLIC. | |
| quality_threshold | No | PRODUCTION = output quality matters and errors are costly. PROTOTYPE = approximate results acceptable. BEST_EFFORT = speed and cost trump quality. Defaults to PRODUCTION. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | |
| verdict | Yes | |
| checked_at | Yes | |
| confidence | Yes | |
| _disclaimer | Yes | |
| analysis_type | No | |
| data_sensitivity | No | |
| estimated_cost_saving | No | |
| cloud_justified_reason | No | Non-null only when verdict is CLOUD |
| task_quality_threshold | No | |
| recommended_local_models | No | Present when verdict is LOCAL or EITHER |
| data_sensitivity_override | No | Present only when data_sensitivity=CONFIDENTIAL forced a LOCAL verdict |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It goes beyond a simple summary by explaining the return format (LOCAL/CLOUD/EITHER verdict with recommended model), the side effect of a LOCAL verdict (skip the cloud call entirely), and the special behavior of the data_sensitivity parameter (CONFIDENTIAL forces LOCAL). This is rich, actionable context that fully informs the agent of the tool's runtime behavior.
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 appropriately sized for the tool's complexity. Every sentence adds value: it states the purpose, the optimal calling time, the return type, the cost-saving action, and the force mechanism. The only minor redundancy is the two sentences about calling 'BEFORE' routing, but this emphasis is arguably intentional to prevent misuse. It is well-structured and front-loaded.
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 no sibling tools and a comprehensive output schema, the description covers all essential aspects: what it does, when to call it, what it returns, how to force LOCAL, and the general rule to always check. The output schema handles return structure, while the description supplies the surrounding context. Nothing is left ambiguous.
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 100%, so the baseline is 3. The description does not add meaningful semantic detail beyond the schema: the data_sensitivity behavior (CONFIDENTIAL forces LOCAL) is already fully described in the schema, and the task and quality_threshold parameters are likewise already well-documented. No additional guidance is needed, but also none is provided, so it stays at baseline.
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 opens with a clear, specific action: 'Checks whether a task can be handled by a local model instead of a cloud API.' This distinguishes it from the alternative (cloud routing) and states the tool's core function unambiguously. It also names the exact output ('LOCAL/CLOUD/EITHER verdict with recommended model'), leaving no doubt about its purpose.
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 gives explicit, imperative guidance: 'Call this BEFORE your agent routes any task to a cloud model' and 'Do not route to cloud without checking local viability first.' It also specifies the precise moment to invoke the tool ('at the moment a task is ready to be sent and the model has not yet been selected') and the rationale (cost savings). This leaves no ambiguity about when to use it.
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.
1 tool update
v1.1.29- First observed
check_local_viability
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion between tools.
The single tool follows a clear verb_noun pattern (check_local_viability), which is consistent and readable.
A single tool is too few for a server with the stated purpose; users would expect additional tools for managing local model configurations or listing available models.
The server only provides a viability check, lacking tools for model listing, configuration, or feedback, which are natural extensions of the domain.
Maintenance
Related MCP Connectors
Cost-optimized LLM model routing recommendations for autonomous AI agents
Decision-only prompt routing and firewall checks for local/cloud routing, PII and jailbreak risk.
AI model routing on your own vendor keys: pick the best model per prompt, or route and run it.
Sourced AI-model pricing and capability data — compare and route to the cheapest capable model.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude to delegate coding tasks to local Ollama models, reducing API token usage by up to 98.75% while leveraging local compute resources. Supports code generation, review, refactoring, and file analysis with Claude providing oversight and quality assurance.33024AGPL 3.0
- AlicenseAqualityDmaintenanceOptimizes token costs by intelligently delegating low-complexity tasks to local LLMs via LiteLLM, enabling cost-effective development workflows.31MIT
- FlicenseAqualityDmaintenanceRoutes commodity NLP tasks like summarization and translation to free-tier LLMs, saving Claude tokens for complex work.12-
- AlicenseAqualityCmaintenanceOffloads cheap work from cloud LLM agents to a local Ollama model, reducing costs and keeping frontier models focused on complex tasks.83MIT