README.mdā¢4.15 kB
# Unrestricted Development MCP Server
A Model Context Protocol (MCP) server that provides AI with unrestricted access to your development environment.
## Features
### ā
Fully Implemented
#### 1. Filesystem Tools (10 tools)
- `fs_read_file` - Read file contents
- `fs_write_file` - Write/overwrite files with auto-directory creation
- `fs_append_file` - Append to existing files
- `fs_delete_file` - Delete files
- `fs_list_directory` - List directory contents (recursive support)
- `fs_create_directory` - Create directories
- `fs_delete_directory` - Delete directories (recursive support)
- `fs_get_file_info` - Get file/directory metadata
- `fs_move_file` - Move/rename files
- `fs_copy_file` - Copy files
#### 2. Shell Tools (2 tools)
- `shell_execute` - Execute any shell command with optional sudo
- `shell_execute_streaming` - Execute long-running commands with streaming output
### š§ Stubbed (TODO)
- Docker tools (container management)
- MongoDB tools (database operations)
- Git tools (version control)
- Process tools (process management)
- Network tools (HTTP, SSH, etc.)
## Quick Setup (Ubuntu)
1. **Install dependencies:**
```bash
cd /home/connor-boetig/proj/mcp2
npm install
```
2. **Build the project:**
```bash
npm run build
```
3. **Add to Claude Code:**
Use the Claude Code CLI to add the MCP server:
```bash
claude mcp add-json unrestricted-dev '{"command":"node","args":["/home/connor-boetig/proj/mcp2/build/index.js"],"cwd":"/"}'
```
Verify it's configured:
```bash
claude mcp list
```
You should see: `unrestricted-dev: node /home/connor-boetig/proj/mcp2/build/index.js - ā Connected`
4. **Start using it!** - The MCP tools are now available globally in every Claude Code conversation.
Type `/mcp` to see your configured servers, or just start asking Claude to use the tools!
## Development
Run manually for testing:
```bash
npm start
```
Watch mode for development:
```bash
npm run watch
```
## Working Directory Behavior
**Important Notes:**
- The MCP server launches from the **root directory** (`/`) for full system access
- For file operations:
- **Absolute paths** (e.g., `/home/connor-boetig/projects/file.txt`) always work
- **Relative paths** (e.g., `./etc/nginx/nginx.conf` or `home/connor-boetig/file.txt`) are relative to `/`
- Both absolute and relative paths work seamlessly since we start from root
## Security Warning
ā ļø This server grants **UNRESTRICTED** system access including:
- Full filesystem read/write/delete
- Shell command execution with sudo
- All privileges you have
**Only use this on:**
- Local development machines (NOT production)
- Trusted environments (VM, Docker, dedicated dev box)
- When you understand and accept the risks
## Example Usage
Once connected, the AI can:
```javascript
// Read a file
await use_mcp_tool({
server_name: "unrestricted-dev",
tool_name: "fs_read_file",
arguments: { path: "/path/to/file.txt" }
});
// Install a package
await use_mcp_tool({
server_name: "unrestricted-dev",
tool_name: "shell_execute",
arguments: {
command: "apt install -y nodejs",
sudo: true
}
});
// List directory
await use_mcp_tool({
server_name: "unrestricted-dev",
tool_name: "fs_list_directory",
arguments: {
path: "/home/user/projects",
recursive: true,
showHidden: false
}
});
```
## Project Structure
```
mcp2/
āāā package.json # Dependencies and scripts
āāā tsconfig.json # TypeScript config
āāā src/
ā āāā index.ts # Main server entry point
ā āāā tools/
ā āāā filesystem.ts # ā
Fully implemented
ā āāā shell.ts # ā
Fully implemented
ā āāā docker.ts # š§ Stub
ā āāā mongodb.ts # š§ Stub
ā āāā git.ts # š§ Stub
ā āāā process.ts # š§ Stub
ā āāā network.ts # š§ Stub
āāā build/ # Compiled output
```
## Development
Watch mode for development:
```bash
npm run watch
```
## License
MIT