Skip to content

Commit 407e37c

Browse files
author
Jicheng Lu
committed
add mcp http setting
1 parent c7cf809 commit 407e37c

2 files changed

Lines changed: 22 additions & 3 deletions

File tree

src/Infrastructure/BotSharp.Abstraction/MCP/Models/McpServerConfigModel.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,19 @@ public class McpServerConfigModel
2828
public string? Description { get; set; }
2929

3030
public McpSseServerConfig? SseConfig { get; set; }
31+
public McpHttpServerConfig? HttpConfig { get; set; }
3132
public McpStdioServerConfig? StdioConfig { get; set; }
3233
}
3334

34-
public class McpSseServerConfig
35+
public class McpSseServerConfig : McpHttpServerConfigBase
36+
{
37+
}
38+
39+
public class McpHttpServerConfig : McpHttpServerConfigBase
40+
{
41+
}
42+
43+
public class McpHttpServerConfigBase
3544
{
3645
public string EndPoint { get; set; } = null!;
3746
public TimeSpan ConnectionTimeout { get; init; } = TimeSpan.FromSeconds(30);
@@ -42,6 +51,6 @@ public class McpStdioServerConfig
4251
{
4352
public string Command { get; set; } = null!;
4453
public IList<string>? Arguments { get; set; }
45-
public Dictionary<string, string>? EnvironmentVariables { get; set; }
54+
public Dictionary<string, string?>? EnvironmentVariables { get; set; }
4655
public TimeSpan ShutdownTimeout { get; set; } = TimeSpan.FromSeconds(5);
4756
}

src/Infrastructure/BotSharp.Core/MCP/Managers/McpClientManager.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,17 @@ public McpClientManager(
2828
}
2929

3030
IClientTransport? transport = null;
31-
if (config.SseConfig != null)
31+
if (config.HttpConfig != null)
32+
{
33+
transport = new HttpClientTransport(new HttpClientTransportOptions
34+
{
35+
Name = config.Name,
36+
Endpoint = new Uri(config.HttpConfig.EndPoint),
37+
AdditionalHeaders = config.HttpConfig.AdditionalHeaders,
38+
ConnectionTimeout = config.HttpConfig.ConnectionTimeout
39+
});
40+
}
41+
else if (config.SseConfig != null)
3242
{
3343
transport = new HttpClientTransport(new HttpClientTransportOptions
3444
{

0 commit comments

Comments
 (0)