返回 MCP 目录
public公开dns本地运行

mcp-server-plugin

JetBrains MCP服务器插件,实现大型语言模型与JetBrains IDE的无缝集成,提供服务器端处理和自定义工具扩展点。

article

README

🚀 JetBrains MCP 服务器插件

JetBrains MCP(模型上下文协议)服务器插件实现了大语言模型(LLMs)与 JetBrains IDE 的无缝集成。该插件提供了处理 MCP 请求的服务器端实现,还为自定义工具的实现提供了扩展点,能有效提升开发效率。

🚀 快速开始

先决条件

✨ 主要特性

该插件提供了一个扩展点系统,允许第三方插件实现自己的 MCP 工具。

💻 使用示例

自定义工具实现

基础用法

该插件允许开发者创建并注册自定义的 MCP 工具,以下是具体步骤:

1. 创建自定义工具

创建一个继承 AbstractMcpTool 的类:

class MyCustomTool : AbstractMcpTool<MyArgs>() {
    override val name: String = "myCustomTool"
    override val description: String = "描述你的工具的功能"

    override fun handle(project: Project, args: MyArgs): Response {
        // 在此处实现你的工具逻辑
        return Response.ok("结果")
    }
}

// 定义你的参数数据类
@Serializable
data class MyArgs(
    val param1: String,
    val param2: Int
)
2. 注册你的工具

要注册你的工具,请将其作为扩展添加到 plugin.xml 中:

<idea-plugin>
    <!-- 你的插件配置 -->
    <depends>com.intellij.mcpServer</depends>
    
    <extensions defaultExtensionNs="com.intellij.mcpServer">
        <mcpTool implementation="com.example.MyCustomTool"/>
    </extensions>
</idea-plugin>
3. 工具实现指南

你的工具实现应遵循以下指南:

  • 工具名称应描述性强,使用小写字母和可选下划线
  • 为你的工具参数创建一个数据类,与预期的 JSON 输入匹配
  • 合适地使用 Response 类:
    • 成功操作时使用 Response(result)
    • 错误情况时使用 Response(error = message)
  • 使用提供的 Project 实例来访问 IDE 服务

📚 详细文档

如何发布更新

  1. 更新 settings.gradle.kts 以提供新版本
  2. 在 Github 上创建发行版,发布任务将自动触发

贡献指南

我们欢迎贡献!请随意提交 Pull Request。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端