JetBrains

JetBrains MCP Server Plugin

Community JetBrains
Updated

JetBrains MCP Server Plugin

official JetBrains project

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

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<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
)

2. Registering Your Tool

To register your tool, add it as an extension in your plugin.xml:

<idea-plugin>
    <!-- Your plugin config -->
    <depends>com.intellij.mcpServer</depends>
    
    <extensions defaultExtensionNs="com.intellij.mcpServer">
        <mcpTool implementation="com.example.MyCustomTool"/>
    </extensions>
</idea-plugin>

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

  1. Update settings.gradle.kts to provide a new version
  2. Create release on Github, the publishing task will be automatically triggered

Contributing

We welcome contributions! Please feel free to submit a Pull Request.

MCP Server ยท Populars

MCP Server ยท New

    browser-use

    Enable AI to control your browser ๐Ÿค–

    ๐ŸŒ Make websites accessible for AI agents. Automate tasks online with ease.

    Community browser-use
    superglue-ai

    superglue

    superglue integrates & orchestrates APIs from natural language. Agents use it to build deterministic workflows across apps, APIs and databases. Humans use it to generate insights, build automations and manage data.

    Community superglue-ai
    superglue-ai

    docs

    superglue integrates & orchestrates APIs from natural language. Agents use it to build deterministic workflows across apps, APIs and databases. Humans use it to generate insights, build automations and manage data.

    Community superglue-ai
    KemingHe

    Python Dependency Manager Companion MCP Server

    Self-updating MCP server to cross-reference latest official pip, poetry, uv, and conda docs

    Community KemingHe
    apache

    ECharts MCP

    Apache ECharts MCP Server

    Community apache