STeLA MCP

by Sachin-Bhat

1 stars
154 downloads
Not rated
GitHub

About

STeLA (Simple Terminal Language Assistant) MCP is a lightweight Python implementation of a Model Context Protocol server that provides secure access to local machine commands and file operations via a standardized API interface. It acts as a bridge between applications and the…

Details

Author
Sachin-Bhat
GitHub stars
1
Downloads
154
Categories
Other

- Command execution with robust error handling
- File operations: read, write, edit, move, search
- Recursive directory tree visualization
- Multi‑directory support for file operations
- Security‑first design with strict path validation
- Strong type checking with Pydantic models

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name STeLA MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via Smithery (npx -y @smithery/cli install @Sachin-Bhat/stela-mcp --client claude) or manually by cloning the repository, creating a virtual environment, and installing dependencies. Configure environment variables for directory access (ALLOWED_DIRS, ALLOWED_DIR), command security (ALLOWED_COMMANDS, ALLOWED_FLAGS, MAX_COMMAND_LENGTH, COMMAND_TIMEOUT), then start the server with uv run python -m src.stella_mcp.server. Use with Claude Desktop by adding it as an MCP tool.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "stela mcp": {
            "stela-mcp": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "@Sachin-Bhat/stela-mcp",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "stela-mcp": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "@Sachin-Bhat/stela-mcp",
            "--client",
            "claude"
        ]
    }
}

STeLA MCP

smithery badge

> A Python implementation of a Model Context Protocol server that provides secure access to local system operations via a standardized API interface.

STeLA (Simple Terminal Language Assistant) MCP is a lightweight server that provides secure access to local machine commands and file operations via a standardized API interface. It acts as a bridge between applications and your local system, implementing the Model Context Protocol (MCP) architecture.

Overview

STeLA MCP implements the Model Context Protocol (MCP) architecture to provide a secure, standardized way for applications to execute commands and perform file operations on a local machine. It serves as an intermediary layer that accepts requests through a well-defined API, executes operations in a controlled environment, and returns formatted results.

Features

Command Execution: Run shell commands on the local system with proper error handling
File Operations: Read, write, and manage files on the local system
Directory Visualization: Generate recursive tree views of file systems
Working Directory Support: Execute commands in specific directories
Robust Error Handling: Detailed error messages and validation
Comprehensive Output: Capture and return both stdout and stderr
Simple Integration: Standard I/O interface for easy integration with various clients
Multi-Directory Support: Configure multiple allowed directories for file operations
Security-First Design: Strict path validation and command execution controls
File Search: Search for files matching a pattern
File Edit: Make selective edits to a file
Type Safety: Strong type checking with Pydantic models for all tool inputs
Path Validation: Enhanced symlink and parent directory validation

Installation

Installing via Smithery

To install STeLA for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @Sachin-Bhat/stela-mcp --client claude

Prerequisites

Python 3.10 - 3.12
pip or uv package manager
Pydantic v2.x

Installation Steps

1. Clone the repository:

git clone <repository-url>
cd stela-mcp

2. Create and activate a virtual environment:

python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

3. Install dependencies:

pip install -e .

Creating a Binary Distribution

To create a self-contained binary:

1. Install PyInstaller:

pip install pyinstaller

2. Create the binary:

pyinstaller --onefile src/stella_mcp//server.py --name stela-mcp

The binary will be created in the dist directory.

Configuration

STeLA MCP can be configured using environment variables:

Directory Access Control

ALLOWED_DIRS (Required): Comma-separated list of directories where file operations are allowed
Example: /home/user/project,/home/user/docs
Default: Current working directory if not specified
Note: All paths must be absolute

ALLOWED_DIR (Optional): Primary directory for command execution context
Example: /home/user/project
Default: First directory from ALLOWED_DIRS or current working directory
Note: This is separate from ALLOWED_DIRS and controls command execution context

Command Execution Security

ALLOWED_COMMANDS (Optional): Comma-separated list of allowed shell commands
Example: ls,cat,pwd,echo
Default: ls,cat,pwd,echo
Special value: all to allow any command (not recommended)

ALLOWED_FLAGS (Optional): Comma-separated list of allowed command flags
Example: -l,-a,-h,--help
Default: -l,-a,-h,--help
Special value: all to allow any flag (not recommended)

MAX_COMMAND_LENGTH (Optional): Maximum length of command strings
Example: 1024
Default: 1024
Note: Prevents command injection via overly long strings

COMMAND_TIMEOUT (Optional): Maximum execution time for commands in seconds
Example: 60
Default: 60
Note: Prevents hanging commands

Example Configuration

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.