The ecosystem supported by my plugin has just published an MCP server exposing that ecosystem to AI tooling. I’m trying to figure out the best way to integrate that into my plugin, ideally in as first-class a manner as possible.
I’ve found that both AI Assistant and Junie can act as MCP clients, and I’ve successfully registered this one with both tools. What I don’t know, though, is what options are available for driving those clients from my plugin, if any, and whether that integration can operate in the absence of another subscription fee to JetBrains and/or model providers. Ideally this integration would work even in Community Edition/unlicensed JetBrains IDEs with no additional cost to my plugin’s end users.
Has anyone here ever integrated an MCP server into JetBrains’ IDEs in this manner? Any thoughts/insights are greatly appreciated.
I haven’t done this myself yet, but when I do I’m planning to use the Kotlin SDK, I guess there’s an equivalent for Java if you’re not using Kotlin. It would be nice if that were separated out into client and server artefacts, but it doesn’t seem to be. I’ve used that library in other projects and it works well, I don’t see any reason it wouldn’t work from within a plugin.
Are you planning to integrate the MCP server directly into your plugin and call it directly, or are you going to require users to set it up like most clients do with third party servers?
Are you planning to integrate the MCP server directly into your plugin and call it directly, or are you going to require users to set it up like most clients do with third party servers?
I’m not sure yet. Certainly a direct MCP server integration into my plugin would provide the most flexibility in all regards, but it would also require the most custom work.
If I discover that using the existing MCP clients – AI Assistant and Junie at a minimum – have an automatic additional expense to them (if used in any actual professional manner) that’s avoided by integrating it myself, that will almost certainly push me to integrate it directly. I really don’t want to have to tell my end users that this new agentic AI feature also introduces a new recurring cost.
I would definitely use that library rather than integrating with AI Assistant or Junie - that keeps you independent of them, doesn’t require any subscription, and allows your users to use e.g. Github Copilot for their AI integration if they prefer.
Which transport does the MCP server use? Is it a remote HTTP one, or a local process? If it’s local, do you know if it’s a JVM process?
In that case, if it were me, I’d use the library above (integration is pretty simple), and assuming you’re not planning to become a general MCP client for other services, I’d just provide some UI guidance for users to configure it automatically for them.
Yeah, I’m going to play with that strategy next. It just makes me nervous that I’ll have to implement all of the prompting, etc., properly to make sure that it’s 100% solid since we’re talking about something that could make changes to the local project files. I’ll certainly understand that better after digging in, though. Thanks for the thoughts!