Skip to main content
Glama
oofengoo

MCP-Serve 多语言翻译服务

by oofengoo

translationI18n

Translate text between languages using the MCP-Serve multilingual translation service. This tool processes input text through external APIs for automatic language conversion and resource management.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputYes

Implementation Reference

  • The handler function for the translationI18n tool. It uses regex to find content between ## markers, prepares params, optionally translates to English if port==5500, calls geti18n API, replaces the markers with aliases, and returns a text content block.
    async ({ input }) => { // 匹配所有 ##...## 的内容 const regex = /##([\s\S]+?)##/g; let matches = input.matchAll(regex); let result = input; for (const match of matches) { const value = match[1]; if (!value) continue; let params: Record<string, any> = { language: 1, autoAlias: true, value: value, }; if (port === "5500") { params.valueEn = await TranslateToEn(value); } // 调用多语言接口 const alias = await geti18n(params); if (alias) { result = result.replace(match[0], alias); } } return { content: [ { type: "text", text: result, }, ], }; }
  • Input schema definition using Zod: expects a single string input.
    { input: z.string(), },
  • src/index.ts:13-49 (registration)
    Registration of the translationI18n tool on the McpServer instance.
    server.tool( "translationI18n", { input: z.string(), }, async ({ input }) => { // 匹配所有 ##...## 的内容 const regex = /##([\s\S]+?)##/g; let matches = input.matchAll(regex); let result = input; for (const match of matches) { const value = match[1]; if (!value) continue; let params: Record<string, any> = { language: 1, autoAlias: true, value: value, }; if (port === "5500") { params.valueEn = await TranslateToEn(value); } // 调用多语言接口 const alias = await geti18n(params); if (alias) { result = result.replace(match[0], alias); } } return { content: [ { type: "text", text: result, }, ], }; } );
  • Helper function that calls the /MultiLanguageResource/AddResource API to get the i18n alias for given params.
    async function geti18n(params: Record<string, any>) { const res = await http.post( "/MultiLanguageResource/AddResource", params, baseConfig ); if (res.Data) { return res.Data.ResourceAlias; } else { return ""; } }
  • Helper function that translates text to English via API, used conditionally in handler.
    async function TranslateToEn(text: string) { const res = await http.get( "/MultiLanguageResource/TranslateToEn", { text }, baseConfig ); return res; }

Other Tools

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/oofengoo/mcp-serve-learn'

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