{
  "markdown": "# 🌐 ResxMcp\n<p align=\"right\">🌏 <a href=\"README.zh-CN.md\">中文说明</a></p>\n\n> A lightweight MCP server for managing `.resx` localization files  \n> 一个用于管理 `.resx` 本地化资源文件的轻量级 MCP 服务器\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/badge/.NET-8.0-blue?logo=dotnet&logoColor=white\" alt=\".NET\" />\n  <img src=\"https://img.shields.io/badge/MCP-Compatible-success?logo=protocols.io\" alt=\"MCP Compatible\" />\n  <img src=\"https://img.shields.io/badge/Platform-Windows-green?logo=windows\" alt=\"Windows\" />\n  <img src=\"https://img.shields.io/badge/License-MIT-yellow\" alt=\"License\" />\n</p>\n\n---\n\n## 🎬 Visual Walkthrough\n**Editing multi-language `.resx` via Gemini CLI + ResxMcp**\n\n**Step 1 — Update `Strings.resx` (neutral/en):**  \n![Step 1](docs/images/resxmcp-step1-write-en.png)\n\n**Step 2 — Update `Strings.zh-CN.resx` (Simplified Chinese):**  \n![Step 2](docs/images/resxmcp-step2-write-zhCN.png)\n\n**Step 3 — Update `Strings.ja-JP.resx` (Japanese):**  \n![Step 3](docs/images/resxmcp-step3-write-jaJP.png)\n\n**✅ Step 4 — Final Multilingual Result:**  \nBelow is the merged multilingual view of all `.resx` files.  \n![Final](docs/images/resxmcp-localization-example.png)\n\n---\n\n---\n\n## 🧭 Overview\n**ResxMcp** is a minimal **MCP (Model Context Protocol)** compatible tool server that allows safe **read / write / modify** operations on `.resx` files.  \nIt works with **any MCP client** such as Gemini CLI, Claude Desktop, or Cursor IDE.\n\n---\n\n## ⚙️ Features\n✅ Read `.resx` files as UTF-8 text  \n✅ Atomic write with optional `.bak` backup  \n✅ Add / update / remove resource keys  \n✅ Works with all MCP clients  \n✅ Diff-friendly deterministic output\n\n---\n\n## 🧰 Available Tools\n\n| Tool | Description | Parameters |\n|------|--------------|-------------|\n| `resx.read` | Read `.resx` as UTF-8 text | `{ \"file\": \"path/to/file.resx\" }` |\n| `resx.write` | Write UTF-8 text (atomic replace) | `{ \"file\": \"path/to/file.resx\", \"content\": \"<xml>\", \"backup\": true }` |\n| `resx.setEntry` | Add or update a key/value pair | `{ \"file\": \"path/to/file.resx\", \"name\": \"Key\", \"value\": \"Value\", \"comment\": \"Optional\" }` |\n| `resx.removeEntry` | Remove a key from `.resx` | `{ \"file\": \"path/to/file.resx\", \"name\": \"Key\" }` |\n\n---\n\n## ⚠️ Installation Notice\n\nSome users may try to install this project with:\n\n```bash\ngemini extensions install https://github.com/miaofalianhua/ResxMcp\n```\n\n⚠️ **Do NOT do this repeatedly!**  \nThis command triggers Google’s extension registry verification and may result in **rate limit errors (HTTP 429)** or **installation failure**.\n\n👉 The correct way to use **ResxMcp** is as a **local MCP server**, not a regular Gemini extension.\n\n---\n\n### ✅ Recommended Installation\n\n1️⃣ **Build the project**\n```bash\ndotnet publish -c Release -r win-x64 -p:PublishSingleFile=true -o ./publish\n```\n\n2️⃣ **Register with Gemini CLI**\n```bash\ngemini mcp add resx-tool \"./publish/ResxMcp.exe\"\n```\n\n3️⃣ **Verify installation**\n```bash\ngemini @resx-tool tools/list\n```\n\nYou should see tools such as:  \n`resx.read`, `resx.write`, `resx.setEntry`, and `resx.removeEntry`.\n\n💡 *Tip:* If you wish to distribute it as an installable Gemini extension, use the included `gemini-extension.json` (v1.0.2). It wraps this MCP server for one-command installation when the registry supports MCP-only extensions.\n\n---\n\n## 🚀 Quick Start\n\n1. Build your .NET project with localization resources.  \n2. Use `resx.read` to inspect `.resx` content.  \n3. Modify, translate, or generate `.resx` files automatically with your MCP tools.  \n4. Use `resx.write` or `resx.setEntry` to update keys or values.\n\n\n---\n\n## 🖥️ Example Usage\n```bash\ngemini @resx-tool tools/call resx.setEntry --arguments '{\"file\":\"lang.zh-CN.resx\",\"name\":\"App.Title\",\"value\":\"Triad Controls\"}'\n```\n\n---\n\n## 🧩 Integration\nResxMcp communicates over **stdio (JSON-RPC)**,  \nso it can be used by any modern **AI-assisted development tool** or **automation pipeline** following the MCP standard.\n\nCompatible with:\n- 🪄 Gemini CLI  \n- 🧠 Claude Desktop  \n- 🧰 Cursor IDE  \n- ⚙️ Any MCP-based custom workflow\n\n---\n\n## 🪶 License\nLicensed under the [MIT License](LICENSE).\n\n---\n\n## ✨ Author\n**斌哥 (Miaofalianhua)**  \n🌍 GitHub: [@miaofalianhua](https://github.com/miaofalianhua)  \n🧠 Focus: C#, Localization, AI-assisted Development\n\n> 💡 *ResxMcp bridges classic .NET localization with modern AI workflows — simple, safe, and open.*\n",
  "bytes": 4363,
  "sha": "655917719dfc19e884eeb9fc54df14840ca3385d2cb67ecbc4562ebda14ca3ba",
  "repo_slug": "miaofalianhua/resxmcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_miaofalianhua_resxmcp_5c0ffd62/readme"
}