FYI - we used multispy in an AI Agent project
Dear @LakshyAAAgrawal and all other multilspy contributors,
First, I'd like to personally thank you for this amazing project! From all LSP related things implemented in python this is the best one I have seen, and by a large margin.
I wanted to tell you that we built an AI Coding Agent (in fact, an MCP Server that can act as a coding agent) by heavily relying on multilspy. In fact, without multilspy we might not even have started it.
Unfortunately, it would have been impractical for us to use multilspy as dependency, since we had to significantly expand the language server's symbolic capabilities (far beyond standard LSP) to achieve our goals. So instead, we reluctantly copied the source code. We were also not sure you would be interested in integrating our extensions into the official multilspy, since they have quite a different focus and scope.
If you are interested in it, we would be happy to start the conversation about integrating our changes into your project and maybe eventually including multilspy as dependency instead of as copied code.
Meanwhile, we will keep porting the extensions of this repo to our copy. Do you have a preference for how to acknowledge the work of the contributors? We won't be able to cherry-pick, but we could for example mention their names in the commits.
Maybe some of the contributors here would also be interested in contributing to our project :)
In any case, thanks again for the really well written and functional code here!
You'll find our project here: https://github.com/oraios/serena
@opcode81 FYI
I suppose you read this by now. Since there are no action points in the issue, I'm closing it
Dear @MischaPanch ,
I apologize for the delay as I had missed this earlier. Thank you so much for the kind words. It is thanks to the amazing community and contributions from everyone that has really helped multilspy to be what it is today!
We were also not sure you would be interested in integrating our extensions into the official multilspy, since they have quite a different focus and scope.
We would actually be highly interested! As such, we recognize that AI devtools are going to be the biggest userbase of multilspy, and it would be great for multilspy to provide as much support for various kinds of devtool usecases as possible! I would be glad to work with you on integrating these into multilspy at a pace comfortable for your team! Looking forward to it, and once again, apologies for the delay.
Great, happy to hear that! Pls have a look at the multilspy package in our codebase, by now it's quite a bit of code that we've written on top of the bare LS functionally. Then let me know how you'd like to proceed
@MischaPanch cool~ I also hope to use multilspy in my own agent project! However, I noticed that the README of your project oraios/serena also mentions the slow and unstable issues with Java. I encountered the same problems during my attempts. Do you have any corresponding solutions? Or does using multilspy with Java require me to configure anything specific on my machine?
No, but we also haven't put effort in solving them yet.
@adlternative it might be interesting for you that we had to "remove" our reliance on multilspy due to asyncio issues. This is not a problem of the project but of asyncio itself, as running multiple asyncio apps in one process leads to horrible and essentially unsolvable racing conditions. Since multilspy is asyncio first, it was unsolvable in that context and we had to rewrite the language server interaction (still heavily relying on multilspy code, but our copy of it is no longer compatible and doesn't use asyncio).
The problems were primarily caused by the MCP server, so it might not affect you. If you see a danger for your agent as well, check out our code in the solidlsp subpackage, we also wrote documentation on these problems to .serena/memories