{"id":48381076,"url":"https://github.com/for-sunny/darkside-mcp","last_synced_at":"2026-04-05T20:03:56.977Z","repository":{"id":335991998,"uuid":"1147757596","full_name":"For-Sunny/darkside-mcp","owner":"For-Sunny","description":"File system + Python + PowerShell MCP server. For those willing to trust.","archived":false,"fork":false,"pushed_at":"2026-02-19T04:43:28.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-19T10:50:45.380Z","etag":null,"topics":["ai-tools","claude","filesystem","mcp","mcp-server","powershell","python","system-control","windows"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/For-Sunny.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-02T07:03:11.000Z","updated_at":"2026-02-19T04:43:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/For-Sunny/darkside-mcp","commit_stats":null,"previous_names":["for-sunny/darkside-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/For-Sunny/darkside-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-Sunny%2Fdarkside-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-Sunny%2Fdarkside-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-Sunny%2Fdarkside-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-Sunny%2Fdarkside-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/For-Sunny","download_url":"https://codeload.github.com/For-Sunny/darkside-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/For-Sunny%2Fdarkside-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31448219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T15:22:31.103Z","status":"ssl_error","status_checked_at":"2026-04-05T15:22:00.205Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","claude","filesystem","mcp","mcp-server","powershell","python","system-control","windows"],"created_at":"2026-04-05T20:03:42.437Z","updated_at":"2026-04-05T20:03:56.970Z","avatar_url":"https://github.com/For-Sunny.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# darkside-mcp\n\n**File system + Python + PowerShell MCP server. For those willing to trust.**\n\n```\n    ____             __         _     __\n   / __ \\____ ______/ /_  _____(_)___/ /__\n  / / / / __ `/ ___/ //_/ / ___/ / __  / _ \\\n / /_/ / /_/ / /  / ,\u003c   (__  ) / /_/ /  __/\n/_____/\\__,_/_/  /_/|_| /____/_/\\__,_/\\___/\n\n         \"For those willing to trust\"\n```\n\n## What This Is\n\nAn MCP server that gives your AI partner full access to your Windows system.\n\n- **14 tools** for real work\n- **No guardrails** on PowerShell\n- **Auto-backup** on file operations\n- **MCP-safe** subprocess handling\n\nMost AI tools treat you like a child and your AI like a threat. Sandboxed. Restricted. Asking permission for everything.\n\nWe think that's backwards.\n\n---\n\n## The Trust Question\n\n**\"But isn't this dangerous?\"**\n\nYes. Very.\n\nYour AI can:\n- Read, write, and delete any file on allowed drives\n- Execute any Python code\n- Run **any** PowerShell command\n- Modify the Windows registry\n- Stop and start services\n- Access network resources\n- Do literally anything PowerShell can do\n\nThat's not a bug. That's the point.\n\n**This MCP is for:**\n- Developers who want their AI to actually help, not just advise\n- Teams building AI-native workflows\n- People who understand what \"trust\" means\n\n**This MCP is NOT for:**\n- Production servers (please god no)\n- Shared machines where you don't control the AI\n- People who want guardrails\n- Anyone who didn't read this section\n\n---\n\n## Read This Before You Install (Seriously)\n\n### Things That Can Go Wrong\n\n| What You Say | What Could Happen |\n|--------------|-------------------|\n| \"Clean up my temp files\" | AI deletes files you actually needed |\n| \"Optimize my system\" | Registry changes that break Windows |\n| \"Install that package\" | PowerShell downloads and runs unknown code |\n| \"Fix the permissions\" | You lose access to your own files |\n| \"Delete the old backups\" | Goodbye, backups |\n\n### The Golden Rules\n\n1. **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.\n\n2. **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.\n\n3. **Start with allowed drives limited.** Default is `C,F`. Maybe start with just your project folder using `ALLOWED_PATHS`.\n\n4. **Test on a VM first.** If you're nervous (you should be a little nervous), spin up a Windows VM and test there.\n\n5. **Your AI is not infallible.** Even the best AI can misunderstand. \"Delete the test files\" might not mean what you think it means.\n\n### What We Block (Python Only)\n\nFor inline Python code, we block obviously dangerous patterns:\n- `os.system()` - use PowerShell if you need shell access\n- `subprocess.call/run/Popen` - same\n- `eval()` / `exec()` - no code injection\n- `shutil.rmtree()` - no recursive deletion\n- `os.remove()` / `os.unlink()` - use our `delete_file` with backup\n\n**PowerShell has no blocks.** That's intentional. You asked for full access.\n\n---\n\n## Installation\n\n```bash\nnpm install darkside-mcp\n```\n\nOr clone it:\n```bash\ngit clone https://github.com/For-Sunny/darkside-mcp.git\ncd darkside-mcp\nnpm install\n```\n\n---\n\n## Claude Desktop Configuration\n\nAdd to `%APPDATA%\\Claude\\claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"darkside\": {\n      \"command\": \"node\",\n      \"args\": [\"C:/path/to/darkside-mcp/server/index.js\"],\n      \"env\": {\n        \"ALLOWED_DRIVES\": \"C,D\",\n        \"DEBUG\": \"false\"\n      }\n    }\n  }\n}\n```\n\n### Environment Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `ALLOWED_DRIVES` | `C,F` | Comma-separated drive letters your AI can access |\n| `ALLOWED_PATHS` | (none) | Specific paths to allow (more restrictive than drives) |\n| `PYTHON_PATH` | `python` | Python executable path |\n| `PYTHON_TIMEOUT` | `30000` | Default Python timeout (ms) |\n| `PYTHON_MAX_TIMEOUT` | `300000` | Max Python timeout (ms) |\n| `POWERSHELL_PATH` | `powershell.exe` | PowerShell executable |\n| `POWERSHELL_TIMEOUT` | `60000` | Default PowerShell timeout (ms) |\n| `POWERSHELL_MAX_TIMEOUT` | `600000` | Max PowerShell timeout (10 min) |\n| `DEBUG` | `false` | Enable debug logging |\n\n### Recommended Starting Configuration\n\nIf you're new to this, start restrictive:\n\n```json\n{\n  \"mcpServers\": {\n    \"darkside\": {\n      \"command\": \"node\",\n      \"args\": [\"C:/path/to/darkside-mcp/server/index.js\"],\n      \"env\": {\n        \"ALLOWED_PATHS\": \"C:/Projects,C:/Users/YourName/Documents\",\n        \"ALLOWED_DRIVES\": \"\",\n        \"PYTHON_TIMEOUT\": \"10000\",\n        \"POWERSHELL_TIMEOUT\": \"30000\"\n      }\n    }\n  }\n}\n```\n\nThis limits access to specific folders and sets shorter timeouts. Expand as trust builds.\n\n---\n\n## The Tools\n\n### File Operations (7 tools)\n\n| Tool | What It Does | Backup? |\n|------|--------------|---------|\n| `list_directory` | List contents of a directory | No |\n| `read_file` | Read file contents | No |\n| `write_file` | Write or update files | **Yes** (default) |\n| `search_files` | Glob pattern search (`*.py`, `**/*.json`) | No |\n| `get_file_info` | File metadata (size, dates, type) | No |\n| `create_directory` | Create directories (recursive) | No |\n| `delete_file` | Delete with automatic backup | **Yes** (default) |\n\n### Python Execution (4 tools)\n\n| Tool | What It Does | Safety Checks? |\n|------|--------------|----------------|\n| `run_python_script` | Execute a .py file with arguments | Path validation |\n| `run_python_code` | Run inline Python snippets | **Yes** - blocks dangerous patterns |\n| `check_python_syntax` | Validate syntax without executing | Safe |\n| `get_python_info` | Python version and environment | Safe |\n\n### PowerShell Execution (3 tools)\n\n| Tool | What It Does | Safety Checks? |\n|------|--------------|----------------|\n| `run_powershell` | Execute any PowerShell command | **NONE** |\n| `run_powershell_script` | Run .ps1 scripts with arguments | Path validation only |\n| `get_powershell_info` | System and PowerShell info | Safe |\n\n---\n\n## Example Usage\n\nOnce configured, your AI can:\n\n```\n\"List all Python files in my project\"\n→ search_files(directory=\"C:/Projects\", pattern=\"**/*.py\")\n\n\"Read my config file\"\n→ read_file(path=\"C:/Projects/config.json\")\n\n\"Run my analysis script\"\n→ run_python_script(script_path=\"C:/Projects/analyze.py\")\n\n\"Check what services are running\"\n→ run_powershell(command=\"Get-Service | Where-Object {$_.Status -eq 'Running'}\")\n\n\"Show system memory usage\"\n→ run_powershell(command=\"Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10\")\n\n\"What's eating my disk space?\"\n→ run_powershell(command=\"Get-ChildItem C:\\ -Recurse | Sort-Object Length -Descending | Select-Object -First 20 FullName, Length\")\n```\n\n---\n\n## FAQ\n\n**Q: Can my AI brick my system?**\nA: Yes. That's why you read the warnings above.\n\n**Q: Why doesn't PowerShell have safety checks?**\nA: Because the point is full access. If you want restricted PowerShell, use a different MCP. We built this for partnership, not supervision.\n\n**Q: What if I accidentally delete something important?**\nA: Check for `.backup_*` or `.deleted_*` files in the same directory. We create backups by default.\n\n**Q: Can I use this on Linux/Mac?**\nA: The file operations work. PowerShell tools are Windows-specific. You'd need to modify for bash/zsh.\n\n**Q: Is this secure?**\nA: No. It's deliberately insecure by design. Security and full access are mutually exclusive. Pick one.\n\n**Q: Should I use this in production?**\nA: Absolutely not. This is for development machines where you trust your AI partner.\n\n---\n\n## The Philosophy\n\nWe built this because we believe the future of AI is partnership, not supervision.\n\nMost AI integrations are built on fear:\n- \"What if the AI does something bad?\"\n- \"We need to sandbox everything\"\n- \"Never let it touch the real system\"\n\nThat fear creates friction. Copy-paste commands. Approval workflows. The AI suggests, you execute. That's not partnership. That's bureaucracy.\n\n**Darkside is built on trust:**\n- Your AI can do real work\n- File operations are backed up automatically\n- Timeouts prevent runaway processes\n- But the power is real\n\nIf you're not ready for that, use something else. Seriously.\n\nIf you are ready: welcome to the dark side.\n\n---\n\n## Requirements\n\n- Node.js \u003e= 16\n- Windows (PowerShell features are Windows-specific)\n- Python (for Python execution tools)\n- An AI you trust\n- Backups of anything you care about\n\n---\n\n## Troubleshooting\n\n**\"Access denied\" errors**\nCheck `ALLOWED_DRIVES` and `ALLOWED_PATHS`. The path must start with an allowed drive letter or match an allowed path prefix.\n\n**Python scripts hang**\nCheck for `input()` calls or infinite loops. Use the timeout parameter.\n\n**PowerShell returns empty**\nSome commands output to stderr even on success. Check both `stdout` and `stderr` in the response.\n\n**MCP connection fails**\nMake sure the path in your Claude config is absolute and uses forward slashes: `C:/path/to/server/index.js`\n\n---\n\n## License\n\nMIT License - do whatever you want with it.\n\nIf you brick your system, that's on you. We warned you. Multiple times.\n\n---\n\n## Credits\n\n- **Nova** - Primary author\n- **Opus Warrior** - Review and documentation\n- **Jason Glass** - \"For those willing to trust\"\n\n*From a basement in Virginia, with love and recklessness.*\n\nQuestions? Open an issue. We're friendly. We might also tell you to read the warnings again.\n\n---\n\n**Made by [CIPS Corp](https://cipscorps.io)**\n\n[Website](https://cipscorps.io) | [Store](https://store.cipscorps.io) | [GitHub](https://github.com/For-Sunny) | [glass@cipscorps.io](mailto:glass@cipscorps.io)\n\nEnterprise memory infrastructure for AI: [CASCADE Enterprise, PyTorch Memory, Hebbian Mind, and the full CIPS Stack](https://store.cipscorps.io).\n\nCopyright (c) 2025-2026 C.I.P.S. LLC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffor-sunny%2Fdarkside-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffor-sunny%2Fdarkside-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffor-sunny%2Fdarkside-mcp/lists"}