Skip to main content
Glama

MCP PC Control Server

A powerful Model Context Protocol (MCP) server that provides comprehensive PC control capabilities including file operations, directory management, and command execution.

Features

File Operations

  • read_file - Read complete file contents with proper encoding

  • write_file - Create new files or overwrite existing ones

  • edit_file - Make precise line-based edits with diff output

  • delete_file - Remove files from the filesystem

  • move_file - Move or rename files and directories

  • get_file_info - Get detailed file metadata (size, timestamps, permissions)

Directory Operations

  • create_directory - Create directories (supports nested creation)

  • list_directory - List directory contents with detailed information

  • delete_directory - Recursively delete directories and their contents

  • search_files - Recursively search for files matching patterns

System Operations

  • execute_command - Execute shell commands with optional working directory

Installation

  1. Clone or download this repository

  2. Install dependencies:

npm install
  1. Build the project:

npm run build

Usage

Running the Server

The server communicates via stdio and is designed to be used with MCP clients:

npm start

Configuration with Claude Desktop

Add this server to your Claude Desktop configuration file:

On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "pc-control": { "command": "node", "args": ["/absolute/path/to/first_mcp/build/index.js"] } } }

Replace /absolute/path/to/first_mcp with the actual absolute path to this project directory.

Example with npx (Alternative)

You can also run it directly with npx if published to npm:

{ "mcpServers": { "pc-control": { "command": "npx", "args": ["-y", "mcp-pc-control-server"] } } }

Available Tools

read_file

{ path: string // Path to the file to read }

write_file

{ path: string, // Path where file should be written content: string // Content to write }

edit_file

{ path: string, edits: [{ oldText: string, // Exact text to find newText: string // Replacement text }] }

create_directory

{ path: string // Directory path to create }

list_directory

{ path: string // Directory path to list }

delete_file

{ path: string // File path to delete }

delete_directory

{ path: string // Directory path to delete recursively }

move_file

{ source: string, // Current path destination: string // New path }

get_file_info

{ path: string // Path to get info about }

execute_command

{ command: string, // Shell command to execute workingDirectory?: string // Optional working directory }

search_files

{ path: string, // Directory to search in pattern: string // Pattern to match (supports * and **) }

Security Considerations

WARNING: This server provides powerful filesystem and command execution capabilities.

  • File Access: Can read, write, and delete any files the process has permissions for

  • Command Execution: Can execute arbitrary shell commands

  • No Sandboxing: Operations are not sandboxed or restricted

Recommendations:

  • Only use with trusted MCP clients

  • Run with minimal necessary permissions

  • Be cautious with the execute_command tool

  • Consider implementing additional access controls for production use

  • Review all operations in sensitive environments

Development

Build

npm run build

Watch Mode

npm run watch

Project Structure

. ├── src/ │ └── index.ts # Main server implementation ├── build/ # Compiled JavaScript (generated) ├── package.json ├── tsconfig.json └── README.md

License

MIT

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Troubleshooting

Server not appearing in Claude Desktop

  1. Check that the path in claude_desktop_config.json is absolute and correct

  2. Verify the build directory exists and contains index.js

  3. Restart Claude Desktop after configuration changes

  4. Check Claude Desktop logs for errors

Permission Errors

  • Ensure the server process has necessary file system permissions

  • On Unix systems, check file/directory permissions with ls -la

  • Run with appropriate user privileges for the operations you need

Command Execution Issues

  • Verify the working directory exists and is accessible

  • Check that shell commands are appropriate for your operating system

  • Some commands may require specific environment variables

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/koopatroopa787/first_mcp'

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