J

terminal

...
Created 12/11/2024bystat-guy

Language:

JavaScript

Stars:

5

Forks:

1

Terminal MCP Server

A Model Context Protocol (MCP) server that enables execution of terminal commands through Claude Desktop.

Features

  • Execute any terminal command with arguments and options
  • Navigate between directories while maintaining state
  • Get terminal environment information
  • Full output capture (stdout, stderr, exit codes)
  • Proper error handling and formatting

Prerequisites

  • Node.js v18 or higher
  • TypeScript
  • Claude Desktop

Installation

  1. Clone the repository:
git clone https://github.com/stat-guy/terminal.git
cd terminal
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Local Development Setup

  1. Create or edit your Claude Desktop configuration file:

    • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • On Windows: %APPDATA%\\Claude\\claude_desktop_config.json

Add the following configuration:

{
  "mcpServers": {
    "terminal": {
      "command": "node",
      "args": [
        "[PATH_TO_REPO]/dist/index.js"
      ],
      "env": {
        "PERMISSION_REQUIRED": "true"
      }
    }
  }
}

Replace [PATH_TO_REPO] with the actual path to your cloned repository.

  1. Restart Claude Desktop

Available Tools

execute_command

  • Execute any terminal command
  • Supports command arguments and options
  • Captures full output and exit codes

change_directory

  • Change the current working directory
  • Maintains state between commands
  • Supports relative and absolute paths

get_current_directory

  • Get the current working directory path

get_terminal_info

  • Get information about the terminal environment
  • Shows shell, user, platform, and recent command history

Usage Examples

Ask Claude to execute terminal commands like:

Can you check what's in my current directory?
-> Executes: ls -la

Can you tell me the current directory?
-> Executes: pwd

Can you change to the Downloads folder?

            
        
            
                -> Executes: cd ~/Downloads

Security Considerations

  • The server requires explicit user permission through Claude Desktop for command execution
  • Environment variables can be controlled through the configuration
  • Command execution includes timeouts and error handling

Development

  1. Watch for changes:
npm run watch
  1. Test changes:
  • Make changes to source files in src/
  • Rebuild using npm run build
  • Restart Claude Desktop to load changes

Project Structure

/
├── src/
│   └── index.ts    # Main server implementation
├── package.json    # Project configuration and dependencies
├── tsconfig.json  # TypeScript configuration
└── README.md      # This file

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License

Last updated: 1/9/2025

Publisher info

stat-guy's avatar

stat-guy

1
followers
0
following
13
repos

More MCP servers built with JavaScript

mcp-server-semgrep

MCP Server Semgrep is a [Model Context Protocol](https://modelcontextprotocol.io) compliant server that integrates the powerful Semgrep static analysis tool with AI assistants like Anthropic Claude. It enables advanced code analysis, security vulnerability detection, and code quality improvements directly through a conversational interface.

By Szowesgad9
protonmail-mcp

This MCP server provides email sending functionality using Protonmail's SMTP service. It allows both Claude Desktop and Cline VSCode extension to send emails on your behalf using your Protonmail credentials.

By amotivv6
agentql-mcp

Model Context Protocol server that integrates AgentQL's data extraction capabilities.

By tinyfish-io45