Skip to content

Commit ca14f63

Browse files
committed
feat(cli): Added Slack, Puppeteer and SequentialThinking tools.
1 parent 1c06457 commit ca14f63

File tree

2 files changed

+50
-11
lines changed

2 files changed

+50
-11
lines changed

src/Cli/src/Commands/DoCommandHandler.cs

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ public async Task<int> InvokeAsync(InvocationContext context)
6262
{
6363
Tools.Filesystem => new McpServerConfig
6464
{
65-
Id = "Filesystem",
66-
Name = "Filesystem",
65+
Id = Tools.Filesystem,
66+
Name = Tools.Filesystem,
6767
TransportType = TransportTypes.StdIo,
6868
TransportOptions = new Dictionary<string, string>
6969
{
@@ -73,19 +73,19 @@ public async Task<int> InvokeAsync(InvocationContext context)
7373
},
7474
Tools.Fetch => new McpServerConfig
7575
{
76-
Id = "Fetch",
77-
Name = "Fetch",
76+
Id = Tools.Fetch,
77+
Name = Tools.Fetch,
7878
TransportType = TransportTypes.StdIo,
7979
TransportOptions = new Dictionary<string, string>
8080
{
81-
["command"] = "python",
82-
["arguments"] = "-m mcp_server_fetch",
81+
["command"] = "docker",
82+
["arguments"] = "run -i --rm mcp/fetch",
8383
},
8484
},
8585
Tools.GitHub => new McpServerConfig
8686
{
87-
Id = "Fetch",
88-
Name = "Fetch",
87+
Id = Tools.GitHub,
88+
Name = Tools.GitHub,
8989
TransportType = TransportTypes.StdIo,
9090
TransportOptions = new Dictionary<string, string>
9191
{
@@ -95,15 +95,48 @@ public async Task<int> InvokeAsync(InvocationContext context)
9595
},
9696
Tools.Git => new McpServerConfig
9797
{
98-
Id = "Git",
99-
Name = "Git",
98+
Id = Tools.Git,
99+
Name = Tools.Git,
100100
TransportType = TransportTypes.StdIo,
101101
TransportOptions = new Dictionary<string, string>
102102
{
103103
["command"] = "docker",
104104
["arguments"] = $"run -i --rm {string.Join(' ', directories.Select(x => $"--mount type=bind,src={x},dst={x} "))} mcp/git",
105105
},
106106
},
107+
Tools.Puppeteer => new McpServerConfig
108+
{
109+
Id = Tools.Puppeteer,
110+
Name = Tools.Puppeteer,
111+
TransportType = TransportTypes.StdIo,
112+
TransportOptions = new Dictionary<string, string>
113+
{
114+
["command"] = "docker",
115+
["arguments"] = "run -i --rm --init -e DOCKER_CONTAINER=true mcp/puppeteer",
116+
},
117+
},
118+
Tools.SequentialThinking => new McpServerConfig
119+
{
120+
Id = Tools.SequentialThinking,
121+
Name = Tools.SequentialThinking,
122+
TransportType = TransportTypes.StdIo,
123+
TransportOptions = new Dictionary<string, string>
124+
{
125+
["command"] = "docker",
126+
["arguments"] = "run -i --rm mcp/sequentialthinking",
127+
},
128+
},
129+
Tools.Slack => new McpServerConfig
130+
{
131+
Id = Tools.Slack,
132+
Name = Tools.Slack,
133+
TransportType = TransportTypes.StdIo,
134+
TransportOptions = new Dictionary<string, string>
135+
{
136+
["command"] = "docker",
137+
["arguments"] = $"run -i --rm -e SLACK_BOT_TOKEN={Environment.GetEnvironmentVariable("SLACK_BOT_TOKEN")} -e SLACK_TEAM_ID={Environment.GetEnvironmentVariable("SLACK_TEAM_ID")} -e SLACK_CHANNEL_IDS={Environment.GetEnvironmentVariable("SLACK_CHANNEL_IDS")} mcp/slack",
138+
},
139+
},
107140
_ => throw new ArgumentException($"Unknown tool: {tool}"),
108141
},
109142
new McpClientOptions

src/Cli/src/Tools.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,18 @@ internal static class Tools
66
public const string Fetch = "fetch";
77
public const string GitHub = "github";
88
public const string Git = "git";
9+
public const string Puppeteer = "puppeteer";
10+
public const string SequentialThinking = "sequential-thinking";
11+
public const string Slack = "slack";
912

1013
public static string[] All =>
1114
[
1215
Filesystem,
1316
Fetch,
1417
GitHub,
15-
Git
18+
Git,
19+
Puppeteer,
20+
SequentialThinking,
21+
Slack,
1622
];
1723
}

0 commit comments

Comments
 (0)