mcp-server-plugin
Language:
Kotlin
Stars:
28
Forks:
12
JetBrains MCP Server Plugin
JetBrains MCP (Model Context Protocol) Server Plugin enables seamless integration between Large Language Models (LLMs) and JetBrains IDEs. This plugin provides the server-side implementation for handling MCP requests and exposes extension points for implementing custom tools.
Prerequisites
- Installation of JetBrains MCP Proxy
- JetBrains IDE (IntelliJ IDEA, WebStorm, etc.)
Custom Tools Implementation
The plugin provides an extension point system that allows third-party plugins to implement their own MCP tools. Here's how to implement and register your custom tools:
1. Creating a Custom Tool
Create a class that extends AbstractMcpTool
:
class MyCustomTool : AbstractMcpTool() {
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
)
2. Registering Your Tool
To register your tool, add it as an extension in your plugin.xml:
com.intellij.mcpServer
3. Tool Implementation Guidelines
Your tool implementation should follow these guidelines:
-
Tool names should be descriptive and use lowercase with optional underscores
-
Create a data class for your tool's arguments that matches the expected JSON input
-
Use the Response class appropriately:
- `Response(result)` for successful operations
Response(error = message)
for error cases
-
Utilize the provided Project instance for accessing IDE services
How to Publish Update
- Update
settings.gradle.kts
to provide a new version - Create release on Github, the publishing task will be automatically triggered
Contributing
We welcome contributions! Please feel free to submit a Pull Request.
Publisher info
JetBrains
JetBrains Open Source
More MCP servers built with Kotlin
Mirror of https://github.com/modelcontextprotocol/kotlin-sdk