42 lines
1.6 KiB
Kotlin
42 lines
1.6 KiB
Kotlin
// Generic MCP (Model Context Protocol) bridge — переиспользуемый модуль,
|
||
// который превращает любой MCP-сервер (stdio subprocess или HTTP endpoint)
|
||
// в набор [LiteTool]-адаптеров.
|
||
//
|
||
// Вынесен из :standalone — MCP не специфичен для standalone'а, это generic
|
||
// мост между MCP-SDK и litert-kmp. Может переиспользоваться в :agentik-cli
|
||
// или :agentik-tui когда те снова включатся.
|
||
//
|
||
// Зависимости:
|
||
// - litert.api для LiteTool контракта (в v9 у LiteTool появилось поле name,
|
||
// NamedTool-обёртка из :agent-toolsets больше не нужна)
|
||
// - MCP SDK (JVM-only)
|
||
// - Ktor client (для StreamableHttpClientTransport)
|
||
// - kotlinx-serialization для парсинга конфига
|
||
plugins {
|
||
alias(libs.plugins.kotlin.jvm)
|
||
alias(libs.plugins.kotlin.serialization)
|
||
}
|
||
|
||
kotlin {
|
||
jvmToolchain(21)
|
||
}
|
||
|
||
dependencies {
|
||
// :agent-api — отсюда Component / ToolProvider; McpBridgeComponent
|
||
// реализует Component и подсовывает MCP-тулы через ToolProvider.
|
||
api(project(":agent-api"))
|
||
|
||
api(libs.litert.api)
|
||
|
||
implementation(libs.mcp.sdk.client)
|
||
implementation(libs.ktor.client.core)
|
||
implementation(libs.ktor.client.cio)
|
||
implementation(libs.ktor.client.content.negotiation)
|
||
implementation(libs.ktor.serialization.kotlinx.json)
|
||
|
||
implementation(libs.kotlinx.coroutines.core)
|
||
implementation(libs.kotlinx.serialization.json)
|
||
|
||
implementation(libs.kotlin.logging)
|
||
}
|