Model Context Protocol (MCP) Scala Library   Shade from https://modelcontextprotocol.io/

Model Context Protocol (MCP) Scala Library Shade from https://modelcontextprotocol.io/

site icon
2025.03.20 5
ScalaAI 模型通信Scala 库开发效率
sakura-mcp 是一个基于 Scala 的库,实现了 Model Context Protocol (MCP),用于在 AI 模型和服务之间实现可互操作的通信。该库提供了流畅的 API 用于构建和发送模型上下文请求,并处理 JSON 的序列化和反序列化。
View on GitHub

Overview

基本能力

产品定位

sakura-mcp 是一个用于 AI 模型和服务之间通信的 Scala 库,旨在简化模型请求的构建和发送过程。

核心功能

  • 提供流畅的 API 用于构建和发送模型上下文请求。
  • 支持多种输入和输出类型,包括文本和图像。
  • 支持配置请求参数,如最大令牌数和温度。
  • 提供错误处理机制。

适用场景

  • 在 Scala 项目中集成 AI 模型服务。
  • 构建需要与 AI 模型交互的应用程序。
  • 需要处理多种输入和输出类型的 AI 服务。

工具列表

  • ModelContext: 用于构建模型请求。
  • MCPClient: 用于与 MCP API 通信。
  • TextInput, ImageInput: 用于处理文本和图像输入。
  • TextOutput, ImageOutput: 用于处理文本和图像输出。
  • MaxTokens, Temperature: 用于配置请求参数。

常见问题解答

  • 如何获取 API 密钥? API 密钥是必需的,需要从 MCP API 提供商处获取。
  • 如何处理错误? 使用 Scala 的标准错误处理机制捕获 Future 中的异常。

使用教程

使用依赖

build.sbt 文件中添加以下依赖:

libraryDependencies += "com.github.mullerhai" %% "mcp" % "0.1.0"

安装教程

  1. build.sbt 中添加依赖。
  2. 导入必要的库:
import com.github.mullerhai.mcp._
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Await
import scala.concurrent.duration._
  1. 配置客户端并发送请求:
val apiKey = "YOUR_API_KEY"
val client = new MCPClient(apiKey)

val context = ModelContext(
  model = "llama2",
  input = TextInput("What is the capital of France?"),
  parameters = List(MaxTokens(50))
)

val future = client.send(context)
val response = Await.result(future, 5.seconds)
println(response)

调试方式

使用以下命令运行测试:

sbt test

许可证

该项目遵循 MIT 开源许可条款。