chore(mcp): convert tutorial mcp server to use the rust sdk for mcp (#4665)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use anyhow::{anyhow, Result};
|
||||
use goose_mcp::{
|
||||
AutoVisualiserRouter, ComputerControllerRouter, DeveloperServer, MemoryRouter, TutorialRouter,
|
||||
AutoVisualiserRouter, ComputerControllerRouter, DeveloperServer, MemoryRouter, TutorialServer,
|
||||
};
|
||||
use mcp_server::router::RouterService;
|
||||
use mcp_server::{BoundedService, ByteTransport, Server};
|
||||
@@ -28,6 +28,7 @@ pub async fn run_server(name: &str) -> Result<()> {
|
||||
|
||||
tracing::info!("Starting MCP server");
|
||||
|
||||
// Handle RMCP-based servers
|
||||
if name == "developer" {
|
||||
let service = DeveloperServer::new()
|
||||
.serve(stdio())
|
||||
@@ -52,10 +53,22 @@ pub async fn run_server(name: &str) -> Result<()> {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
if name == "tutorial" {
|
||||
let service = TutorialServer::new()
|
||||
.serve(stdio())
|
||||
.await
|
||||
.inspect_err(|e| {
|
||||
tracing::error!("serving error: {:?}", e);
|
||||
})?;
|
||||
|
||||
service.waiting().await?;
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
// Handle old MCP-based servers
|
||||
let router: Option<Box<dyn BoundedService>> = match name {
|
||||
"computercontroller" => Some(Box::new(RouterService(ComputerControllerRouter::new()))),
|
||||
"memory" => Some(Box::new(RouterService(MemoryRouter::new()))),
|
||||
"tutorial" => Some(Box::new(RouterService(TutorialRouter::new()))),
|
||||
_ => None,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user