使用说明
项目简介
Project Content Server 是一个基于 Model Context Protocol (MCP) 实现的服务器,旨在为语言模型 (LLM) 提供项目文件的内容访问能力。通过此服务器,LLM 客户端可以调用预设的工具,获取指定项目目录下的文件列表及其内容,从而增强 LLM 在代码理解、分析和生成等方面的能力。
主要功能点
- 文件内容访问: 提供名为 'latest_project_data' 的工具,允许客户端指定项目目录路径,服务器将返回该目录下所有文件的文件名和内容。
- 基于 MCP 协议: 遵循 MCP 协议规范,使用 JSON-RPC 进行通信,易于与支持 MCP 协议的 LLM 客户端集成。
- 标准输入/输出 (Stdio) 传输: 使用 Stdio 作为默认的传输协议,简化部署和运行。
- 错误处理: 提供明确的错误响应格式,方便客户端进行错误处理和重试。
请注意: 该服务器依赖于一个本地配置文件 'cline_mcp_settings.json' 来进行项目路径映射。该配置文件的路径硬编码为 'C:/Users/Mahes/AppData/Roaming/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json',您可能需要根据实际情况修改 'src/index.ts' 文件中的路径。配置文件中需要配置 'mcpServers.ProjectContentServer.directoryMapping' 字段,用于指定项目路径和实际文件系统路径的映射关系。
安装步骤
- 克隆仓库:
git clone https://github.com/MaheshDoiphode/mcp-cline-project-content-server cd mcp-cline-project-content-server - 安装依赖:
npm install - 构建项目:
npm run build
服务器配置 (MCP 客户端配置)
要将 Project Content Server 集成到 MCP 客户端,您需要配置以下服务器信息。请将以下 JSON 配置添加到您的 MCP 客户端的服务器配置中:
{ "serverName": "project-content-server", "command": "node", "args": ["build/index.js"] }
配置参数说明:
- 'serverName': 服务器名称,必须与代码中定义的服务器名称 '"project-content-server"' 一致。
- 'command': 启动服务器的命令,这里使用 'node' 命令来运行 JavaScript 代码。
- 'args': 命令参数,指定要运行的服务器入口文件路径 'build/index.js'。
重要: 确保您的 MCP 客户端能够执行 'node' 命令,并且 'build/index.js' 文件路径相对于客户端的工作目录是正确的。
基本使用方法
-
启动服务器: 按照上述安装步骤构建项目后,MCP 客户端在配置好服务器信息后,会自动启动 Project Content Server。您也可以手动在项目根目录下执行 'node build/index.js' 命令来启动服务器。
-
调用 'latest_project_data' 工具: 在 LLM 交互过程中,您可以指示 LLM 客户端调用 'latest_project_data' 工具来获取项目文件内容。调用时需要提供 'projectPath' 参数,指定要访问的项目目录的路径。
示例请求 (JSON-RPC 'CallToolRequest'):
{ "jsonrpc": "2.0", "method": "CallTool", "params": { "name": "latest_project_data", "arguments": { "projectPath": "/path/to/your/project" // 将 "/path/to/your/project" 替换为实际的项目路径 } }, "id": "123" }
示例响应 (JSON-RPC 'CallToolResponse'): 服务器将返回一个 JSON 对象,其中包含了项目目录下的文件路径和内容。例如:
{ "jsonrpc": "2.0", "result": { "content": [ { "type": "text", "text": "{\"file1.txt\": \"Contents of file1\", \"subdir/file2.js\": \"Contents of file2\"}" } ] }, "id": "123" }
请注意,返回的文件内容是 JSON 字符串格式,客��端需要解析 JSON 字符串才能获取文件内容信息。
信息
分类
数据库与文件