文件搜索工具

一个基于MCP协议的文件搜索工具,支持关键词搜索并返回匹配行及行号。

  • by utkars3
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 utkars3/MCP_Server

使用说明

任务2:MCP服务器开发

目标 构建一个模型上下文协议(MCP)服务器,并实现一个在文件中搜索关键字的工具。 使用的技术和图书馆 Node.js-运行时环境 @modelcontextprotocol/sdk-MCP协议实现 MCP检查员-目视测试和调试界面 fs/colves-用于读取文件的文件系统操作 path-路径分辨率 实施总结 已创建名为“文件搜索服务器”的MCP服务器 已实现的工具:search_file 此工具接受三个参数: 参数 类型 必需 描述 文件路径 字符串 是 要在内部搜索的文件的相对或绝对路径 关键词 字符串 是 将要搜索的单词/短语 区分大小写 布尔 不 搜索是否应区分大小写(默认值:false)

服务器使用fs.readFile()读取文件内容,拆分成几行,用.includes(关键字)检查每一行,并返回所有匹配的行号行。 MCP检查器内部使用的样本输入(工具→ 运行工具) JSON { “filePath”:“sample.txt”, “关键字”:“测试” } 预期输出(附上截图) 如果发现: JSON { “filePath”:“/aolute/path/to/sample.txt”, “关键字”:“测试”, “总匹配数”:2, “匹配项”:[ { “行号”:1, “content”:“这是一个测试文件。” }, { “行号”:5, “content”:“另一行带有测试关键字。” } ] } 如果未找到: JSON { “filePath”:“/aolute/path/to/sample.txt”, “关键字”:“测试”, “总匹配数”:0, “匹配项”:[] } 安装与运行 bash

安装依赖项

npm 安装

运行自动化测试

npm测试

启动服务器

npm启动

使用MCP检查员进行测试

npx@modelcontextprotocol/检查器节点index.js 项目结构 mcp文件搜索服务器/ ├── package.json#依赖关系 ├── index.js#MCP服务器实现 ├── test.js#测试脚本 └── README.md#文档