JetBrains MCP(模型上下文协议)服务器插件实现了大语言模型(LLMs)与JetBrains IDE的无缝集成。该插件提供了处理MCP请求的服务器端实现,并提供了扩展点以实现自定义工具。
该插件具备扩展点系统,允许第三方插件实现自己的MCP工具。
以下是如何实现和注册自定义工具的步骤:
创建一个继承自 AbstractMcpTool 的类:
class MyCustomTool : AbstractMcpTool<MyArgs>() {
override val name: String = "myCustomTool"
override val description: String = "Description of what your tool does"
override fun handle(project: Project, args: MyArgs): Response {
// Implement your tool's logic here
return Response.ok("Result")
}
}
// Define your arguments data class
@Serializable
data class MyArgs(
val param1: String,
val param2: Int
)
要注册工具,请在 plugin.xml 中将其作为扩展添加:
<idea-plugin>
<depends>com.intellij.mcpServerdepends>
<extensions defaultExtensionNs="com.intellij.mcpServer">
<mcpTool implementation="com.example.MyCustomTool"/>
extensions>
idea-plugin>
工具实现应遵循以下准则:
Response 类:
Response(result)。Response(error = message)。Project 实例访问IDE服务。settings.gradle.kts 以提供新版本。我们欢迎贡献!请随时提交拉取请求。