Skip to main content
Glama
README.md
# WinTerm MCP

A Model Context Protocol server that provides programmatic access to the Windows terminal. This server enables AI models to interact with the Windows command line interface through a set of standardized tools.

## Features

- **Write to Terminal**: Execute commands or write text to the Windows terminal
- **Read Terminal Output**: Retrieve output from previously executed commands
- **Send Control Characters**: Send control signals (e.g., Ctrl+C) to the terminal
- **Windows-Native**: Built specifically for Windows command line interaction

## Installation

1. **Clone the Repository**:
   ```bash
   git clone https://github.com/capecoma/winterm-mcp.git
   cd winterm-mcp
   ```

2. **Install Dependencies**:
   ```bash
   npm install
   ```

3. **Build the Project**:
   ```bash
   npm run build
   ```

4. **Configure Claude Desktop**:

Add the server config to `%APPDATA%/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "github.com/capecoma/winterm-mcp": {
      "command": "node",
      "args": ["path/to/build/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}
```

Note: Replace "path/to/build/index.js" with the actual path to your built index.js file.

## Available Tools

### write_to_terminal
Writes text or commands to the terminal.
```json
{
  "command": "echo Hello, World!"
}
```

### read_terminal_output
Reads the specified number of lines from terminal output.
```json
{
  "linesOfOutput": 5
}
```

### send_control_character
Sends a control character to the terminal (e.g., Ctrl+C).
```json
{
  "letter": "C"
}
```

## Development

For development with auto-rebuild:
```bash
npm run dev
```

## License

MIT License - see [LICENSE](LICENSE) file.

TDQS

B3.3/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: reading output, sending control characters, and writing text/commands are three separate terminal operations. An agent can easily tell them apart based on their specific functions.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (read_terminal_output, send_control_character, write_to_terminal) with snake_case throughout. The naming is predictable and readable across the set.

Tool Count4/5

Three tools is slightly thin but reasonable for a terminal-focused server, covering core input/output and control operations. It feels minimal but not incomplete, as each tool earns its place for basic terminal interaction.

Completeness4/5

The tools cover the essential terminal operations: reading, writing, and control. A minor gap might be the lack of a tool for managing terminal sessions or configuration, but for basic interaction, the surface is largely complete without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues