MCP文件助理服务器
](https://www.npmjs.com/package/vpbhaskar-mcp-fileassistant) ](https://www.npmjs.com/package/vpbhaskar-mcp-fileassistant)
A. 模型上下文协议(MCP) 服务器,为AI助手提供强大的文件管理功能。该服务器使Cursor IDE等AI工具能够通过标准化协议读取、写入、编辑、列出和删除指定工作区文件夹中的文件。
📦 在npm上可用: vpbhaskar-mcp-fileassistant (v1.0.4)\ 🔗 GitHub存储库: iamvpbhaskar/mcp文件助理
🎯 这个项目是什么?
该项目实现了 MCP服务器 它充当AI助手和文件系统之间的桥梁。该服务器提供对特定工作区目录的受控、安全访问,而不是人工智能助手直接访问您的文件(这可能存在安全风险)。
为什么选择MCP?
模型上下文协议(MCP) 是Anthropic开发的一个开放协议,规范了人工智能助手与外部工具和数据源的交互方式。通过创建MCP服务器,您正在构建一个可重用的工具,任何兼容MCP的AI助手都可以使用。
你能用它做什么?
使用此MCP服务器,您可以:
- 创建文件管理工作流 -让AI助手帮助您组织、创建和管理文件
- 构建内容生成工具 -生成文档、代码文件、配置等。
- 自动化文件操作 -批量编辑、文件转换、内容更新
- 创建AI驱动的文件助理 -让AI根据自然语言指令读取、分析和修改文件
✨ 特性
此MCP服务器提供六个核心文件管理工具:
- 📋 列出文件 -列出工作区目录中的所有文件
- 📖 读取文件 -读取工作区中任何文件的内容
- ✍️ 写入文件 -创建新文件或覆盖现有文件
- ✏️ 编辑文件 -编辑现有文件中的特定行(逐行编辑)
- 🗑️ 删除文件 -从工作区中删除文件
- 📋 同步文件 -将文件从项目根目录复制到工作区文件夹
🏗️ 项目结构
mcp-fileAssistant/
├── index.js # Main MCP server implementation
├── package.json # Project dependencies and metadata
├── workspace/ # Directory where all file operations occur
│ └── test.txt # Example file (safe workspace)
├── README.md # This file
└── .gitignore # Git ignore file (excludes node_modules, etc.)🚀 入门指南
先决条件
- Node.js (v14或更高版本)
- npm 或 纱线
- 光标IDE (或任何兼容MCP的客户端)
安装
选项1:从npm安装(推荐)
npm install -g vpbhaskar-mcp-fileassistant或者在项目中本地安装:
npm install vpbhaskar-mcp-fileassistant选项2:从GitHub克隆
- 克隆存储库:
git clone https://github.com/iamvpbhaskar/mcp-fileAssistant.git
cd mcp-fileAssistant- 安装依赖项:
npm install- 测试服务器(可选):
node index.js您应该看到: ✅ File MCP Server started successfully!
⚙️ Cursor IDE的配置
要将此MCP服务器与Cursor IDE一起使用,您需要在MCP设置文件中对其进行配置。
步骤1:找到MCP配置文件
MCP配置文件位于:
- 窗户:
C:\Users\\.cursor\mcp.json - macOS/Linux:
~/.cursor/mcp.json
步骤2:添加服务器配置
打开 mcp.json 并添加以下配置:
如果通过npm(Global)安装:
{
"mcpServers": {
"vpbhaskar-mcp-fileassistant": {
"command": "node",
"args": ["/node_modules/vpbhaskar-mcp-fileassistant/index.js"],
"env": {}
}
}
}如果在本地安装或从GitHub克隆:
{
"mcpServers": {
"vpbhaskar-mcp-fileassistant": {
"command": "node",
"args": ["/vpbhaskar-mcp-fileassistant/index.js"],
"env": {}
}
}
}Windows示例(本地安装):
{
"mcpServers": {
"vpbhaskar-mcp-fileassistant": {
"command": "node",
"args": ["C:\\Users\\YourUsername\\Desktop\\mcp-fileAssistant\\index.js"],
"env": {}
}
}
}macOS/Linux示例(本地安装):
{
"mcpServers": {
"vpbhaskar-mcp-fileassistant": {
"command": "node",
"args": ["/Users/username/projects/vpbhaskar-mcp-fileassistant/index.js"],
"env": {}
}
}
}注: 要查找npm全局路径,请运行: npm root -g
步骤3:重新启动Cursor IDE
添加配置后,重新启动Cursor IDE以加载MCP服务器。
步骤4:验证安装
Cursor重新启动后,您应该看到可用的MCP服务器工具。您可以通过以下方式进行验证:
- 打开Cursor的聊天/命令面板
- 人工智能助手现在应该可以访问文件管理工具
- 试着问:“列出工作区中的所有文件”或“创建一个名为example.txt的新文件”
📖 运作原理
建筑
┌─────────────┐ MCP Protocol ┌──────────────────┐
│ │ ◄──────────────────────────► │ │
│ Cursor IDE │ (JSON-RPC over stdio) │ MCP File Server │
│ (Client) │ │ (This Project) │
│ │ │ │
└─────────────┘ └──────────────────┘
│
│ File Operations
▼
┌───────────────┐
│ workspace/ │
│ Directory │
└───────────────┘- 光标IDE 通过MCP协议(通过stdio的JSON-RPC)发送请求
- MCP服务器 接收请求并使用Zod模式进行验证
- 文件系统 操作在
workspace/目录 - 响应 与结果一起发送回Cursor IDE
安全
- ✅ 所有文件操作都是 范围到
workspace/目录 仅 - ✅ 无法访问工作区外的文件(防止意外删除/修改)
- ✅ 使用Zod模式进行输入验证
- ✅ 无效操作的错误处理
🔧 API 参考
工具: list_files
列出工作区目录中的所有文件。
输出:
{
"files": ["file1.txt", "file2.js", "example.md"]
}工具: read_file
读取文件的内容。
输入:
{
"filename": "example.txt"
}输出:
{
"content": "File content here..."
}工具: write_file
使用给定内容创建或覆盖文件。
输入:
{
"filename": "example.txt",
"content": "New file content"
}输出:
{
"success": true
}工具: edit_file
编辑现有文件中的特定行。有助于在不重写整个文件的情况下进行有针对性的更改。
输入:
{
"filename": "example.txt",
"edits": [
{ "line": 1, "newText": "Updated line 1" },
{ "line": 3, "newText": "Updated line 3" }
]
}输出:
{
"success": true,
"message": "Edited 2 line(s)."
}工具: delete_file
从工作区中删除文件。
输入:
{
"filename": "example.txt"
}输出:
{
"success": true
}工具: sync_file
将文件从项目根目录复制到工作区文件夹。可用于同步以下文件 resume.html 到工作区。
输入:
{
"filename": "resume.html"
}输出:
{
"success": true,
"message": "Successfully synced resume.html to workspace folder."
}💡 用例
1. 文档生成
询问光标: *“为我的项目创建一个带有安装说明的README.md文件”*
2. 代码文件管理
询问光标: *“创建一个名为Button.jsx的具有基本结构的新React组件文件”*
3. 内容编辑
询问光标: *“编辑config.json的第5行,将端口更改为3000”*
4. 文件组织
询问光标: *“列出工作区中的所有文件并创建摘要文档”*
5. 批量操作
询问光标: *“读取所有.txt文件并创建组合文档”*
🛠️ 发展
项目依赖项
@modelcontextprotocol/sdk-Node.js官方MCP SDK
- 提供服务器基础架构、传输层和协议处理
zod-模式验证库
- 用于验证MCP工具中的输入/输出模式
编码结构
// Server initialization
const server = new McpServer({
name: "File MCP Server",
version: "1.0.4",
description: "File management capabilities"
});
// Tool registration
server.registerTool(
"tool_name",
{
description: "Tool description",
inputSchema: z.object({ ... }), // Input validation
outputSchema: z.object({ ... }) // Output validation
},
async (params) => {
// Tool implementation
}
);
// Start server
await server.connect(new StdioServerTransport());扩展服务器
要添加新工具,只需注册即可:
server.registerTool(
"new_tool",
{
description: "Description of new tool",
inputSchema: z.object({ param: z.string() }),
outputSchema: z.object({ result: z.string() })
},
async ({ param }) => {
// Your tool logic here
return { structuredContent: { result: "success" } };
}
);🔒 安全考虑
- 工作区隔离:所有操作仅限于
workspace/目录 - 输入验证:所有输入都使用Zod模式进行验证
- 错误处理:正确的错误处理可防止崩溃和信息泄露
- 无外部网络:此服务器不进行外部网络调用
📦 NPM包
此包发布在npm上,可以全局或本地安装:
# Global installation
npm install -g vpbhaskar-mcp-fileassistant
# Local installation
npm install vpbhaskar-mcp-fileassistant包裹: vpbhaskar mcp文件助理\ 版本: 1.0.4\ 作者 Ved Prakash Bhaskar
📝 许可证
国际协调委员会
🤝 贡献
欢迎投稿!请随意:
- 添加新的文件管理工具
- 改进错误处理
- 添加对其他文件操作的支持
- 增强安全功能
📚 了解更多
🎓 我们共同创造了什么
在开发过程中,此MCP服务器用于:
- 创建结构化文档文件
- 生成面试准备材料
- 构建专业简历模板
- 展示文件管理能力
该服务器通过AI助手实现自然语言文件操作,使文件管理更加直观和高效,从而证明了其价值。
______________________________________________________________________
内置❤️ 使用模型上下文协议
