WebsiteOps MCP Server
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 Server
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) |
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.