Skip to main content
Glama
subhangadirli

Kagi Translate MCP Server

Kagi Translate MCP Server

An MCP server that exposes Kagi Translate as tools for any MCP-compatible assistant. It is BYOK: set your own KAGI_API_KEY and the server calls Kagi’s Translate API over stdio.

Tools

  • translate_text - translate plain text or batch text inputs

  • translate_url - translate content fetched from a URL

  • proofread - proofread and correct text

Related MCP server: Kagi MCP Server

Requirements

  • Node.js 20 or newer

  • A Kagi API key in KAGI_API_KEY

Kagi’s translate service is currently in a free test period. If you need a key, email support@kagi.com.

Setup

npm install
cp .env.example .env

Edit .env and set your real API key:

KAGI_API_KEY=your_real_key_here

Build

npm run build

This compiles TypeScript into dist/.

Run

npm start

For local development with rebuilds:

npm run dev

This command builds once, watches src/ for changes, and restarts the server automatically.

Claude Desktop Configuration

Add the server to claude_desktop_config.json and point it at the built entry point:

{
  "mcpServers": {
    "kagi-translate": {
      "command": "node",
      "args": ["/absolute/path/to/kagi-translate-mcp/dist/index.js"],
      "env": {
        "KAGI_API_KEY": "your_real_key_here"
      }
    }
  }
}

If you prefer to keep secrets out of the config file, start Claude Desktop with KAGI_API_KEY already present in the environment and omit the env block.

Assumptions

The public Kagi docs page is authenticated, so this implementation assumes the confirmed quick-start request shape for translation and conservative optional fields for advanced controls. The code currently sends these payloads:

  • POST /api/translate with text or texts, source_lang, target_lang, and optional formality, gender, and context

  • POST /api/translate-url with url, source_lang, target_lang, and optional formality, gender

  • POST /api/proofread with text and optional language or target_lang

If Kagi’s authenticated docs differ on field names or response shapes, update src/kagi/types.ts and the tool request mapping in src/tools/.

Implementation Notes

  • All outbound Kagi requests go through src/kagi/client.ts.

  • Tool inputs are validated with Zod and inferred from the schemas.

  • Logging uses console.error only; stdout is reserved for MCP protocol traffic.

  • Each tool lives in its own file under src/tools/ and is registered from src/tools/index.ts.

Available Tools

3 tools
proofreadC

Proofread text with Kagi Translate.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
languageNo
target_langNo

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It merely states the action without explaining side effects, data handling, or limitations. No behavioral traits are revealed.

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

Conciseness2/5

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

The description is extremely short (one sentence), which is concise but not sufficient. It sacrifices necessary detail for brevity, failing to earn its place as a standalone definition.

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

Completeness1/5

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

Given the tool has three parameters, no output schema, and no annotations, the description is severely incomplete. It does not specify input expectations, output format, or example usage.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no parameter information. It does not explain the role of 'language' and 'target_lang' parameters, leaving the agent to guess.

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 clearly states the tool's purpose: proofreading text using Kagi Translate. It sets it apart from siblings 'translate_text' and 'translate_url' by using a different verb. However, it could be more specific about what 'proofread' entails.

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?

No usage guidelines are provided. The description does not indicate when to use this tool versus the translation tools, nor does it mention any prerequisites or context.

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

translate_textB

Translate text between languages using Kagi Translate.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description bears full burden. It does not disclose important behaviors like language detection, authentication needs, rate limits, or how the text input is provided (given zero parameters).

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 a single concise sentence with no extraneous information. It is efficiently structured for quick reading.

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?

Given no parameters, no output schema, and minimal description, the tool lacks sufficient context. The description does not specify input method, supported languages, or output format, leaving the agent underinformed.

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?

With zero parameters and 100% schema description coverage, baseline is 4. However, the description does not explain how to supply the text or configure the translation, so it does not fully compensate. Score 3.

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 action 'Translate text' and the resource 'text', with a specific service 'Kagi Translate'. It distinguishes itself from siblings 'proofread' and 'translate_url' by implying it handles arbitrary text translation.

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 no guidance on when to use this tool vs. siblings, such as 'proofread' or 'translate_url'. No exclusions or context for appropriate usage are given.

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

translate_urlC

Translate the content of a URL using Kagi Translate.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
source_langYes
target_langYes
formalityNo
genderNo

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided; description is minimal and does not disclose any behavioral traits beyond 'translate the content'. No details on navigation, restrictions, 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.

Conciseness3/5

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

Single sentence is concise but underspecified; lacks structure that adds value beyond the tool name.

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

Completeness1/5

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

With 5 parameters, no output schema, and no annotations, the description is severely incomplete. Missing guidance on language codes, formality, gender, and behavior.

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

Parameters1/5

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

Schema description coverage is 0%. The description does not explain any parameter's meaning, format, or constraints, leaving agents to infer from field names only.

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 it translates the content of a URL using Kagi Translate, with a specific verb and resource. It distinguishes from siblings like 'proofread' and 'translate_text'.

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?

No explicit guidance on when to use this tool versus siblings. Implies usage when URL content translation is needed, but lacks when-not or alternatives.

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. 3 tool updatesv0.1.1
    • First observedproofread
    • First observedtranslate_text
    • First observedtranslate_url

TDQS

B3.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: proofreading text, translating text, and translating a URL's content. There is no overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (proofread, translate_text, translate_url) using lowercase with underscores, making them predictable.

Tool Count5/5

Three tools is well-scoped for a translation/proofreading server. Each tool serves a necessary function without excess or deficiency.

Completeness5/5

The surface covers the core domain: text translation, URL translation, and proofreading. No obvious gaps given the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server integrating Perplexity AI's API to offer advanced search capabilities with support for multiple models and result configuration.
    1
    988 npm
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
    2
    518
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for managing Kaiten tasks through AI agents like Claude, enabling task retrieval, creation, updating, and time logging.
    14 npm
    2
    MIT