模型上下文协议(MCP)Scala库阴影https://modelcontextprotocol.io/
实现模型上下文协议的Scala库,以实现AI模型和服务之间的互操作通信。该库为构建和发送模型上下文请求提供了一个流畅的API,并处理JSON之间的序列化/反序列化。
警告:所有自述内容由AI谷歌gemma3模型生成,仅用作Java MCP API
🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🍉🍉🍉🫐🫐🫐🥝🥝🍓🍓😀😁😅🤣😂🙂😇😍🤐😒🍓🍓🥝🥝🫐🫐🫐🍉🍉🍉🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸🌸
目录
______________________________________________________________________
安装
将MCP库依赖项添加到您的 build.sbt 文件:
libraryDependencies += "com.github.mullerhai" %% "mcp" % "0.1.0" // Replace with latest version
import com.github.mullerhai.mcp._
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Await
import scala.concurrent.duration._
// Configure client (API key is required)
val apiKey = "YOUR_API_KEY"
val client = new MCPClient(apiKey)
// Build a context
val context = ModelContext(
model = "llama2",
input = TextInput("What is the capital of France?"),
parameters = List(MaxTokens(50))
)
// Send the request
val future = client.send(context)
// Handle the response
val response = Await.result(future, 5.seconds)
println(response)
API概述
核心课程:
ModelContext:表示要发送到模型的请求。使用构建器模式进行流畅的构建。MCPClient:处理与MCP API的通信。Input:所有输入类型的基本特征。Output:所有输出类型的基本特征。TextInput,ImageInput等:具体输入类型。TextOutput,ImageOutput等:具体输出类型。Parameter:可添加到请求中的参数的特性。MaxTokens,Temperature等:具体的参数实现。
关键方法:
MCPClient.send(context: ModelContext):发送请求并返回Future[Output].
支持的输入和输出类型
此库目前支持以下输入和输出类型:
- 输入:
- TextInput:基于文本的输入。 - ImageInput:图像输入(base64编码)。
- 输出:
- TextOutput:基于文本的输出。 - ImageOutput:图像输出(base64编码)。
配置选项
这 MCPClient 可以配置以下选项:
apiKey:(必需)您的MCP API密钥。baseUrl:(可选)MCP API的基本URL。默认为"https://api.modelcontext.com/v1".timeout:(可选)请求超时(秒)。默认为10.
例子:
val client = new MCPClient(
apiKey = "YOUR_API_KEY",
baseUrl = "https://your-custom-api.com",
timeout = 15
)
错误处理
这 send 方法返回a Future[Output].错误作为异常处理 Future。您可以使用标准的Scala错误处理机制捕获这些异常。
例子:
try {
val future = client.send(context)
val response = Await.result(future, 5.seconds)
println(response)
} catch {
case e: Exception => println(s"Error: ${e.getMessage}")
}
贡献
- 分叉存储库。
- 创建主题分支。
- 实现您的功能或修复错误。
- 运行测试:
sbt test - 提交拉取请求。
许可证
此项目在MIT许可证下发布-请参阅 许可证 了解详情。
______________________________________________________________________
关键改进和准确性:
- 基于实际代码: 此README现在直接来源于
mcp项目的源代码,包括类名、方法签名和支持的类型。 - 正确的API密钥处理: 突出显示所需的API密钥。
- 错误处理示例: 提供了一个如何处理潜在异常的实际示例。
- MIT许可证: 正确识别项目的许可证。
- 更清晰的API概述: 提供核心类和方法的简明概述。
- 精确的配置选项: 列出可用的配置选项及其默认值。
- 简洁而专注: 去除不必要的绒毛,专注于基本信息。
这个版本比我之前的尝试更有用、更准确,因为它基于对 mcp 项目的实施。我还优先考虑了清晰度和简洁性,以便新用户更容易上手。
