@@ -37,7 +37,10 @@ async fn main() -> Result<()> {
3737 // -------------------------------------------------------------------------
3838 println ! ( "--- Test 1: MCP tool name format ---" ) ;
3939 {
40- use a3s_code_core:: mcp:: { manager:: McpManager , protocol:: { McpServerConfig , McpTransportConfig , McpTool } } ;
40+ use a3s_code_core:: mcp:: {
41+ manager:: McpManager ,
42+ protocol:: { McpServerConfig , McpTool , McpTransportConfig } ,
43+ } ;
4144 use std:: sync:: Arc ;
4245
4346 let manager = Arc :: new ( McpManager :: new ( ) ) ;
@@ -60,7 +63,8 @@ async fn main() -> Result<()> {
6063 let tool_name = wrappers[ 0 ] . name ( ) ;
6164 assert_eq ! (
6265 tool_name, "mcp__github__create_issue" ,
63- "Tool name must use double-underscore: got '{}'" , tool_name
66+ "Tool name must use double-underscore: got '{}'" ,
67+ tool_name
6468 ) ;
6569 println ! ( " tool name: {} ✓" , tool_name) ;
6670 }
@@ -72,9 +76,12 @@ async fn main() -> Result<()> {
7276 // -------------------------------------------------------------------------
7377 println ! ( "\n --- Test 2: add_mcp_server on live session ---" ) ;
7478 {
75- use a3s_code_core:: mcp:: { manager:: McpManager , protocol:: { McpServerConfig , McpTransportConfig } } ;
76- use std:: sync:: Arc ;
79+ use a3s_code_core:: mcp:: {
80+ manager:: McpManager ,
81+ protocol:: { McpServerConfig , McpTransportConfig } ,
82+ } ;
7783 use std:: collections:: HashMap ;
84+ use std:: sync:: Arc ;
7885
7986 // Check if npx is available
8087 let npx_available = std:: process:: Command :: new ( "npx" )
@@ -84,32 +91,38 @@ async fn main() -> Result<()> {
8491 . unwrap_or ( false ) ;
8592
8693 if npx_available {
87- let session = agent. session (
88- "/tmp" ,
89- Some ( SessionOptions :: new ( ) . with_permissive_policy ( ) ) ,
90- ) ?;
94+ let session =
95+ agent. session ( "/tmp" , Some ( SessionOptions :: new ( ) . with_permissive_policy ( ) ) ) ?;
9196
9297 let manager = Arc :: new ( McpManager :: new ( ) ) ;
93- manager. register_server ( McpServerConfig {
94- name : "filesystem" . to_string ( ) ,
95- transport : McpTransportConfig :: Stdio {
96- command : "npx" . to_string ( ) ,
97- args : vec ! [
98- "-y" . to_string( ) ,
99- "@modelcontextprotocol/server-filesystem" . to_string( ) ,
100- "/tmp" . to_string( ) ,
101- ] ,
102- } ,
103- enabled : true ,
104- env : HashMap :: new ( ) ,
105- oauth : None ,
106- tool_timeout_secs : 30 ,
107- } ) . await ;
108-
109- match session. add_mcp_server ( Arc :: clone ( & manager) , "filesystem" ) . await {
98+ manager
99+ . register_server ( McpServerConfig {
100+ name : "filesystem" . to_string ( ) ,
101+ transport : McpTransportConfig :: Stdio {
102+ command : "npx" . to_string ( ) ,
103+ args : vec ! [
104+ "-y" . to_string( ) ,
105+ "@modelcontextprotocol/server-filesystem" . to_string( ) ,
106+ "/tmp" . to_string( ) ,
107+ ] ,
108+ } ,
109+ enabled : true ,
110+ env : HashMap :: new ( ) ,
111+ oauth : None ,
112+ tool_timeout_secs : 30 ,
113+ } )
114+ . await ;
115+
116+ match session
117+ . add_mcp_server ( Arc :: clone ( & manager) , "filesystem" )
118+ . await
119+ {
110120 Ok ( count) => {
111121 println ! ( " add_mcp_server: registered {} tools ✓" , count) ;
112- assert ! ( count > 0 , "Expected at least 1 tool from filesystem MCP server" ) ;
122+ assert ! (
123+ count > 0 ,
124+ "Expected at least 1 tool from filesystem MCP server"
125+ ) ;
113126 }
114127 Err ( e) => {
115128 println ! ( " add_mcp_server failed (non-fatal): {}" , e) ;
@@ -125,10 +138,8 @@ async fn main() -> Result<()> {
125138 // -------------------------------------------------------------------------
126139 println ! ( "\n --- Test 3: Basic LLM send ---" ) ;
127140 {
128- let session = agent. session (
129- "/tmp" ,
130- Some ( SessionOptions :: new ( ) . with_permissive_policy ( ) ) ,
131- ) ?;
141+ let session =
142+ agent. session ( "/tmp" , Some ( SessionOptions :: new ( ) . with_permissive_policy ( ) ) ) ?;
132143
133144 let result = session. send ( "Reply with exactly: OK" , None ) . await ?;
134145 println ! ( " LLM response: '{}' ✓" , result. text. trim( ) ) ;
0 commit comments