@重命名为/mcp
](https://www.npmjs.com/package/@renamed-to/mcp)  ](https://nodejs.org) 
模型上下文协议 (MCP)服务器 重命名to --将基于AI的文件重命名、组织和PDF分割功能引入Claude Code、Claude Desktop、Cursor、Windsurf和任何兼容MCP的客户端。告诉人工智能你希望如何用简单的英语命名你的文件——它会读取实际的文档内容(OCR、表格、标题),并按照你的指示进行操作。
特性
- 自然语言提示 --用简单的英语描述您的命名规则,AI会遵循这些规则(按文档类型规则、条件逻辑、本地化等)
- AI内容分析 --OCR和NLP从实际文件内容中提取日期、供应商、金额、文档类型和参考号
- PDF拆分 --按内容/主题(AI)、书签或页面范围拆分PDF
- 组织策略 --按年份、公司、文档类型或组合自动排序到文件夹中
- 干运行模式 --提交更改前预览重命名
- 多平台 --适用于Claude Code、Claude Desktop、Cursor和Windsurf
快速开始
claude mcp add renamed-to -- npx -y @renamed-to/mcp设置您的API密钥,您就可以开始了:
export RENAMED_API_KEY="rt_..."使用克劳德桌面、光标或Windsurf?看 配置 在......下面
安装
直接运行(无需安装)
npx -y @renamed-to/mcp全局安装
npm install -g @renamed-to/mcp
renamed-mcp来源
git clone https://github.com/renamed-to/mcp.renamed.to.git
cd mcp.renamed.to
npm install
npm run build
node dist/index.js配置
克劳德代码
claude mcp add renamed-to -- npx -y @renamed-to/mcp克劳德桌面版
添加到您的 claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"renamed-to": {
"command": "npx",
"args": ["-y", "@renamed-to/mcp"],
"env": {
"RENAMED_API_KEY": "rt_your_key_here"
}
}
}
}光标
添加到MCP配置(设置→ MCP服务器):
{
"mcpServers": {
"renamed-to": {
"command": "npx",
"args": ["-y", "@renamed-to/mcp"],
"env": {
"RENAMED_API_KEY": "rt_your_key_here"
}
}
}
}帆板运动
添加到MCP配置中:
{
"mcpServers": {
"renamed-to": {
"command": "npx",
"args": ["-y", "@renamed-to/mcp"],
"env": {
"RENAMED_API_KEY": "rt_your_key_here"
}
}
}
}认证
export RENAMED_API_KEY="rt_..."服务器也接受 RENAMED_TOKEN 作为一种退路。使用 status 工具来验证您的连接。
工具
rename
使用AI内容分析重命名文件。将文件发送到renamed.to API,该API读取实际文档内容-OCR用于扫描,NLP用于文本-提取元数据(日期、供应商、金额、参考号),并根据您的说明生成文件名。
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
filePaths | string[] | 是 | -- | 要重命名的文件的绝对或相对路径 |
outputDir | string | 否 | 源目录 | 用于写入重命名文件的目录 |
format | string | 否 | 已选择AI | 描述文件名格式的自然语言提示(请参见 提示示例 在......下面 |
dryRun | boolean | 没有 | false | 预览重命名而不写入任何文件 |
提示示例
这 format 参数接受纯英文指令。AI解释它们并根据其内容将其应用于每个文件:
Invoices: {date} - {vendor} - Invoice #{number} - ${amount}
Contracts: {vendor} - {type} - {date}
Receipts: {date} - {vendor} - Receipt您可以指定每个文档类型的规则、条件逻辑、本地化等:
- 部门前缀 —
"Add HR_ prefix for employment documents, FIN_ for financial records" - 本地化 —
"Use German date format DD.MM.YYYY, translate document types to German" - 条件逻辑 —
"If invoice amount > $1000, add LARGE_ prefix" - 行业格式 —
"Include matter number for legal documents, client code for accounting"
当否 format AI会自动为每个文档选择最佳命名模式。
Example output
{
"dryRun": true,
"files": [
{
"original": "scan_001.pdf",
"suggested": "2024-03-15 - Quarterly Report Q1.pdf",
"destination": "/Users/you/Documents/2024-03-15 - Quarterly Report Q1.pdf",
"renamed": false
}
]
}pdf_split
使用AI按内容或主题、按书签或按页面范围拆分PDF。AI读取完整文档,识别逻辑部分和主题边界,并为每个部分创建单独命名的PDF。
| 参数 | 类型 | 必填 | 默认 | 说明 | ||
|---|---|---|---|---|---|---|
filePath | string | 是 | -- | 要拆分的PDF文件的路径 | ||
strategy | "ai" | "bookmarks" | "pages" | 没有 | "ai" | 拆分策略 |
outputDir | string | 否 | 源目录 | 将拆分的PDF文件写入的目录 |
策略:
ai--分析内容并按主题或逻辑部分进行拆分bookmarks--在PDF书签边界处拆分pages--按页面范围拆分
Example output
{
"originalFile": "annual-report.pdf",
"documentsCreated": 3,
"outputDir": "/Users/you/Documents",
"files": [
{
"filename": "annual-report - Financial Summary.pdf",
"pages": "1-12",
"path": "/Users/you/Documents/annual-report - Financial Summary.pdf",
"reason": "Financial data and balance sheets"
},
{
"filename": "annual-report - Operations Review.pdf",
"pages": "13-28",
"path": "/Users/you/Documents/annual-report - Operations Review.pdf",
"reason": "Operational metrics and departmental reviews"
}
]
}watch
观察目录中的新文件,并使用重命名或pdf拆分自动处理它们。
注: 目录监视需要一个不适合MCP请求/响应模型的长时间运行的进程。此工具返回使用CLI的说明:
npx @renamed-to/cli watch --action rename
npx @renamed-to/cli watch --action pdf-split请参阅 @重命名为/cli-docs 了解更多详情。
status
检查身份验证状态和API连接。不接受任何参数。
Example output (authenticated)
{
"status": "authenticated",
"email": "you@example.com",
"name": "Your Name",
"credits": 500
}工具注释
| 工具 | 只读 | 破坏性 | 临时 |
|---|---|---|---|
rename | 否 | 是(就地重命名文件) | 否 |
pdf_split | 否 | 否(创建新文件) | 是 |
watch | 是(仅供参考) | 否 | 是 |
status | 是 | 否 | 是 |
例子
根据内容重命名扫描的文档:
“根据内容重命名下载文件夹中的所有PDF”
AI读取每个文件,甚至是通过OCR扫描的图像,提取日期、供应商、文档类型,并生成描述性名称,如 2024-03-15 - Quarterly Report Q1.pdf.
对不同的文档类型使用自然语言规则:
重命名这些文件。发票使用“{date}-{vendor}-Invoice#{number}”,合同使用“{vendor}-{type}-{date}”,如果金额超过1000美元,则添加LARGE_前缀
AI对每种文档类型应用不同的命名规则,并使用条件逻辑,所有这些都来自一个简单的英文提示。
按主题将长篇报告拆分为单独的文档:
“将这份50页的年度报告按主题拆分为单独的文件”
AI分析内容边界,并为每个逻辑部分创建单独命名的PDF,无需书签。
使用本地化格式预览重命名:
“使用德语日期格式DD.MM.YYYY对这些发票进行模拟重命名,并将文档类型转换为德语”
显示不移动任何文件时的新文件名。AI处理命名中的本地化和翻译。
错误处理
服务器为常见问题提供明确的错误消息:
| 错误 | 原因 | 解决方法 |
|---|---|---|
| 未配置 | RENAMED_API_KEY 未设置 | 将API密钥添加到环境中(在这里买一个) |
| 身份验证失败 | API密钥无效或过期 | 在生成新密钥 设置→ API密钥 |
| 信用额度不足 | 账户信用额度已耗尽 | 请在以下时间充值 设置→ 计费 |
| 超出速率限制 | 请求太多 | 等待并重试(错误包括在可用的时间间隔后重试) |
| 网络错误 | 无法访问API | 检查您的互联网连接 |
| 找不到文件 | 文件路径无效 | 验证路径是否存在且可访问 |
安全
- API密钥 仅从环境变量中读取,从不进行硬编码或记录
- 文件内容 发送到renamed.to API进行分析-处理敏感文档时请注意这一点
- 在本地运行 通过stdio传输--您的计算机上没有打开任何网络端口
- 未存储数据 --服务器在请求之间是无状态的
相关
- @重命名为/cli --用于renamed.to的命令行工具(包括
watch用于目录监控) - @重命名为/sdk -重命名为.to API的多语言SDK
- Claude代码插件 --重命名.to的Claude代码技能
贡献
欢迎捐款。请在提交重大更改之前打开一个问题。跑 npm run typecheck 在打开PR之前。
