WebsiteOps Server
FreeNot checkedBridges AI coding assistants with website codebases, local git repositories, and shared hosting via FTP/SFTP, enabling code discovery, file management, git oper
About
Bridges AI coding assistants with website codebases, local git repositories, and shared hosting via FTP/SFTP, enabling code discovery, file management, git operations, smart deployments, backups, and rollbacks.
README
WebsiteOps MCP is a production-grade, local-first Model Context Protocol (MCP) server designed to bridge AI coding assistants (ChatGPT, Claude Desktop, Cursor, VS Code, Windsurf, Gemini CLI, etc.) with website codebases, local git repositories, and shared hosting / cPanel environments via FTP/SFTP.
With WebsiteOps, AI assistants can discover structure, analyze functions/classes/routes/schemas, monitor file changes, run git commits/pulls/pushes, perform smart diff-based deployments, create backups, and rollback deployments—all locally and offline.
Key Features
- Website Discovery: Analyzes codebases to identify language, framework (Laravel, CodeIgniter, Express, React, Next.js), database type, and stats (route/form/API counts).
- Path Security & Isolation: Strict validation to ensure no read/write operations escape the configured site root.
- Encrypted Credentials: AES-256-GCM secure storage for FTP/SFTP credentials.
- Offline Semantic Search: Built-in TF-IDF and structure matching index for offline concepts search (e.g. "Find payment gateway", "Find registration flow").
- Smart Deployments:
- Detects only modified/added files.
- Automatically downloads current remote versions to local backup folders before pushing changes.
- Synchronizes deletes if desired.
- Supports 1-click rollback restoring the remote server state from the backup folder.
- Background File Watching: Chokidar-driven file watching automatically rebuilds the code index when files change.
- Git wrapper: Runs standard git commands directly through the AI.
Installation & Setup
1. Prerequisites
- Node.js (v18 or higher recommended)
- Git installed and available in system PATH
2. Setup Server
Clone or copy this project to your directory (e.g. C:\mcp-servers\websiteops-mcp), then run:
npm install
npm run build
This compiles TypeScript code from src/ to dist/.
Multi-Website Configuration
You can manage unlimited websites. Website configurations are stored locally in SQLite (.websiteops/metadata.db) with sensitive passwords and private keys encrypted.
Registering a Site
To add a site, call the add_site tool. Note that only name and localPath are required. All FTP settings are optional:
{
"name": "project1",
"localPath": "/Users/username/Projects/my-site"
}
If you also wish to configure FTP/SFTP deployment for the site:
{
"name": "project1",
"localPath": "/Users/username/Projects/my-site",
"remotePath": "/public_html",
"ftpHost": "ftp.example.com",
"ftpPort": 21,
"ftpUser": "ftp_username",
"ftpPassword": "secure_ftp_password",
"ftpType": "ftp"
}
For SFTP with Private Key:
{
"name": "project2",
"localPath": "C:/Projects/my-next-site",
"remotePath": "/var/www/next",
"ftpHost": "ssh.example.com",
"ftpPort": 22,
"ftpUser": "ubuntu",
"ftpType": "sftp",
"privateKey": "-----BEGIN OPENSSH PRIVATE KEY-----\n..."
}
Client Configuration Examples
Add the server to your preferred MCP host configuration:
Claude Desktop
Add this to your claude_desktop_config.json (located at %APPDATA%\Claude\claude_desktop_config.json on Windows or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"websiteops": {
"command": "npx",
"args": [
"-y",
"websiteops-mcp"
],
"env": {
"WEBSITEOPS_SECRET_KEY": "YOUR_SUPER_SECRET_KEY"
}
}
}
}
Cursor, VS Code, Windsurf
Add a new MCP server in the settings panel:
- Type:
stdio - Command:
npx -y websiteops-mcp - Environment variables:
WEBSITEOPS_SECRET_KEY=YOUR_SUPER_SECRET_KEY
Alternatively, you can run a locally cloned server:
- Command:
node /path/to/cloned/websiteops-mcp/dist/index.js
SQLite Metadata Schema Details
WebsiteOps stores data locally inside a .websiteops folder created in the server's working directory:
- sites: Stores paths, connection details, and credentials (encrypted).
- deployments: Tracks deployment status, timestamps, commit hashes, errors, and local backup folder directories.
- code_index: Extracted classes, functions, routes, forms, payments, and authentication structures.
- search_index: Document terms (TF-IDF tokens) for offline text queries.
MCP Tools Reference
| Tool Name | Parameters | Description |
|---|---|---|
add_site |
name, localPath, remotePath?, ftpHost?, ftpPort?, ftpUser?, ftpPassword?, ftpType?, privateKey? | Register a new website profile (FTP configuration is optional) |
list_sites |
List all configured website profiles | |
remove_site |
id | Remove a site connection profile |
discover_website |
siteName, siteId, localPath | Auto-detect framework, language, DB, count of routes |
get_project_tree |
siteName, siteId, maxDepth | Return file/folder listing of project |
read_file |
siteName, filePath | Read contents of a local file safely |
write_file / create_file |
siteName, filePath, content | Edit or create local files safely |
delete_file |
siteName, filePath | Delete a local file |
search_files / search_code |
siteName, query | Find file name patterns or search text inside files |
search_functions / search_classes / search_routes |
siteName, query | Find classes, functions or routes indexed in codebase |
git_status / git_diff / git_commit |
siteName, options/message/files | Core Git actions wrapper |
git_pull / git_push / git_sync |
siteName | Pull/Push/Sync commits with remote repository |
ftp_connect / ftp_compare |
siteName | Verify connection or check local vs remote file diffs |
ftp_sync |
siteName | Full directory synchronisation to remote |
deploy_project / deploy_changed_files |
siteName, files, commitHash | Safe deployment with auto-backup of remote files before upload |
rollback_deployment |
deploymentId | Restore the remote file state from a previous backup |
deployment_history |
siteName | View previous deployment attempts and logs |
semantic_search |
query, siteName | Local offline search for terms (e.g. login, Payment gateways) |
Install WebsiteOps Server in Claude Desktop, Claude Code & Cursor
unyly install websiteops-mcp-serverInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add websiteops-mcp-server -- npx -y websiteops-mcpFAQ
Is WebsiteOps Server MCP free?
Yes, WebsiteOps Server MCP is free — one-click install via Unyly at no cost.
Does WebsiteOps Server need an API key?
No, WebsiteOps Server runs without API keys or environment variables.
Is WebsiteOps Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install WebsiteOps Server in Claude Desktop, Claude Code or Cursor?
Open WebsiteOps Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare WebsiteOps Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
