Skip to main content
Glama
anilreddykota

WebsiteOps MCP Server

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

  1. Website Discovery: Analyzes codebases to identify language, framework (Laravel, CodeIgniter, Express, React, Next.js), database type, and stats (route/form/API counts).

  2. Path Security & Isolation: Strict validation to ensure no read/write operations escape the configured site root.

  3. Encrypted Credentials: AES-256-GCM secure storage for FTP/SFTP credentials.

  4. Offline Semantic Search: Built-in TF-IDF and structure matching index for offline concepts search (e.g. "Find payment gateway", "Find registration flow").

  5. 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.

  6. Background File Watching: Chokidar-driven file watching automatically rebuilds the code index when files change.

  7. 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)

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/anilreddykota/cp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server