Skip to main content
Glama

MCP Terminal Server

by RinardNick

MCP 터미널 서버

모델 컨텍스트 프로토콜(MCP)을 구현하는 보안 터미널 실행 서버입니다. 이 서버는 보안 기능 및 리소스 제한을 갖춘 제어된 명령 실행 기능을 제공합니다.

특징

  • 명령 실행 : 출력 캡처 및 오류 처리를 통해 셸 명령을 실행합니다.
  • 보안 제어 : 허용된 명령을 제한하고 명령 주입을 방지합니다.
  • 리소스 제어 :
    • 명령 시간 초과
    • 최대 출력 크기 제한
  • MCP 프로토콜 지원 :
    • 표준 MCP 메시지 형식
    • 역량 광고
    • 스트리밍 출력 지원

개발

로컬 설정

지엑스피1

PyPI에 게시

# Build the package uv pip install build python -m build # Upload to PyPI uv pip install twine python -m twine upload dist/*

MCP Inspector로 테스트

MCP Inspector 도구를 사용하면 서버 구현을 테스트할 수 있습니다.

# Install inspector npm install -g @modelcontextprotocol/inspector # Test server npx @modelcontextprotocol/inspector python3 src/mcp_terminal/server.py --allowed-commands "python,pip,git,ls,cd"

테스트 실행

# Run all tests pytest tests/ # Run specific test file pytest tests/test_terminal.py # Run with coverage pytest --cov=mcp_terminal tests/

Claude Desktop과 함께 사용

패키지가 PyPI에 게시되면:

  1. UV를 설치하세요 (아직 설치되지 않았다면):
    pip install uv
  2. UV를 사용하여 패키지 설치 :
    uv pip install mcp-terminal
  3. Claude Desktop 구성 : Claude Desktop 구성 파일을 편집합니다(일반적으로 macOS에서는 ~/Library/Application Support/Claude/claude_desktop_config.json 에 있음):
    { "mcpServers": { "terminal": { "command": "uv", "args": [ "pip", "run", "mcp-terminal", "--allowed-commands", "python,pip,git,ls,cd", "--timeout-ms", "30000", "--max-output-size", "1048576" ] } } }

프로토콜 구현

서버는 다음 기능을 갖춘 MCP(모델 컨텍스트 프로토콜)를 구현합니다.

기능 광고

{ "protocol": "1.0.0", "name": "terminal", "version": "1.1.0", "capabilities": { "execute": { "description": "Execute a terminal command", "parameters": { "command": { "type": "string", "description": "The command to execute" } }, "returns": { "type": "object", "properties": { "exitCode": { "type": "number" }, "stdout": { "type": "string" }, "stderr": { "type": "string" }, "startTime": { "type": "string" }, "endTime": { "type": "string" } } } } } }

메시지 형식

요구 :

{ "type": "execute", "data": { "command": "echo 'hello world'" } }

응답 :

{ "type": "result", "data": { "command": "echo 'hello world'", "exitCode": 0, "stdout": "hello world\n", "stderr": "", "startTime": "2024-01-20T12:34:56.789Z", "endTime": "2024-01-20T12:34:56.790Z" } }

오류 :

{ "type": "error", "data": { "message": "command not allowed" } }

보안 고려 사항

  1. 명령 검증 :
    • 허용된 명령만 실행할 수 있습니다.
    • Shell 운영자는 차단되었습니다.
    • 명령 주입 시도가 방지됩니다.
  2. 자원 보호 :
    • 명령 시간 초과로 인해 중단이 방지됩니다.
    • 출력 크기 제한으로 메모리 고갈 방지
    • 모든 실패 사례에 대한 오류 처리
  3. 모범 사례 :
    • 프로덕션에서는 항상 allowed-commands 설정하세요.
    • 보수적인 시간 제한 및 크기 제한을 사용하세요
    • 명령 실행 로그 모니터링

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성합니다( git checkout -b feature/amazing-feature )
  3. 변경 사항을 커밋하세요( git commit -m 'Add some amazing feature' )
  4. 브랜치에 푸시( git push origin feature/amazing-feature )
  5. 풀 리퀘스트 열기

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

모델 컨텍스트 프로토콜(MCP)을 통해 보안 기능과 리소스 제한을 통해 제어된 명령 실행을 가능하게 하는 안전한 터미널 실행 서버입니다.

  1. 특징
    1. 개발
      1. 로컬 설정
      2. PyPI에 게시
      3. MCP Inspector로 테스트
      4. 테스트 실행
    2. Claude Desktop과 함께 사용
      1. 프로토콜 구현
        1. 기능 광고
        2. 메시지 형식
      2. 보안 고려 사항
        1. 기여하다
          1. 특허

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A secure shell command execution server implementing the Model Context Protocol (MCP). This server allows remote execution of whitelisted shell commands with support for stdin input.
              Last updated -
              1
              74
              Python
              MIT License
              • Apple
            • A
              security
              A
              license
              A
              quality
              A secure server for executing terminal commands within predefined paths, allowing safe interaction by Large Language Models with operating system environments.
              Last updated -
              1
              11
              3
              JavaScript
              MIT License
              • Apple
              • Linux
            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol server that provides secure command-line access to Windows systems, allowing MCP clients like Claude Desktop to safely execute commands in PowerShell, CMD, and Git Bash shells with configurable security controls.
              Last updated -
              9
              350
              105
              JavaScript
              MIT License
            • -
              security
              F
              license
              -
              quality
              An MCP server that allows secure execution of macOS terminal commands through Claude or Roo Code with built-in security whitelisting and approval mechanisms.
              Last updated -
              1
              JavaScript
              • Apple

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/RinardNick/mcp-terminal'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server