使用说明
项目简介
scala-mcp-server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供 Scala 项目的上下文信息和操作能力。它通过注册一系列工具,允许 LLM 客户端与 Scala 项目进行交互,例如编译代码、运行测试、搜索代码符号、查看文档等。
主要功能点
- 编译 Scala 代码: 允许 LLM 触发 Scala 项目的编译过程,并返回编译输出信息。
- 运行 Scala 测试: 允许 LLM 运行 Scala 项目的测试用例,并返回测试结果。
- 全局符号搜索: 允许 LLM 根据关键词在 Scala 项目中搜索符号(类、方法、变量等)。
- 类型化全局符号搜索: 允许 LLM 根据关键词和符号类型进行更精确的符号搜索。
- 代码元素检查: 允许 LLM 获取指定 Scala 符号的详细信息,例如成员列表。
- 文档检索: 允许 LLM 获取指定 Scala 符号的 Scaladoc 文档。
安装步骤
- 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js 和 npm (Node.js 包管理器)。
- 安装依赖: 在包含 'index.js' 或 'index.ts' 文件的目录下,打开终端并运行以下命令安装项目依赖:
npm install @modelcontextprotocol/sdk axios zod child_process
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 scala-mcp-server:
{ "server name": "scala-mcp-server", "command": "node", "args": ["index.js", "<项目路径>"] }
配置参数说明:
- '"server name"': 服务器名称,设置为 "scala-mcp-server"。
- '"command"': 启动服务器的命令,这里使用 'node' 运行 JavaScript 文件。
- '"args"': 传递给服务器的参数列表。
- '"index.js"': 服务器入口文件。
- '"<项目路径>"': 请替换为你的 Scala 项目的根目录的绝对路径。 这是必需的参数,服务器需要知道要操作哪个 Scala 项目。
例如: 如果你的 Scala 项目位于 '/Users/yourname/my-scala-project',则配置应为:
{ "server name": "scala-mcp-server", "command": "node", "args": ["index.js", "/Users/yourname/my-scala-project"] }
基本使用方法
- 启动服务器: 在配置好 MCP 客户端后,启动客户端,客户端会自动根据配置连接到 scala-mcp-server。
- 调用工具: 在 LLM 客户端中,你可以指示 LLM 调用 'scala-mcp-server' 提供的工具,例如:
- 让 LLM 编译 Scala 代码,可以使用 'compile' 工具。
- 让 LLM 运行测试,可以使用 'test' 工具。
- 让 LLM 搜索类名,可以使用 'glob-search' 或 'typed-glob-search' 工具。
- 让 LLM 查看某个类的文档,可以使用 'get-docs' 工具。
- 让 LLM 检查某个类的成员,可以使用 'inspect' 工具。
注意: 'glob-search', 'typed-glob-search', 'inspect', 'get-docs' 工具依赖于运行在 'http://localhost:8888/api' 的后端 API 服务。你需要确保该 API 服务已经启动并可访问,这些工具才能正常工作。 'compile' 和 'test' 工具则直接在本地执行 Scala 编译和测试命令,不依赖外部 API。
信息
分类
开发者工具