Skip to main content
Glama
README.md
# AgentTools — Python 脚本工具集 (MCP Server)

[![Python](https://img.shields.io/badge/Python-3.13+-blue.svg)](https://python.org)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)

> 通过 **MCP (Model Context Protocol)** 将本地 Python 工具脚本暴露给 AI 客户端(如 Claude Desktop)调用的工具集。

---

## 📦 功能概述

| 工具 | 功能 | 适用场景 |
| --- | --- | --- |
| **tree_to_txt** | 扫描目录生成文件树,保存为文本文件 | 项目结构概览、文档编写 |
| **xlsx_to_txt** | 读取所有 `.xlsx` Excel 文件,提取内容转文本 | 将表格数据提供给 AI 处理 |
| **python_to_txt** | 提取所有 `.py` 文件代码,合并到一个文本文件 | 代码审查、AI 上下文准备 |
| **text_to_txt** | 自动检测编码,合并所有文本文件 | 文档汇总、语料整理 |

所有工具在扫描目录时自动跳过 `.venv`、`__pycache__`、`.git` 等目录,并尊重 `.gitignore` 配置。

---

## 🚀 快速开始

### 1. 安装依赖

本项目使用 [uv](https://docs.astral.sh/uv/) 管理依赖:

```bash
uv sync
```

### 2. 配置 MCP 客户端

将以下 JSON 添加到你的 MCP 客户端配置中(如 Claude Desktop `claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "python-script-runner": {
      "command": "path\\to\\.venv\\Scripts\\python.exe",
      "args": [
        "path\\to\\mcp_server.py"
      ]
    }
  }
}
```

> ⚠️ 请将 `path\\to\\` 替换为你的实际项目路径。

### 3. 运行测试

```bash
python mcp_server.py
```

---

## 🛠️ 工具详情

### tree_to_txt

```bash
python tree_to_txt.py                          # 扫描当前目录
python tree_to_txt.py -d /path/to/project      # 指定目录
python tree_to_txt.py -o tree.txt              # 自定义输出文件名
```

### xlsx_to_txt

```bash
python xlsx_to_txt.py                          # 读取当前目录所有 xlsx
python xlsx_to_txt.py --raw-formulas           # 提取公式原文
python xlsx_to_txt.py --max-rows 100           # 限制行数
```

### python_to_txt

```bash
python python_to_txt.py                        # 提取所有 .py 文件
```

### text_to_txt

```bash
python text_to_txt.py                          # 合并所有文本文件
```

---

## 📄 LICENSE

本项目基于 [MIT License](LICENSE) 开源。

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct source format (Excel, Python, general text, directory tree), and main is clearly a test script. However, python_to_txt and text_to_txt both process .py files, which could cause minor confusion about which to use for a given task.

Naming Consistency4/5

Four of the five tools follow a consistent <source>_to_txt naming pattern. The exception is main, which breaks the convention but is understandable as a simple test script.

Tool Count5/5

With five tools, the server is well-scoped for its purpose. Each tool serves a clear utility function, and there are no redundant or unnecessary entries.

Completeness4/5

The server covers conversion of common source types to text, including Excel, Python, and general text files, plus directory tree export. Minor gaps include lack of support for other document formats (PDF, Word) and no option to process individual files rather than directories.