mcp_server_collection now also a library
own_assist now bundles the server collection by default
This commit is contained in:
+23
-4
@@ -10,8 +10,10 @@ use crate::model::create_model_from_config;
|
||||
use base64::Engine;
|
||||
use clap::Parser;
|
||||
use cpal::traits::HostTrait;
|
||||
use own_assist_common::exit_msg;
|
||||
use own_assist_common::config_loader::ConfigLoadingError;
|
||||
use own_assist_common::{exit_msg, init_tracing_subscriber};
|
||||
use own_mcp::AgentChat;
|
||||
use tokio::task::JoinHandle;
|
||||
|
||||
/// partial mcp client with cli and voice interaction
|
||||
#[derive(Parser, Debug)]
|
||||
@@ -64,6 +66,15 @@ async fn chat_loop(mut human_interface: impl HumanInterface, mut agent_chat: Age
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "built-in-mcp-collection")]
|
||||
fn launch_mcp_server() -> Result<JoinHandle<()>, ConfigLoadingError> {
|
||||
let config = mcp_server_collection::config::Config::from_file()?;
|
||||
|
||||
let handle = tokio::task::spawn(mcp_server_collection::serve(config));
|
||||
|
||||
Ok(handle)
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let args = Args::parse();
|
||||
@@ -72,10 +83,15 @@ async fn main() {
|
||||
return;
|
||||
}
|
||||
|
||||
env_logger::init();
|
||||
init_tracing_subscriber();
|
||||
|
||||
#[cfg(feature = "built-in-mcp-collection")]
|
||||
let mcp_server_task = launch_mcp_server()
|
||||
.inspect_err(exit_msg!("error loading server.toml"))
|
||||
.unwrap();
|
||||
|
||||
let config = Config::from_file()
|
||||
.inspect_err(exit_msg!("error loading assist.toml: {}"))
|
||||
.inspect_err(exit_msg!("error loading assist.toml"))
|
||||
.unwrap();
|
||||
|
||||
let ollama = config.ollama_instance();
|
||||
@@ -100,7 +116,7 @@ async fn main() {
|
||||
.unwrap();
|
||||
config.set_tool_permissions(&mut agent_chat).await.unwrap();
|
||||
|
||||
log::info!(
|
||||
log::debug!(
|
||||
"all tools: {:#?}",
|
||||
agent_chat.get_all_tools().collect::<Vec<_>>()
|
||||
);
|
||||
@@ -131,4 +147,7 @@ async fn main() {
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
#[cfg(feature = "built-in-mcp-collection")]
|
||||
mcp_server_task.await.unwrap();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user