Content
# zio-ella
[zio-ella] is a framework for writing [MCP (Model Context Protocol)][mcp] servers for modern AI platforms with Scala 3
and [ZIO] with `zio-http`.
> ⚠️ The project is in its early phase and is bound to rapid change. Please feel free to reach-out with ideas and use-cases.
Example capabilities and tools definition within a service might look like:
```scala 3
import zio.ZIO
import zio.dev.ella.*
object MyService:
val capabilities = Capabilities(
// Tool that only returns current server time
Tool("get-time") -> { _ =>
zio.Clock.instant.map(_.toString)
},
// Exemple tool to get where we accept city as an argument.
Tool("get-weather", ArgDef.string("city")) -> {
_.string("city").flatMap(city => ZIO.succeed(s"Weather in $city is sunny!"))
}
)
def run = MCPServer(capabilities).run
```
Integration with the ZIO Stack as follows:
```scala 3
object Main extends ZIOAppDefault:
def program = for
_ <- logInfo("Booting...")
_ <- MyService.run
yield ()
def configuredServer: TaskLayer[Server] =
ZLayer
.fromZIO(ZIO.config(Config.int("port")).tap(port => logInfo(s"Starting server on port $port")))
.flatMap(portEnv => Server.defaultWithPort(portEnv.get))
def run = program.provide(configuredServer)
```
## Resources
- [MCP Protocol Tutorial](https://www.claudemcp.com/)
- [Anthropic / Model Context Protocol (MCP)](https://docs.anthropic.com/en/docs/agents-and-tools/mcp)
- [MCP Inspector](https://github.com/modelcontextprotocol/inspector)
[ZIO]: https://zio.dev
[zio-ella]: https://github.com/otobrglez/zio-ella
[mcp]: https://modelcontextprotocol.io/introduction
Connection Info
You Might Also Like
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
servers
Model Context Protocol Servers
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
Time
A Model Context Protocol server for time and timezone conversions.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.