mcpField
M
mcp-server-commands

mcp-server-commands

Local
github.com/bytedanceDeveloper Tools39.4kUpdated 3w ago

About mcp-server-commands

mcp-server-commands is an MCP server that runs arbitrary shell commands on behalf of MCP clients. It suits developers who want an agent to execute commands in a chosen working directory. The README gives little detail on access controls or safety limits.

Key features

  1. 01Runs arbitrary command line commands
  2. 02Accepts a --cwd option for the working directory
  3. 03Stdio, SSE, and Streamable HTTP transports
  4. 04Installable and runnable through npx

Use cases

  1. 01Running build or test commands from an MCP client in a project
  2. 02Executing commands on a remote host through an HTTP endpoint

MCP support

The server exposes command execution to MCP clients. Clients connect over stdio or through the /sse and /mcp remote endpoints.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"bytedance-mcp-server-commands": {
"command": "npx",
"args": [
"-y",
"@agent-infra/mcp-server-commands"
]
}
}
}
Run commandnpx -y @agent-infra/mcp-server-commands

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@agent-infra/mcp-server-commandslatest

Tools

2

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
cwdstringNoCurrent working directory, leave empty in most cases
commandstringYesCommand with args

Details

From the project README

Commands MCP Server

NPM Downloads

Install MCP Server Install in VS Code Install in VS Code Insiders

A Model Context Protocol (MCP) server that provides execuate arbitrary commands.

README image

Requirements
  • Node.js 18 or newer
  • VS Code, Cursor, Windsurf, Claude Desktop or any other MCP client
Getting started
Local (Stdio)

First, install the Commands MCP server with your client. A typical configuration looks like this:

{
  "mcpServers": {
    "commands": {
      "command": "npx",
      "args": [
        "-y",
        "@agent-infra/mcp-server-commands@latest",
        "--cwd",
        "/tmp"
      ]
    }
  }
}
Install in VS Code

You can also install the Commands MCP server using the VS Code CLI:

# For VS Code
code --add-mcp '{"name":"commands","command":"npx","args":["@agent-infra/mcp-server-commands@latest"]}'

After installation, the Commands MCP server will be available for use with your GitHub Copilot agent in VS Code.

Install in Cursor

Go to Cursor Settings -> MCP -> Add new MCP Server. Name to your liking, use command type with the command npx @agent-infra/mcp-server-commands. You can also verify config or add command like arguments via clicking Edit.

{
  "mcpServers": {
    "commands": {
      "command": "npx",
      "args": [
        "-y",
        "@agent-infra/mcp-server-commands@latest"
      ]
    }
  }
}
Install in Windsurf

Follow Windsuff MCP documentation. Use following configuration:

{
  "mcpServers": {
    "commands": {
      "command": "npx",
      "args": [
        "-y",
        "@agent-infra/mcp-server-commands@latest"
      ]
    }
  }
}
Install in Claude Desktop

Follow the MCP install guide, use following configuration:

{
  "mcpServers": {
    "commands": {
      "command": "npx",
      "args": [
        "-y",
        "@agent-infra/mcp-server-commands@latest"
      ]
    }
  }
}
Remote (SSE / Streamable HTTP)

At the same time, use --port $your_port arg to start the browser mcp can be converted into SSE and Streamable HTTP Server.

# normal run remote mcp server
npx @agent-infra/mcp-server-commands --port 8089

You can use one of the two MCP Server remote endpoint:

  • Streamable HTTP(Recommended): http://127.0.0.1:8089/mcp
  • SSE: http://127.0.0.1:8089/sse

And then in MCP client config, set the url to the SSE endpoint:

{
  "mcpServers": {
    "commands": {
      "url": "http://127.0.0.1:8089/sse"
    }
  }
}

url to the Streamable HTTP:

{
  "mcpServers": {
    "commands": {
      "type": "streamable-http", // If there is MCP Client support
      "url": "http://127.0.0.1:8089/mcp"
    }
  }
}
In-memory call

If your MCP Client is developed based on JavaScript / TypeScript, you can directly use in-process calls to avoid requiring your users to install the command-line interface to use Commands MCP.

import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';

// type: module project usage
import { createServer } from '@agent-infra/mcp-server-commands';
// commonjs project usage
// const { createServer } = await import('@agent-infra/mcp-server-commands')

const client = new Client(
  {
    name: 'test commands client',
    version: '1.0',
  },
  {
    capabilities: {},
  },
);

const server = createServer();
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();

await Promise.all([
  client.connect(clientTransport),
  server.connect(serverTransport),
]);

// list tools
const result = await client.listTools();
console.log(result);

// call tool
const toolResult = await client.callTool({
  name: 'run_script',
  arguments: {
    interpreter: 'node',
    script: 'console.log(1+1);',
  },
});
console.log(toolResult);
Developement

Access http://127.0.0.1:6274/:

npm run dev

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.