ai-workers-mcp
This server routes commodity NLP tasks to free-tier LLMs, saving premium AI tokens for more complex work. Key capabilities include:
Summarize (
ai_summarize): Summarize a URL or text into paragraph or bullet formatTranslate (
ai_translate): Translate text into one or more target languagesGenerate (
ai_generate): Generate text from a prompt with optional system contextRewrite (
ai_rewrite): Rewrite text in various styles (formal, casual, concise, etc.)Proofread (
ai_proofread): Correct grammar/spelling and list fixes, with language awarenessBullet Points (
ai_bullet): Convert prose into a markdown bullet listOutline (
ai_outline): Build a hierarchical markdown outline from textClassify (
ai_classify): Classify text into provided labels with truncate or vote overflow strategiesExtract (
ai_extract): Extract named fields from text as structured JSONQ&A (
ai_qa): Answer questions about a URL or text, with automatic map-reduce for long contentCompare (
ai_compare): Compare two texts with optional focus on a specific aspectEmail Draft (
ai_email_draft): Draft an email from bullet-point notes with configurable toneKeywords & Sentiment: Extract keywords or analyze sentiment
Title Suggestions: Generate title options for text
Monitor Usage: View daily request/error counts per provider/key
Reload Configuration: Dynamically reload config without restarting
Override Cache TTL: Adjust cache settings per tool at runtime
Additional features: handles texts up to 50,000 characters with auto-chunking, supports multi-provider round-robin with automatic fallback, and filters sensitive patterns (e.g., credentials) before sending to LLMs.
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., "@ai-workers-mcp translate 'Hello, how are you?' to French"
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.
ai-workers-mcp
MCP server that routes commodity NLP tasks (summarize, translate, rewrite, proofread, …) to free-tier LLMs, saving Claude tokens for work that actually needs them. Multi-provider, multi-account, with round-robin, automatic fallback, in-memory caching, and daily usage tracking.
Tools
All exposed as ai_* MCP tools and as /<verb>-ai slash commands.
NLP tools
Tool | Input | What it does |
|
| Summarize a page or prose ( |
|
| Translate to one or more languages in one call |
|
| Generate text from a prompt |
|
| Rewrite in one or more styles in one call |
|
| Correct and list fixes (language-aware) |
|
| Turn prose into a bullet list (optional cap) |
|
| Build a hierarchical outline (H1–H |
|
| Classify into one label; overflow: |
|
| Extract fields as JSON |
|
| Answer a question about content (map-reduce for long texts) |
|
| Compare two texts |
|
| Draft an email from notes |
|
| Extract top keywords (default 10) |
|
| Sentiment analysis — label, confidence, summary |
|
| Generate title suggestions (default 5) |
Observability & config tools
Tool | Input | What it does |
| — | Show today's request/error counts per provider/key |
| — | Reload |
|
| Override cache TTL for a tool at runtime |
Every response carries a provider/model banner: 🔷 **gemini · gemini-2.5-flash** ────.
Large-text support
All text tools auto-chunk inputs over 50 000 characters and merge results (map-reduce for summarize/qa, chunk-outline-merge for outline, majority-vote or truncate for classify, per-field merge for extract, concatenation for others). No manual splitting needed.
Related MCP server: tokens-saver-mcp
Slash commands
Each NLP tool has three slash-command variants (48 total, in .claude/commands/):
/<verb>-ai— result shown in chat (with banner)/<verb>-ai-replace— replaces the editor selection/<verb>-ai-append— inserts the result after the selection
NLP verbs: generate, summarize, translate, rewrite, proofread, list, outline, classify, extract, ask, compare, draft, keywords, sentiment, title.
Observability verbs (chat only): usage, check-limits, configure.
Input priority: argument › editor selection › clipboard › interactive prompt.
Multi-value arguments use / as separator:
/translate-ai en/es/nl→ translates into English, Spanish, and Dutch in one call/rewrite-ai formal/concise→ returns both rewrites in one response
Overflow handling
For very long inputs (> 50 000 chars), slash commands for classify ask which strategy to use:
truncate — classify the first 50 000 characters only
vote — classify each chunk independently, return the majority label
skip — cancel
/ask-ai and /outline-ai handle overflow automatically (map-reduce and chunk-outline-merge respectively).
Setup
1. Configure providers & keys
Copy the example and add your key(s):
cp ai-workers.example.json ~/.config/ai-workers.json
chmod 600 ~/.config/ai-workers.json
# edit ~/.config/ai-workers.jsonGet a free Gemini key at aistudio.google.com. Use gemini-2.5-flash (free tier). Add more keys to multiply your free quota, or add Groq/Mistral/OpenRouter blocks to order for cross-provider fallback.
2. Install (cross-platform)
macOS / Linux / inside WSL:
./setup.shWindows (Claude Code on Windows, server in WSL):
.\setup.ps1The installer builds the server, deploys the slash commands to your user scope, and registers the MCP server in your Claude Code config.
3. Reload Claude Code
Run /mcp to confirm ai-workers is connected.
Portability
The core (src/**) is plain Node — runs identically on macOS, Linux, WSL, and Windows. The only platform-specific glue is the per-machine MCP registration, handled by the two setup scripts. Secrets live solely in ~/.config/ai-workers.json (resolved via homedir()), never in the Claude config.
Privacy
A rules-based filter runs before any text leaves your machine. It blocks file paths, code patterns, and credential patterns (sends nothing, returns an error), and warns on emails/phone numbers (prepends a notice, still sends). Keep inputs plain prose.
Configuration reference
~/.config/ai-workers.json — read once at server start (use /configure-ai reload or ai_reload_config to apply changes live):
{
"order": ["gemini", "groq", "mistral"],
"providers": {
"gemini": {
"baseURL": "https://generativelanguage.googleapis.com/v1beta/openai/",
"model": "gemini-2.5-flash",
"keys": ["KEY_1", "KEY_2"],
"dailyLimit": 1000
},
"groq": {
"baseURL": "https://api.groq.com/openai/v1/",
"model": "llama-3.3-70b-versatile",
"keys": ["YOUR_GROQ_KEY"],
"dailyLimit": 1000
},
"mistral": {
"baseURL": "https://api.mistral.ai/v1/",
"model": "mistral-small-latest",
"keys": ["YOUR_MISTRAL_KEY"],
"dailyLimit": 1000
}
}
}Round-robin rotates across a provider's keys; 429 triggers escalating cooldown (60s → 1h), 401/403 a long cooldown, then falls through to the next provider in order. Falls back to the GEMINI_API_KEY env var if no config file exists.
Caching
Text and URL results are cached in memory per tool:
Tool | Default TTL |
| 1 hour |
all others | 5 minutes |
Override at runtime: /configure-ai ttl <tool> <ms> or call ai_set_ttl directly.
Usage tracking
Every LLM call is recorded to ~/.config/ai-workers-usage.json (per-key ok/error counts, reset at Pacific midnight). Run /usage-ai or call ai_usage to see today's table.
Rebuilding after changes
npm run buildThen reload Claude Code (or use ai_reload_config if only the JSON config changed).
Available Tools
12 toolsai_bulletA
Extract key points from plain text as a markdown bullet list using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: text (required).
ai_classifyA
Classify plain text into one of the provided labels using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: text (required), labels (required).
ai_compareB
Compare two plain texts and highlight similarities and differences using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: text_a (required), text_b (required), focus.
ai_email_draftA
Draft an email body from bullet points using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: bullets (required), tone.
ai_extractA
Extract named fields from plain text as JSON using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: text (required), fields (required).
ai_generateA
Generate text from a prompt using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: prompt (required), context.
ai_outlineA
Create a hierarchical markdown outline from plain text using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: text (required).
ai_proofreadA
Proofread plain text and list corrections using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: text (required).
ai_qaA
Answer a question about a URL or plain text using a configured free LLM. Pass url OR text (not both). Plain text only — no code or secrets.
Inputs: question (required), url, text.
ai_rewriteB
Rewrite plain text in a given style using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: text (required), style (required).
ai_summarizeA
Summarize a URL or plain text using a configured free LLM. Pass url OR text (not both). Plain text only — no code or secrets.
Inputs: url, text.
ai_translateA
Translate plain text to a target language using a configured free LLM. Plain prose only — no code, secrets, or file paths.
Inputs: text (required), target_lang (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Each tool has a clearly distinct purpose: bullet points, classification, comparison, email drafting, field extraction, free generation, outlining, proofreading, Q&A, rewriting, summarization, and translation. Overlap is minimal and descriptions effectively disambiguate.
All tools follow an ai_verb pattern (e.g., ai_bullet, ai_classify). The outlier is ai_email_draft, which uses a noun+verb combination, but the pattern is otherwise consistent.
With 12 tools, the set is well-scoped for a general-purpose LLM text processing server. It covers a broad range of common tasks without being overwhelming.
The tools cover most common text operations (generate, summarize, classify, translate, etc.). Minor gaps exist (e.g., sentiment analysis, grammar checking), but the core functionality is solid.
Maintenance
Related MCP Connectors
AI routing, memory, guardrails, and governance. Routes across Claude, GPT, Gemini.
Routes each LLM completion to the cheapest capable provider across 8 providers (BYOK).
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
- AlicenseAqualityDmaintenanceOptimizes token costs by intelligently delegating low-complexity tasks to local LLMs via LiteLLM, enabling cost-effective development workflows.31MIT
- FlicenseAqualityDmaintenanceRoutes narrow text-processing tools (classification, extraction, summarization, etc.) to budget models to reduce token consumption on the main model.7-
- AlicenseBqualityDmaintenanceRoute prompts intelligently across Claude, Gemini, and GPT-4o, automatically picking the best model for every task while minimizing token cost.523 npmMIT
- 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.-