# ResxMcp

> A lightweight MCP server for managing .resx localization files—works with any MCP-compatible client.

- **Type:** MCP server
- **Install:** `agentstack add mcp-miaofalianhua-resxmcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [miaofalianhua](https://agentstack.voostack.com/s/miaofalianhua)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [miaofalianhua](https://github.com/miaofalianhua)
- **Source:** https://github.com/miaofalianhua/ResxMcp

## Install

```sh
agentstack add mcp-miaofalianhua-resxmcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# 🌐 ResxMcp
🌏 中文说明

> A lightweight MCP server for managing `.resx` localization files  
> 一个用于管理 `.resx` 本地化资源文件的轻量级 MCP 服务器

  
  
  
  

---

## 🎬 Visual Walkthrough
**Editing multi-language `.resx` via Gemini CLI + ResxMcp**

**Step 1 — Update `Strings.resx` (neutral/en):**  

**Step 2 — Update `Strings.zh-CN.resx` (Simplified Chinese):**  

**Step 3 — Update `Strings.ja-JP.resx` (Japanese):**  

**✅ Step 4 — Final Multilingual Result:**  
Below is the merged multilingual view of all `.resx` files.  

---

---

## 🧭 Overview
**ResxMcp** is a minimal **MCP (Model Context Protocol)** compatible tool server that allows safe **read / write / modify** operations on `.resx` files.  
It works with **any MCP client** such as Gemini CLI, Claude Desktop, or Cursor IDE.

---

## ⚙️ Features
✅ Read `.resx` files as UTF-8 text  
✅ Atomic write with optional `.bak` backup  
✅ Add / update / remove resource keys  
✅ Works with all MCP clients  
✅ Diff-friendly deterministic output

---

## 🧰 Available Tools

| Tool | Description | Parameters |
|------|--------------|-------------|
| `resx.read` | Read `.resx` as UTF-8 text | `{ "file": "path/to/file.resx" }` |
| `resx.write` | Write UTF-8 text (atomic replace) | `{ "file": "path/to/file.resx", "content": "", "backup": true }` |
| `resx.setEntry` | Add or update a key/value pair | `{ "file": "path/to/file.resx", "name": "Key", "value": "Value", "comment": "Optional" }` |
| `resx.removeEntry` | Remove a key from `.resx` | `{ "file": "path/to/file.resx", "name": "Key" }` |

---

## ⚠️ Installation Notice

Some users may try to install this project with:

```bash
gemini extensions install https://github.com/miaofalianhua/ResxMcp
```

⚠️ **Do NOT do this repeatedly!**  
This command triggers Google’s extension registry verification and may result in **rate limit errors (HTTP 429)** or **installation failure**.

👉 The correct way to use **ResxMcp** is as a **local MCP server**, not a regular Gemini extension.

---

### ✅ Recommended Installation

1️⃣ **Build the project**
```bash
dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true -o ./publish
```

2️⃣ **Register with Gemini CLI**
```bash
gemini mcp add resx-tool "./publish/ResxMcp.exe"
```

3️⃣ **Verify installation**
```bash
gemini @resx-tool tools/list
```

You should see tools such as:  
`resx.read`, `resx.write`, `resx.setEntry`, and `resx.removeEntry`.

💡 *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.

---

## 🚀 Quick Start

1. Build your .NET project with localization resources.  
2. Use `resx.read` to inspect `.resx` content.  
3. Modify, translate, or generate `.resx` files automatically with your MCP tools.  
4. Use `resx.write` or `resx.setEntry` to update keys or values.

---

## 🖥️ Example Usage
```bash
gemini @resx-tool tools/call resx.setEntry --arguments '{"file":"lang.zh-CN.resx","name":"App.Title","value":"Triad Controls"}'
```

---

## 🧩 Integration
ResxMcp communicates over **stdio (JSON-RPC)**,  
so it can be used by any modern **AI-assisted development tool** or **automation pipeline** following the MCP standard.

Compatible with:
- 🪄 Gemini CLI  
- 🧠 Claude Desktop  
- 🧰 Cursor IDE  
- ⚙️ Any MCP-based custom workflow

---

## 🪶 License
Licensed under the [MIT License](LICENSE).

---

## ✨ Author
**斌哥 (Miaofalianhua)**  
🌍 GitHub: [@miaofalianhua](https://github.com/miaofalianhua)  
🧠 Focus: C#, Localization, AI-assisted Development

> 💡 *ResxMcp bridges classic .NET localization with modern AI workflows — simple, safe, and open.*

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [miaofalianhua](https://github.com/miaofalianhua)
- **Source:** [miaofalianhua/ResxMcp](https://github.com/miaofalianhua/ResxMcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-miaofalianhua-resxmcp
- Seller: https://agentstack.voostack.com/s/miaofalianhua
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
