update rmcp

add mistral config to own_assist_common
This commit is contained in:
2026-07-30 20:59:17 +02:00
parent 199d4080cb
commit 5a4bf4ec8a
7 changed files with 95 additions and 82 deletions
Generated
+69 -69
View File
@@ -653,13 +653,13 @@ dependencies = [
[[package]]
name = "displaydoc"
version = "0.2.6"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
"syn 3.0.3",
]
[[package]]
@@ -987,9 +987,9 @@ checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f"
[[package]]
name = "http"
version = "1.4.2"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425"
checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0"
dependencies = [
"bytes",
"itoa",
@@ -1137,9 +1137,9 @@ dependencies = [
[[package]]
name = "icalendar"
version = "0.17.12"
version = "0.17.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3478c3b7a2411366daf20457373174bff6cfbc1089333038b1f95594d23d985"
checksum = "8fda1b791865374063fa57e84adfe3823c2d5cd5968d721533be4556a24cffd8"
dependencies = [
"chrono",
"chrono-tz",
@@ -1542,6 +1542,8 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
[[package]]
name = "mcp_server_collection"
version = "0.2.2"
source = "sparse+https://git.mboemer.de/api/packages/milan/cargo/"
checksum = "875dadf54b4c4ddb6c11d724c41991011c8d24a5fde23c69d7c1e91aff913acf"
dependencies = [
"axum",
"chrono",
@@ -1565,9 +1567,7 @@ dependencies = [
[[package]]
name = "mcp_server_collection"
version = "0.2.2"
source = "sparse+https://git.mboemer.de/api/packages/milan/cargo/"
checksum = "875dadf54b4c4ddb6c11d724c41991011c8d24a5fde23c69d7c1e91aff913acf"
version = "0.2.3"
dependencies = [
"axum",
"chrono",
@@ -1577,7 +1577,7 @@ dependencies = [
"icalendar",
"libdav",
"own_assist_common 0.3.0",
"rmcp 2.2.0",
"rmcp 3.0.1",
"serde",
"thiserror 2.0.19",
"tokio",
@@ -1987,7 +1987,7 @@ dependencies = [
[[package]]
name = "own_assist_cli"
version = "0.3.0"
version = "0.3.1"
dependencies = [
"base64 0.23.0",
"clap",
@@ -1996,17 +1996,15 @@ dependencies = [
"dialoguer",
"indicatif",
"log",
"mcp_server_collection 0.2.2 (sparse+https://git.mboemer.de/api/packages/milan/cargo/)",
"ollama-rs",
"own_assist_common 0.4.1",
"own_mcp 0.1.1",
"rmcp 2.2.0",
"mcp_server_collection 0.2.2",
"own_assist_common 0.4.2",
"own_mcp 0.2.0",
"rmcp 3.0.1",
"rodio",
"serde",
"thiserror 2.0.19",
"tokio",
"tokio-util",
"url",
]
[[package]]
@@ -2024,9 +2022,9 @@ dependencies = [
[[package]]
name = "own_assist_common"
version = "0.4.1"
version = "0.4.2"
source = "sparse+https://git.mboemer.de/api/packages/milan/cargo/"
checksum = "324156da8ebc00f6d5b6bd7709ffdf4dfe56bb0bb274315c133060d59ac8212b"
checksum = "fa329dcbbc05984ff2f2cc8cad5d8ea09939e3cb04ae4c1d41bfa402faa27c70"
dependencies = [
"log",
"ollama-rs",
@@ -2039,10 +2037,11 @@ dependencies = [
[[package]]
name = "own_assist_common"
version = "0.4.2"
version = "0.4.3"
dependencies = [
"log",
"ollama-rs",
"own_mcp 0.2.0",
"serde",
"thiserror 2.0.19",
"toml",
@@ -2050,30 +2049,11 @@ dependencies = [
"url",
]
[[package]]
name = "own_mcp"
version = "0.1.1"
source = "sparse+https://git.mboemer.de/api/packages/milan/cargo/"
checksum = "25d29e333d7fdd062f351598ed9761a10b7bb3c941259a66ce81cc12f484ecbe"
dependencies = [
"bytes",
"cpal 0.18.1",
"env_logger",
"hound",
"log",
"ollama-rs",
"rand 0.10.2",
"reqwest 0.13.4",
"rmcp 2.2.0",
"serde",
"thiserror 2.0.19",
"tokio",
"url",
]
[[package]]
name = "own_mcp"
version = "0.2.0"
source = "sparse+https://git.mboemer.de/api/packages/milan/cargo/"
checksum = "427641dafd06874e48a145761005779421db27710698fe0ac8fdfd27b0e3b46e"
dependencies = [
"async-trait",
"bytes",
@@ -2085,7 +2065,27 @@ dependencies = [
"ollama-rs",
"rand 0.10.2",
"reqwest 0.13.4",
"rmcp 3.0.0",
"rmcp 3.0.1",
"serde",
"thiserror 2.0.19",
"tokio",
"url",
]
[[package]]
name = "own_mcp"
version = "0.2.1"
dependencies = [
"async-trait",
"bytes",
"chrono",
"cpal 0.18.1",
"hound",
"log",
"ollama-rs",
"rand 0.10.2",
"reqwest 0.13.4",
"rmcp 3.0.1",
"serde",
"thiserror 2.0.19",
"tokio",
@@ -2527,12 +2527,9 @@ dependencies = [
"http",
"http-body",
"http-body-util",
"oauth2",
"pastey",
"pin-project-lite",
"process-wrap",
"rand 0.10.2",
"reqwest 0.13.4",
"rmcp-macros 2.2.0",
"schemars",
"serde",
@@ -2544,15 +2541,14 @@ dependencies = [
"tokio-util",
"tower-service",
"tracing",
"url",
"uuid",
]
[[package]]
name = "rmcp"
version = "3.0.0"
version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcd2b6dd3b18129368955f32661a7718969e8c152c7d8866434c09cf15a512e0"
checksum = "3797d226787327b35b0b6f9e878fe55f3af2bb4daf916c0411079885454042f0"
dependencies = [
"async-trait",
"base64 0.23.0",
@@ -2560,12 +2556,15 @@ dependencies = [
"chrono",
"futures",
"http",
"http-body",
"http-body-util",
"oauth2",
"pastey",
"pin-project-lite",
"process-wrap",
"rand 0.10.2",
"reqwest 0.13.4",
"rmcp-macros 3.0.0",
"rmcp-macros 3.0.1",
"schemars",
"serde",
"serde_json",
@@ -2574,6 +2573,7 @@ dependencies = [
"tokio",
"tokio-stream",
"tokio-util",
"tower-service",
"tracing",
"url",
"uuid",
@@ -2594,9 +2594,9 @@ dependencies = [
[[package]]
name = "rmcp-macros"
version = "3.0.0"
version = "3.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1aa4b9345795260a43fc23d6d05e096407c8b953903f673af7c4404b49fb2d6"
checksum = "a8f5bc0c6851a20cd627ef4b90defb79f39a261c467de52af5d38000d7979c52"
dependencies = [
"darling",
"proc-macro2",
@@ -2679,9 +2679,9 @@ dependencies = [
[[package]]
name = "rustls"
version = "0.23.42"
version = "0.23.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c54fcab019b409d04215d3a17cb438fd7fbf192ee61461f20f4fe18704bc138"
checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06"
dependencies = [
"aws-lc-rs",
"log",
@@ -2785,9 +2785,9 @@ dependencies = [
[[package]]
name = "schemars"
version = "1.2.1"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc"
checksum = "687274d293b6cdc6e73e0fee520bf2049650090d7164f87672d212a3c530cf4a"
dependencies = [
"chrono",
"dyn-clone",
@@ -2799,14 +2799,14 @@ dependencies = [
[[package]]
name = "schemars_derive"
version = "1.2.1"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f"
checksum = "d98c67716b46af2f0b8cf752abc930f6f9aecfbf671ecfb531db8a31dbe4e2ba"
dependencies = [
"proc-macro2",
"quote",
"serde_derive_internals",
"syn 2.0.119",
"syn 3.0.3",
]
[[package]]
@@ -2876,13 +2876,13 @@ dependencies = [
[[package]]
name = "serde_derive_internals"
version = "0.29.1"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
checksum = "f852137cce035d6a4df67ccce505ff6b3e9fd3a10e3e52b24dc71e650bb1a9bd"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
"syn 3.0.3",
]
[[package]]
@@ -3370,13 +3370,13 @@ dependencies = [
[[package]]
name = "tokio-macros"
version = "2.7.1"
version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6328af13490e73a9b4694030fafd93f8c8c6a9dede33e821c3fc63eddf8042ba"
checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
"syn 3.0.3",
]
[[package]]
@@ -3426,9 +3426,9 @@ dependencies = [
[[package]]
name = "toml"
version = "1.1.3+spec-1.1.0"
version = "1.1.4+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53c96ecdfa941c8fc4fcaed14f99ada8ebed502eef533015095a07e3301d4c3c"
checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5"
dependencies = [
"indexmap",
"serde_core",
@@ -3462,9 +3462,9 @@ dependencies = [
[[package]]
name = "toml_parser"
version = "1.1.2+spec-1.1.0"
version = "1.1.3+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526"
checksum = "1d38ac1cf9b95face32296c0a3ede1fdc270627c9d9c02a7274dd6d960dc4d56"
dependencies = [
"winnow",
]
+3 -5
View File
@@ -1,17 +1,15 @@
[package]
name = "own_assist_cli"
version = "0.3.0"
version = "0.3.1"
edition = "2024"
license = "GPL-3.0"
[dependencies]
ollama-rs = { version = "0.3.4", features = ["macros", "headers"] }
tokio = { version = "1.50.0", features = ["rt", "rt-multi-thread", "macros", "io-std"] }
rmcp = { version = "2.2.0", features = ["client"] }
rmcp = { version = "3.0.1", features = ["client"] }
log = { version = "0.4.29" }
serde = { version = "1.0.228", features = ["derive"] }
url = "2.5.8"
own_mcp = { version = "0.1.1", registry = "gitea" }
own_mcp = { version = "0.2.0", registry = "gitea" }
own_assist_common = { version = "0.4.1", registry = "gitea" }
mcp_server_collection = { version = "0.2.0", registry = "gitea", optional = true}
thiserror = "2.0.18"
+1 -1
View File
@@ -116,7 +116,7 @@ async fn main() {
.inspect_err(exit_msg!("failed creating MCP clients"))
.unwrap();
let mut agent_chat = AgentChat::new(ollama, model_name.clone(), mcp_clients)
let mut agent_chat = AgentChat::new(Box::new(ollama), model_name.clone(), mcp_clients)
.await
.inspect_err(exit_msg!("failed to create agent"))
.unwrap();
+3 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "own_assist_common"
version = "0.4.2"
version = "0.4.3"
edition = "2024"
license = "GPL-3.0"
@@ -11,4 +11,5 @@ serde = { version = "1.0.228", features = ["derive"] }
log = "0.4.29"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"]}
url = { version = "2.5.8", features = ["serde"] }
ollama-rs = { version = "0.3.6", features = ["headers"]}
ollama-rs = { version = "0.3.6", features = ["headers"]}
own_mcp = { version = "0.2.0", registry = "gitea" }
+15
View File
@@ -1,6 +1,7 @@
use ollama_rs::error::OllamaError;
use ollama_rs::models::ModelOptions;
use ollama_rs::models::create::{CreateModelRequest, CreateModelStatus};
use own_mcp::mcp::Mistral;
use serde::Deserialize;
use url::Url;
@@ -82,6 +83,20 @@ pub struct OllamaModelConfig {
pub temperature: Option<f32>,
}
#[derive(Debug, Clone, Deserialize)]
pub struct MistralConfig {
#[serde(rename = "api-key")]
pub api_key: String,
#[serde(rename = "system-prompt")]
pub system_prompt: Option<String>,
}
impl MistralConfig {
pub fn mistral(self) -> Mistral {
Mistral::new(self.api_key).with_system_prompt(self.system_prompt)
}
}
#[derive(Debug, Clone, Deserialize)]
pub struct MCPClientConfig {
pub name: Option<String>,
+2 -2
View File
@@ -1,11 +1,11 @@
[package]
name = "mcp_server_collection"
version = "0.2.2"
version = "0.2.3"
edition = "2024"
license = "GPL-3.0"
[dependencies]
rmcp = { version = "2.2.0", features = ["server", "transport-streamable-http-server-session", "transport-streamable-http-server"] }
rmcp = { version = "3.0.1", features = ["server", "transport-streamable-http-server-session", "transport-streamable-http-server"] }
chrono = "0.4.44"
axum = "0.8.9"
serde = { version = "1.0.228", features = ["derive"] }
+2 -3
View File
@@ -1,6 +1,6 @@
[package]
name = "own_mcp"
version = "0.2.0"
version = "0.2.1"
edition = "2024"
license = "GPL-3.0"
@@ -8,9 +8,8 @@ license = "GPL-3.0"
ollama-rs = {version = "0.3.6", features = ["macros", "headers"]}
reqwest = { version = "0.13.2", features = ["stream", "multipart", "form"] }
tokio = { version = "1.50.0", features = ["rt", "rt-multi-thread", "macros"] }
rmcp = {version="3.0.0", features = ["transport-streamable-http-client-reqwest", "reqwest", "client", "auth", "transport-child-process"]}
rmcp = {version="3.0.1", features = ["transport-streamable-http-client-reqwest", "reqwest", "client", "auth", "transport-child-process"]}
log = {version = "0.4.29"}
env_logger = "0.11.11"
serde = { version = "1.0.229", features = ["derive"] }
thiserror = "2.0.19"
url = "2.5.8"