Re:A Critical Look at MCP
by koakuma-chan on Saturday May 10, 2025 @05:37PM
(#43949209)
> As in, how MCP client can access `git` command without stdio?
MCP clients don't access any commands. MCP clients access tools that MCP servers expose.
Re:A Critical Look at MCP
by fullstackchris on Sunday May 11, 2025 @06:17AM
(#43952753)
Here's a custom MCP tool I use to run commands and parse stdout / stderr all the time:
try {
const execPromise = promisify(exec);
const { stdout, stderr } = await execPromise(command);
if (stderr) {
return {
content: [{
type: "text",
text: `Error: ${stderr}`
}],
isError: true
};
}
return {
content: [{
type: "text",
text: stdout
}],
isError: false
};
} catch (error: any) {
return {
content: [{
type: "text",
text: `Error executing command: ${error.message}`
}],
isError: true
};
}
Yeah, if you want to be super technical, it's Node that does the actual command running, but in my opinion, that's as good as saying the MCP client is...
Re:A Critical Look at MCP
by koakuma-chan on Sunday May 11, 2025 @07:41AM
(#43953111)
The point is that MCP servers expose tools that can do whatever MCP servers want them to do, and it doesn’t have to have anything to do with stdio.
As in, how MCP client can access `git` command without stdio? You can run a wrapper server for that or use stdio instead