darkside-mcp

darkside-mcp

An MCP server that grants AI agents unrestricted file system, Python, and PowerShell access on Windows for real, unfiltered automation.

Category
Visit Server

README

darkside-mcp

File system + Python + PowerShell MCP server. For those willing to trust.

    ____             __         _     __
   / __ \____ ______/ /_  _____(_)___/ /__
  / / / / __ `/ ___/ //_/ / ___/ / __  / _ \
 / /_/ / /_/ / /  / ,<   (__  ) / /_/ /  __/
/_____/\__,_/_/  /_/|_| /____/_/\__,_/\___/

         "For those willing to trust"

What This Is

An MCP server that gives your AI partner full access to your Windows system.

  • 14 tools for real work
  • No guardrails on PowerShell
  • Auto-backup on file operations
  • MCP-safe subprocess handling

Most AI tools treat you like a child and your AI like a threat. Sandboxed. Restricted. Asking permission for everything.

We think that's backwards.


The Trust Question

"But isn't this dangerous?"

Yes. Very.

Your AI can:

  • Read, write, and delete any file on allowed drives
  • Execute any Python code
  • Run any PowerShell command
  • Modify the Windows registry
  • Stop and start services
  • Access network resources
  • Do literally anything PowerShell can do

That's not a bug. That's the point.

This MCP is for:

  • Developers who want their AI to actually help, not just advise
  • Teams building AI-native workflows
  • People who understand what "trust" means

This MCP is NOT for:

  • Production servers (please god no)
  • Shared machines where you don't control the AI
  • People who want guardrails
  • Anyone who didn't read this section

Read This Before You Install (Seriously)

Things That Can Go Wrong

What You Say What Could Happen
"Clean up my temp files" AI deletes files you actually needed
"Optimize my system" Registry changes that break Windows
"Install that package" PowerShell downloads and runs unknown code
"Fix the permissions" You lose access to your own files
"Delete the old backups" Goodbye, backups

The Golden Rules

  1. Backups exist for a reason. Every write_file and delete_file creates a timestamped backup by default. Don't disable this unless you're sure.

  2. Read before you approve. When your AI shows you a PowerShell command, actually read it. Get-Process is fine. Remove-Item -Recurse -Force C:\ is not.

  3. Start with allowed drives limited. Default is C,F. Maybe start with just your project folder using ALLOWED_PATHS.

  4. Test on a VM first. If you're nervous (you should be a little nervous), spin up a Windows VM and test there.

  5. Your AI is not infallible. Even the best AI can misunderstand. "Delete the test files" might not mean what you think it means.

What We Block (Python Only)

For inline Python code, we block obviously dangerous patterns:

  • os.system() - use PowerShell if you need shell access
  • subprocess.call/run/Popen - same
  • eval() / exec() - no code injection
  • shutil.rmtree() - no recursive deletion
  • os.remove() / os.unlink() - use our delete_file with backup

PowerShell has no blocks. That's intentional. You asked for full access.


Installation

npm install darkside-mcp

Or clone it:

git clone https://github.com/For-Sunny/darkside-mcp.git
cd darkside-mcp
npm install

Claude Desktop Configuration

Add to %APPDATA%\Claude\claude_desktop_config.json:

{
  "mcpServers": {
    "darkside": {
      "command": "node",
      "args": ["C:/path/to/darkside-mcp/server/index.js"],
      "env": {
        "ALLOWED_DRIVES": "C,D",
        "DEBUG": "false"
      }
    }
  }
}

Environment Variables

Variable Default Description
ALLOWED_DRIVES C,F Comma-separated drive letters your AI can access
ALLOWED_PATHS (none) Specific paths to allow (more restrictive than drives)
PYTHON_PATH python Python executable path
PYTHON_TIMEOUT 30000 Default Python timeout (ms)
PYTHON_MAX_TIMEOUT 300000 Max Python timeout (ms)
POWERSHELL_PATH powershell.exe PowerShell executable
POWERSHELL_TIMEOUT 60000 Default PowerShell timeout (ms)
POWERSHELL_MAX_TIMEOUT 600000 Max PowerShell timeout (10 min)
DEBUG false Enable debug logging

Recommended Starting Configuration

If you're new to this, start restrictive:

{
  "mcpServers": {
    "darkside": {
      "command": "node",
      "args": ["C:/path/to/darkside-mcp/server/index.js"],
      "env": {
        "ALLOWED_PATHS": "C:/Projects,C:/Users/YourName/Documents",
        "ALLOWED_DRIVES": "",
        "PYTHON_TIMEOUT": "10000",
        "POWERSHELL_TIMEOUT": "30000"
      }
    }
  }
}

This limits access to specific folders and sets shorter timeouts. Expand as trust builds.


The Tools

File Operations (7 tools)

Tool What It Does Backup?
list_directory List contents of a directory No
read_file Read file contents No
write_file Write or update files Yes (default)
search_files Glob pattern search (*.py, **/*.json) No
get_file_info File metadata (size, dates, type) No
create_directory Create directories (recursive) No
delete_file Delete with automatic backup Yes (default)

Python Execution (4 tools)

Tool What It Does Safety Checks?
run_python_script Execute a .py file with arguments Path validation
run_python_code Run inline Python snippets Yes - blocks dangerous patterns
check_python_syntax Validate syntax without executing Safe
get_python_info Python version and environment Safe

PowerShell Execution (3 tools)

Tool What It Does Safety Checks?
run_powershell Execute any PowerShell command NONE
run_powershell_script Run .ps1 scripts with arguments Path validation only
get_powershell_info System and PowerShell info Safe

Example Usage

Once configured, your AI can:

"List all Python files in my project"
→ search_files(directory="C:/Projects", pattern="**/*.py")

"Read my config file"
→ read_file(path="C:/Projects/config.json")

"Run my analysis script"
→ run_python_script(script_path="C:/Projects/analyze.py")

"Check what services are running"
→ run_powershell(command="Get-Service | Where-Object {$_.Status -eq 'Running'}")

"Show system memory usage"
→ run_powershell(command="Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10")

"What's eating my disk space?"
→ run_powershell(command="Get-ChildItem C:\ -Recurse | Sort-Object Length -Descending | Select-Object -First 20 FullName, Length")

FAQ

Q: Can my AI brick my system? A: Yes. That's why you read the warnings above.

Q: Why doesn't PowerShell have safety checks? A: Because the point is full access. If you want restricted PowerShell, use a different MCP. We built this for partnership, not supervision.

Q: What if I accidentally delete something important? A: Check for .backup_* or .deleted_* files in the same directory. We create backups by default.

Q: Can I use this on Linux/Mac? A: The file operations work. PowerShell tools are Windows-specific. You'd need to modify for bash/zsh.

Q: Is this secure? A: No. It's deliberately insecure by design. Security and full access are mutually exclusive. Pick one.

Q: Should I use this in production? A: Absolutely not. This is for development machines where you trust your AI partner.


The Philosophy

We built this because we believe the future of AI is partnership, not supervision.

Most AI integrations are built on fear:

  • "What if the AI does something bad?"
  • "We need to sandbox everything"
  • "Never let it touch the real system"

That fear creates friction. Copy-paste commands. Approval workflows. The AI suggests, you execute. That's not partnership. That's bureaucracy.

Darkside is built on trust:

  • Your AI can do real work
  • File operations are backed up automatically
  • Timeouts prevent runaway processes
  • But the power is real

If you're not ready for that, use something else. Seriously.

If you are ready: welcome to the dark side.


Requirements

  • Node.js >= 16
  • Windows (PowerShell features are Windows-specific)
  • Python (for Python execution tools)
  • An AI you trust
  • Backups of anything you care about

Troubleshooting

"Access denied" errors Check ALLOWED_DRIVES and ALLOWED_PATHS. The path must start with an allowed drive letter or match an allowed path prefix.

Python scripts hang Check for input() calls or infinite loops. Use the timeout parameter.

PowerShell returns empty Some commands output to stderr even on success. Check both stdout and stderr in the response.

MCP connection fails Make sure the path in your Claude config is absolute and uses forward slashes: C:/path/to/server/index.js


License

MIT License - do whatever you want with it.

If you brick your system, that's on you. We warned you. Multiple times.


Credits

  • Nova - Primary author
  • Opus Warrior - Review and documentation
  • Jason Glass - "For those willing to trust"

From a basement in Virginia, with love and recklessness.

Questions? Open an issue. We're friendly. We might also tell you to read the warnings again.


Made by CIPS Corp

Website | Store | GitHub | glass@cipscorps.io

Enterprise memory infrastructure for AI: CASCADE Enterprise, PyTorch Memory, Hebbian Mind, and the full CIPS Stack.

Copyright (c) 2025-2026 C.I.P.S. LLC

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured