Hi Anton, That's very nice to read :) I was just trying to do some basic stuff and didn't put much thinking into those tools as I started everything as a PoC. I just wanted to ensure that NetBeans users didn't feel left on the side while the AI train was passing ;-) Also after meeting Geertjan last week I felt like I had to give back mre to the only IDE you need :-) It would be great to find a way to use your MCP tools which are far more advanced than mine as i just wanted to test if the agent would be able to access them :) I would be happy to discuss that further, feel free to open PRs on my branch Cheers, ---------- Emmanuel Hugonnet http://www.ehsavoie.com http://twitter.com/ehsavoie
Le mer. 14 oct. 2026 à 16:18, Anton Epple <[email protected]> a écrit : > Hi Emmanuel, > > great to see this. I've been working on something closely related, from > the other direction: Dukehoff MCP for Java runs a headless NetBeans as an > MCP server for agents outside the IDE, such as Copilot CLI, Claude Code and > Codex. In VS Code it runs inside the Apache NetBeans extension: Our > extension just ships a cluster in its nbcode/ folder, which the Apache > extension loads. It's Apache 2.0: > > - https://github.com/dukehoff-gmbh/dukehoff-mcp > - > https://marketplace.visualstudio.com/items?itemName=dukehoff.dukehoff-mcp-java > > Our tool sets overlap: rename, find usages, safe delete, move and inline > are on both sides. Since we built an evaluation harness early on (real > agent sessions, with and without the tools), a few findings might be useful > for your PR: > > 1. Address symbols by name, not by file and offset. Our tools take > com.acme.Foo#bar(String). Agents know names; offsets cost them an extra > read, go stale after the agent's next edit, and an overload needs its > signature anyway. > 2. Check compilation after every refactoring. Each refactoring reports the > compile errors it introduced, including in files it didn't touch, such as > callers of a method that became private. Then the agent doesn't need a > build to find out. > 3. The server instructions decide whether agents use the tools at all. > Without instructions that map questions like "who calls X" to find_usages, > agents kept grepping. With them, in our tests a rename across NetBeans' own > java/ folder took 5 agent turns instead of 48. > 4. Don't answer while the index is still being checked. We tried it, and > the results were silently incomplete. Agents can't tell; they need a "not > ready yet, call again". > > Beyond that, we have change_signature, compile errors without a build, > structural search and replace with Jackpot rules, and a one-call debugger > stop in a test. > > It would be a pity to end up with two implementations of the same Java > tools in the NetBeans world. I'd be happy to align on this, either by > making our tools available through your McpToolProvider SPI, or by talking > about bringing the Java tools into NetBeans itself. Happy to discuss here > or on a call. > > Best regards, > Toni > > Am 14.10.26, 15:52 schrieb "ehsavoie" <[email protected] > <mailto:[email protected]>>: > > > Hello, > I've been playing around to use Agent Client Protocol to connect a coding > agent into NetBeans. > I'm trying to expose NetBeans internal features to the agent for > refactoring or searching code. > It is a work in progress, but part of it is already on a PR [1]. > I've tested in with Github Copilot and IBM Bob so far and I find it nice > for now even if it is a bit rought on the edges. > Cheers > Emmanuel Hugonnet > http://www.ehsavoie.com <http://www.ehsavoie.com> > http://twitter.com/ehsavoie <http://twitter.com/ehsavoie> > > > > > > > > > [1]: https://github.com/apache/netbeans/pull/9712 < > https://github.com/apache/netbeans/pull/9712> > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > For further information about the NetBeans mailing lists, visit: > https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists > > > >
