Skip to main content
Glama

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

ai_summarize

url/text, format?

Summarize a page or prose (paragraph or bullets)

ai_translate

text, target_langs

Translate to one or more languages in one call

ai_generate

prompt, context?

Generate text from a prompt

ai_rewrite

text, styles

Rewrite in one or more styles in one call

ai_proofread

text, language?

Correct and list fixes (language-aware)

ai_bullet

text, max?

Turn prose into a bullet list (optional cap)

ai_outline

text, depth?

Build a hierarchical outline (H1–Hdepth, default 3)

ai_classify

text, labels, strategy?

Classify into one label; overflow: truncate or vote

ai_extract

text, fields

Extract fields as JSON

ai_qa

url/text, question

Answer a question about content (map-reduce for long texts)

ai_compare

text_a, text_b, focus?

Compare two texts

ai_email_draft

bullets, tone?

Draft an email from notes

ai_keywords

text, count?

Extract top keywords (default 10)

ai_sentiment

text

Sentiment analysis — label, confidence, summary

ai_title

text, count?

Generate title suggestions (default 5)

Observability & config tools

Tool

Input

What it does

ai_usage

Show today's request/error counts per provider/key

ai_reload_config

Reload ~/.config/ai-workers.json without restarting

ai_set_ttl

tool_name, ttl_ms

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:

  1. truncate — classify the first 50 000 characters only

  2. vote — classify each chunk independently, return the majority label

  3. 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.json

Get 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.sh

Windows (Claude Code on Windows, server in WSL):

.\setup.ps1

The 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

ai_summarize, ai_qa

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 build

Then reload Claude Code (or use ai_reload_config if only the JSON config changed).

Available Tools

12 tools
ai_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPlain text to extract bullet points from

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the use of a 'configured free LLM' and input restrictions, but does not disclose traits like idempotency, failure modes, or rate limits, which are gaps for a text-processing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences with zero fluff. The first sentence covers purpose and mechanism, the second adds necessary constraints. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 parameter, no output schema, no annotations), the description is fairly complete. It explains input format, output format (markdown bullet list), and constraints. However, it lacks details on edge cases like large text handling or bullet nesting, leaving minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter description is adequate, but the tool description adds value by explicitly restricting input to 'Plain prose only — no code, secrets, or file paths', which goes beyond the schema's 'Plain text' description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Extract key points', the resource 'plain text', and the output format 'markdown bullet list'. It also specifies constraints ('using a configured free LLM', 'Plain prose only'), clearly distinguishing from siblings like ai_summarize or ai_outline.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context by stating that the tool is for plain prose and explicitly excluding code, secrets, or file paths. However, it does not name alternative siblings when those constraints are violated, leaving some guidance implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPlain text to classify
labelsYesList of category labels to classify into

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must disclose behavior. Mentions 'configured free LLM' but lacks details on latency, cost, or determinism. Does not describe output format or error handling for invalid inputs. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences only. First states core purpose, second adds key constraint. No filler, front-loaded with critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter classification tool with no output schema, description covers purpose and input constraints. Missing details like output format (single label vs confidence scores) and label limits, but mostly complete given simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds 'plain prose' constraint for text and 'provided labels' for labels, but these are largely implicit in the schema. Does not add significant new meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states classification of plain text into provided labels using an LLM. It specifies the verb 'classify' and resource 'plain text', and distinguishes from siblings like ai_generate or ai_summarize by focusing on categorization.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit constraint 'Plain prose only — no code, secrets, or file paths', guiding appropriate input. Does not explicitly mention when to use vs alternatives, but context suggests it's for categorization tasks distinct from other AI tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
text_aYesFirst text
text_bYesSecond text
focusNoOptional aspect to focus the comparison on, e.g. 'tone', 'structure'

TDQS

B3.4/5.0
Behavior2/5

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 mentions using 'a configured free LLM' but does not explain how the comparison is performed, whether results are deterministic, or what happens with large texts. Key behavioral context is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loads the purpose, and contains no extraneous information. Every word serves a clear function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite moderate tool complexity and no output schema, the description does not explain the return format or how results are presented. Key details about behavior (e.g., output structure) are missing, leaving the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all three parameters (100% coverage). The description adds 'Plain prose only' as a constraint on the text inputs, which provides some additional context beyond the schema, but not enough to raise the score above the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: compare two plain texts and highlight similarities/differences. The verb 'compare' and resource 'plain texts' are explicit, and the purpose distinguishes it from sibling tools (e.g., ai_summarize, ai_rewrite) which do different tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a specific content restriction ('Plain prose only — no code, secrets, or file paths'), but does not explicitly state when to use this tool versus alternatives or mention any prerequisites or conditions. The guidance is useful but incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai_email_draftA

Draft an email body from bullet points using a configured free LLM. Plain prose only — no code, secrets, or file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
bulletsYesBullet points as a string or array of strings
toneNoEmail tone, e.g. 'professional', 'friendly', 'assertive'. Defaults to 'professional'.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description adds context about using a 'configured free LLM' and output constraints ('plain prose'), but does not disclose behavior like rate limits, auth needs, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. Front-loaded with the core action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 params and no output schema, the description covers the purpose, input, and key constraint. Might miss return format (e.g., whether it returns plain body or includes subject), but is generally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters are described in the schema. The description does not add significant meaning beyond what the schema provides, just reiterates the prose constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool drafts an email body from bullet points, with a specific verb ('draft') and resource ('email body'). It distinguishes from sibling tools by focusing on email drafting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a constraint ('Plain prose only — no code, secrets, or file paths') but lacks explicit when-to-use or when-not-to-use compared to alternatives like ai_generate or ai_summarize.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai_extractA

Extract named fields from plain text as JSON using a configured free LLM. Plain prose only — no code, secrets, or file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPlain text to extract from
fieldsYesField names to extract, e.g. ['author', 'date', 'title']

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses it uses a free LLM and returns JSON, and restricts input to plain prose. It doesn't detail potential state changes, rate limits, or auth needs, but for a read-like extraction this is acceptable. Adds moderate behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. The action and constraints are front-loaded. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward tool with no output schema, the description covers core functionality and constraints. It doesn't explain return value structure, but that's acceptable per rules. Could be slightly more complete with an explicit note about output format, but it's already implied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds an example for fields parameter ('e.g. ['author', 'date', 'title']'), which provides some additional clarity beyond the schema. Baseline 3 is appropriate as the description does not significantly extend the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'extract', resource 'named fields from plain text', and output format 'as JSON'. It distinguishes from sibling tools by specifying a very different operation (extracting fields) vs. summarizing, classifying, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear input constraints: 'Plain prose only — no code, secrets, or file paths.' This helps the agent decide when to use this tool and when to choose another. However, no explicit mention of alternatves among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai_generateA

Generate text from a prompt using a configured free LLM. Plain prose only — no code, secrets, or file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesGeneration prompt (plain prose, no code)
contextNoOptional system context (plain prose, no code)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It mentions using a 'configured free LLM', which implies a model-based API with no side effects, but lacks details on latency, quotas, or idempotency. The constraint on input types is helpful but behavioral traits are minimally disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences. The first sentence states the core action and model, the second adds critical constraints. Every word is necessary; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description could have explained return format or usage considerations. It covers the purpose and input constraints adequately but leaves out behavioral details like whether the LLM is stateless or if there are rate limits. For a simple generation tool, it is minimally sufficient but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters documented. The description adds context by reinforcing the 'plain prose' constraint across both parameters, going beyond the schema descriptions. However, it does not elaborate on the 'context' parameter's role beyond being optional system context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Generate text from a prompt' with specific verb and resource. It distinguishes from sibling tools like ai_summarize and ai_rewrite by emphasizing general generation without specialized constraints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly bounds usage to 'plain prose only — no code, secrets, or file paths', providing clear constraints. While it doesn't directly compare to siblings, the sibling list implies this is for free-form generation when specific tasks (e.g., summarization) are not needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai_outlineA

Create a hierarchical markdown outline from plain text using a configured free LLM. Plain prose only — no code, secrets, or file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPlain text to outline

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the use of a 'configured free LLM', which implies variability but does not detail potential costs, latency, or error handling. It sets input constraints but does not disclose behavior on invalid inputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. The first sentence states the core purpose and method; the second sentence adds critical constraints. Every word earns its place, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the purpose, input type, and constraints. It does not explicitly describe the output format (hierarchical markdown) but this is implied by the purpose. Slight gap in not mentioning that the outline is returned as markdown.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter 'text' with a minimal description. The tool description adds value by specifying acceptable input ('Plain prose only') and prohibiting certain content, which is not in the schema. Baseline is 3 due to 100% schema coverage, but the extra guidance merits a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a hierarchical markdown outline'), the input type ('plain text'), and the method ('using a configured free LLM'). It differentiates from siblings like ai_bullet or ai_summarize by specifying the output format and input constraints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool (for hierarchical outlines from plain text) and provides input restrictions ('Plain prose only — no code, secrets, or file paths'). However, it does not directly compare to sibling tools, leaving some ambiguity about when to choose this over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai_proofreadA

Proofread plain text and list corrections using a configured free LLM. Plain prose only — no code, secrets, or file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPlain text to proofread

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that a free LLM is used, implying third-party dependency and potential rate limits. It clarifies that the tool only lists corrections (no modification). It could mention if the tool is stateful or idempotent, but overall is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. The purpose is front-loaded, and the usage constraint is immediately provided. Every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 param, no output schema, no annotations), the description covers essential aspects: input type, constraints, and expected output. It does not specify output format or max input length, but these are minor gaps for a proofreading tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'text' has schema description 'Plain text to proofread', which matches the tool description. Since schema coverage is 100%, baseline is 3. The description adds no additional semantic detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Proofread plain text and list corrections' using a configured free LLM. This is a specific verb+resource combination, and it distinguishes itself from sibling tools like ai_rewrite or ai_summarize.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Plain prose only — no code, secrets, or file paths.' This tells the agent when not to use the tool, but it does not mention alternative tools for non-plain-text inputs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL to fetch
textNoPlain text to answer from
questionYesQuestion to answer based on the content

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions using a 'configured free LLM' and input constraints, but doesn't disclose if the operation is read-only, error handling, or rate limits. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences. The first sentence states the purpose, and the second adds critical usage constraints. Every word is necessary; no filler. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 params, 1 required, no output schema, and distinct sibling tools, the description covers the core functionality and key constraint. Missing return format or error behavior, but still sufficient for a simple Q&A tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with basic descriptions. The description adds the mutual exclusivity rule (url OR text) and the 'plain text only' restriction for the text parameter, which adds meaningful guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool answers a question about a URL or plain text. It uses specific verb+resource (answer a question) and distinguishes from siblings like ai_summarize or ai_translate, which are different tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to pass url OR text (not both) and restricts input to plain text with no code or secrets. While it doesn't compare with siblings, the constraints are clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai_rewriteB

Rewrite plain text in a given style using a configured free LLM. Plain prose only — no code, secrets, or file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPlain text to rewrite
styleYesTarget style, e.g. 'formal', 'casual', 'concise', 'technical'

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description discloses it uses a 'free LLM', implying non-deterministic behavior. It only provides the 'plain prose only' constraint, but lacks details on performance, idempotency, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, each adding unique value. It front-loads the action and resource, and every word is purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema, the description covers the core functionality and input constraints. However, it misses any indication of output format or return value, which is a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive parameter names and examples for 'style'. The description adds the 'plain prose only' constraint, but does not significantly enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Rewrite' and the resource 'plain text', with a specific constraint 'plain prose only'. It clearly distinguishes from sibling tools like ai_summarize or ai_translate, but does not explicitly differentiate them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides input constraints ('no code, secrets, or file paths') but offers no guidance on when to use this tool versus alternatives like ai_bullet or ai_email_draft. There is no mention of when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL to fetch and summarize
textNoPlain text to summarize

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Mentions it uses a 'configured free LLM' and implies URL fetching, but does not detail limitations (e.g., content length, rate limits) or behavior on invalid inputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with action, no unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema or annotations, the description is mostly complete. It could mention what the summary returns (e.g., a string), but the behavior is implied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions. The description adds mutual exclusivity constraint ('url OR text, not both') and a content restriction ('plain text only'), which add value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: summarizing a URL or plain text using a configured free LLM. It specifies input options (url or text, not both) and distinguishes from siblings by focusing on summarization.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states to pass url OR text (not both) and restricts to plain text only (no code/secrets). Provides clear context but does not explicitly compare to sibling tools or discuss when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ai_translateA

Translate plain text to a target language using a configured free LLM. Plain prose only — no code, secrets, or file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesPlain text to translate
target_langYesTarget language, e.g. 'French', 'Japanese'

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It mentions 'using a configured free LLM' but does not disclose side effects, rate limits, error behavior, or processing implications beyond the basic function.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no wasted words. It front-loads the main purpose and adds a clarifying constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema and no annotations, the description covers the core functionality and input constraints. However, it omits output format details and behavior on unsupported languages.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 adds 'Plain prose only' as an input constraint but does not add significant detail beyond the schema for either parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'translate', the resource 'plain text', and the target 'target language'. It also distinguishes from sibling tools by specifying 'plain prose only' and 'using a configured free LLM'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a constraint ('plain prose only — no code, secrets, or file paths') but does not explicitly compare to alternatives or give when-to-use vs when-not-to-use guidance relative to sibling tools.

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.

  1. 12 tool updatesv0.2.0
    • First observedai_bullet
    • First observedai_classify
    • First observedai_compare
    • First observedai_email_draft
    • First observedai_extract
    • First observedai_generate
    • First observedai_outline
    • First observedai_proofread
    • First observedai_qa
    • First observedai_rewrite
    • First observedai_summarize
    • First observedai_translate

TDQS

A3.9/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityStale
ResponsivenessNo issues

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

Related MCP Servers

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/basttran/ai-workers-mcp'

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