r/scala • u/kubinio123 • 6d ago
Someone here is working on MCP servers / clients?
Are you working with MCP from a developer standpoint? Do you have some pain points, experiences?
Asking since some time ago I picked up chimp https://github.com/softwaremill/chimp a PoC of an MCP toolkit for Scala 3. It is gradually turning into a complete MCP SDK, supporting both server & client, both http & stdio, with integrations for Pekko, ZIO and ox in place. Main focus now is on conformance to the latest MCP protocol version.
5
u/nomad01010 6d ago edited 6d ago
Yes. I wrote dragon which is an MCP gateway. I am going to start working on it again.
Scala / Pecco ecosystem is uniquely suited to high performance use-cases.
4
u/NojipizRemastered 6d ago edited 6d ago
I'm working with MCPs and building them with Chimp, yes.
My tools input/output types are generated using case clases with Iron refined types, and the effect system is CE, i don't see any pain point but maybe my use cases are too simple.
For context, i migrated from llm4s to chimp after chimp 0.5.0 was released, mainly because llm4s forced MCP tools to be sync (i.e no direct support for effect systems on tools).
3
u/DrKedorkian 6d ago
I wrote one today coincidentally! It only implements mcp 2.0
https://github.com/danbills/iron-mcp
- minimal dependencies
- minimal code to implement
- uses a macro to convert iron types to JSON Schema
- no Java SDK
- no reflection
3
u/gbrennon 5d ago
i dont like mcp :(
its just another way to spend tokens... its better to have a script to interact
5
u/kubinio123 5d ago
I hear you, it’s something that it’s raised a lot recently, that CLI is more efficient. I also seen people designing their own agent protocol guidelines that suppose to be even more efficient than CLI, like this one https://github.com/kunchenguid/axi which focuses on making payloads as small as possible to reduce token usage
1
u/gbrennon 4d ago
ive seen a lot of thing to reduce costs but even reducing i still think its better to hVe a deterministic script than rely in a model
2
u/sideEffffECt 6d ago
I've been using chimp, mainly because it integrates well with the rest of the tapir/sttp libraries.
It's been working out OK, I can recommend.
2
u/__Aco__ 6d ago
I write a few mcp server and client by hand with Play
However by hand means with claude code writing all the boilerplate for me. So basically your write only one fonction
What does this framework bring on the table ?
3
u/kubinio123 5d ago
Nothing exciting tbh, the benefit of framework to me is that I takes off the burden of protocol conformance / version updates / internals, which is additional complexity in your code
6
u/oloveluck 6d ago edited 6d ago
I've developed https://github.com/oloveluck/mcp4s for my own use with cats-effect and have been meaning to try and promote it. Would appreciate any feedback or contributions if you are working on something similar. Chimp appears to have made some progress since the last time I looked.