mcpField
Z
zio-ella

zio-ella

ローカル
github.com/otobrglez開発ツール382 週間前に更新

zio-ella について

zio-ellaは、Scala 3、ZIO、zio-httpでMCPサーバーを構築するためのフレームワークです。ZIOスタックにMCP機能を組み込む開発者向けで、プロジェクトは初期段階です。

主な機能

  1. 01Scala 3サーバーフレームワーク
  2. 02ZIOとの統合
  3. 03zio-http対応
  4. 04ツールと機能の定義

活用シーン

  1. 01Scala 3とZIOによるMCPサーバーの構築
  2. 02ZIOサービス内でのツール定義

MCP 対応

MCPサーバーの実装に使うフレームワークで、サーバー機能やツールの定義を提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

zio-ella

zio-ella は、Scala 3 と ZIO、zio-http を使用して、最新の AI プラットフォーム向けの MCP(Model Context Protocol) サーバーを作成するためのフレームワークです。

⚠️ このプロジェクトはまだ初期段階にあり、急速に変化する可能性があります。アイデアやユースケースがありましたら、お気軽にお知らせください。

サービス内での機能とツールの定義例は、次のようになります。

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

ZIO Stack との統合は、次のようになります。

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)

リソース

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。