OpenAccess MCP

OpenAccess MCP

Enables secure remote access operations through SSH, SFTP, rsync, VPN, and tunneling with enterprise-grade policy enforcement and audit logging. Provides AI assistants with secure, policy-driven access to remote systems while maintaining comprehensive audit trails and zero-trust security.

Category
访问服务器

README

OpenAccess MCP - The Ultimate MCP Server for SSH, SFTP, Rsync, VPN & Remote Access

Python 3.12+ License: Apache 2.0 MCP Protocol Security: Audit-Ready

The most comprehensive MCP server for secure remote access operations - SSH execution, SFTP file transfer, rsync synchronization, SSH tunneling, VPN management, and RDP brokering with enterprise-grade security, policy enforcement, and audit logging.

🔍 What is OpenAccess MCP?

OpenAccess MCP is a Model Context Protocol (MCP) server that provides secure, policy-driven access to remote systems through SSH, SFTP, rsync, tunneling, VPNs, and RDP. It's designed for AI assistants, automation tools, and DevOps teams who need secure remote access with full audit trails.

Key Search Terms & Use Cases:

  • MCP for SSH - Secure SSH execution through MCP protocol
  • MCP for SFTP - File transfer operations via MCP
  • MCP for Rsync - Synchronization with policy enforcement
  • MCP for VPN - WireGuard and OpenVPN management
  • MCP for Tunneling - SSH port forwarding and tunneling
  • MCP for RDP - Remote desktop brokering
  • MCP Server for Remote Access - Complete remote access solution
  • Secure MCP Server - Policy-driven access control
  • Audit-Ready MCP - Compliance and security logging

🚀 Core Features & MCP Tools

🔐 SSH Operations (MCP Tool: ssh.exec)

  • Secure command execution with policy allowlists
  • RBAC enforcement and session timeboxing
  • Command validation and sudo control
  • Real-time output streaming with timeout management

📁 File Transfer (MCP Tool: sftp.transfer)

  • Secure file upload/download with checksum verification
  • Directory synchronization and recursive operations
  • Permission preservation and ownership management
  • Bandwidth throttling and progress monitoring

🔄 Synchronization (MCP Tool: rsync.sync)

  • Dry-run protection for destructive operations
  • Change ticket requirements for risky operations
  • Bandwidth limiting and exclude patterns
  • Incremental sync with conflict resolution

🌐 Tunneling (MCP Tool: tunnel.create/close)

  • Local port forwarding for service access
  • Remote port forwarding for reverse connections
  • Dynamic SOCKS proxy for flexible routing
  • TTL enforcement and automatic cleanup

🔒 VPN Management (MCP Tool: vpn.wireguard/openvpn)

  • WireGuard interface creation and management
  • OpenVPN connection handling and monitoring
  • Peer management and key rotation
  • Connection status and health checks

🖥️ RDP Brokering (MCP Tool: rdp.launch)

  • Secure RDP connection brokering
  • Connection URL generation with signatures
  • TTL management and access control
  • Audit logging for all connections

🏗️ Architecture & MCP Integration

┌─────────────────────────────────────────────────────────────────┐
│                    AI Assistant / Client                        │
│              (ChatGPT, Claude, Custom AI)                      │
└─────────────────────┬───────────────────────────────────────────┘
                      │ MCP Protocol (stdio/websocket)
                      ▼
┌─────────────────────────────────────────────────────────────────┐
│                 OpenAccess MCP Server                          │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐ │
│  │   SSH Provider  │  │  SFTP Provider  │  │ Rsync Provider  │ │
│  │   (ssh.exec)    │  │ (sftp.transfer) │  │  (rsync.sync)   │ │
│  └─────────────────┘  └─────────────────┘  └─────────────────┘ │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐ │
│  │ Tunnel Provider │  │   VPN Provider  │  │  RDP Provider   │ │
│  │(tunnel.create)  │  │ (vpn.wireguard) │  │  (rdp.launch)   │ │
│  └─────────────────┘  └─────────────────┘  └─────────────────┘ │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐ │
│  │ Policy Engine   │  │ Audit Logger    │  │ Secret Store    │ │
│  │ (RBAC, Rules)   │  │ (Hash-chained)  │  │ (Vault/Keyring) │ │
│  └─────────────────┘  └─────────────────┘  └─────────────────┘ │
└─────────────────────┬───────────────────────────────────────────┘
                      │ Network Operations
                      ▼
┌─────────────────────────────────────────────────────────────────┐
│                Remote Systems & Infrastructure                  │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐            │
│  │ Linux/Unix  │  │   Windows   │  │   Network   │            │
│  │   Servers   │  │   Servers   │  │  Devices    │            │
│  └─────────────┘  └─────────────┘  └─────────────┘            │
└─────────────────────────────────────────────────────────────────┘

🎯 Why Choose OpenAccess MCP?

🔍 For AI Assistants & LLMs:

  • ChatGPT Integration - Perfect for AI-powered remote operations
  • Claude Integration - Secure remote access through Claude
  • Custom AI Tools - Build AI assistants with remote capabilities
  • Natural Language - Convert natural language to secure operations

🛡️ For Security Teams:

  • Zero Trust Architecture - No direct credential exposure
  • Policy Enforcement - RBAC and command allowlists
  • Audit Compliance - SOC2, ISO27001, and regulatory requirements
  • Threat Detection - Anomaly detection and alerting

⚡ For DevOps & SRE:

  • Infrastructure Automation - Secure CI/CD pipeline integration
  • Incident Response - Quick access during outages
  • Configuration Management - Policy-driven change control
  • Monitoring Integration - OpenTelemetry and observability

🏢 For Enterprises:

  • Compliance Ready - Audit trails and policy enforcement
  • Scalable Architecture - Multi-tenant and distributed deployment
  • Integration Friendly - REST APIs and webhook support
  • Professional Support - Enterprise-grade reliability

🚀 Quick Start - Get Running in 5 Minutes

Prerequisites

  • Python 3.12+ (Latest Python for best performance)
  • Docker (for demo environment)
  • SSH access to target systems

Installation

# Clone the repository
git clone https://github.com/keepithuman/openaccess-mcp.git
cd openaccess-mcp

# Install with development dependencies
pip install -e ".[dev]"

# Or using uv (requires manual dependency installation)
uv sync --extra dev
uv pip install PyJWT prometheus-client
uv pip install -e .

Local Development Setup

# Create virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install in development mode
pip install -e ".[dev]"

# Test the installation
python -c "from openaccess_mcp.server import OpenAccessMCPServer; print('✅ Installation successful!')"

# Run the server
python -m openaccess_mcp serve

Start the MCP server

openaccess-mcp start --profiles ./examples/profiles

In another terminal, verify audit logs

openaccess-audit verify ./audit.jsonl


### **Docker Demo Environment**

```bash
# Start demo environment (server + SSH target)
docker compose up -d

# Test the setup
openaccess-mcp start --profiles ./examples/profiles

📖 Comprehensive Documentation

🛠️ Real-World Usage Examples

Test Your Installation First

# Verify everything works
source venv/bin/activate
python -c "from openaccess_mcp.server import OpenAccessMCPServer; print('✅ Core MCP functionality ready!')"

# Run unit tests
python -m pytest tests/unit/ -v

# Run integration tests  
python -m pytest tests/integration/ -v

Profile Configuration for Production

{
  "id": "prod-web-01",
  "host": "10.10.1.15",
  "port": 22,
  "protocols": ["ssh", "sftp", "rsync", "tunnel"],
  "auth": { "type": "vault_ref", "ref": "kv/ssh/prod-web-01" },
  "policy": {
    "roles": ["ops-oncall", "neteng-sre"],
    "command_allowlist": ["^systemctl status\\b", "^journalctl\\b", "^grep\\b"],
    "deny_sudo": true,
    "require_change_ticket_for": ["rsync.delete", "tunnel.dynamic"],
    "max_session_seconds": 3600
  }
}

SSH Command Execution via MCP

# Execute a command on a remote host through MCP
result = await mcp.call_tool("ssh.exec", {
    "profile_id": "prod-web-01",
    "command": "systemctl status nginx",
    "timeout_seconds": 30
})

print(f"Command output: {result.stdout}")
print(f"Exit code: {result.exit_code}")

Secure File Transfer via MCP

# Download a file securely through MCP
result = await mcp.call_tool("sftp.transfer", {
    "profile_id": "prod-web-01",
    "direction": "get",
    "remote_path": "/var/log/nginx/access.log",
    "local_path": "./nginx-access.log"
})

print(f"Transfer successful: {result.success}")
print(f"Bytes transferred: {result.bytes_transferred}")

Safe Synchronization with MCP

# First, dry-run to see what would change
plan = await mcp.call_tool("rsync.sync", {
    "profile_id": "prod-web-01",
    "direction": "push",
    "source": "./dist/",
    "dest": "/var/www/html/",
    "delete_extras": True,
    "dry_run": True
})

print(f"Plan: {plan.plan}")

# Then apply if the plan looks correct
if plan.success and input("Apply changes? (y/N): ").lower() == 'y':
    result = await mcp.call_tool("rsync.sync", {
        "profile_id": "prod-web-01",
        "direction": "push",
        "source": "./dist/",
        "dest": "/var/www/html/",
        "delete_extras": True,
        "dry_run": False,
        "change_ticket": "CHG-12345"
    })

SSH Tunneling via MCP

# Create a local port forward through MCP
tunnel = await mcp.call_tool("tunnel.create", {
    "profile_id": "prod-web-01",
    "tunnel_type": "local",
    "listen_port": 8080,
    "target_host": "internal-service",
    "target_port": 80,
    "ttl_seconds": 3600
})

print(f"Tunnel created: {tunnel.tunnel_id}")
print(f"Local port: {tunnel.listen_port}")

🔒 Enterprise Security Features

🔐 Zero Trust Architecture

  • No credential exposure - Secrets resolved server-side only
  • Policy-based access - Every operation validated against rules
  • Session isolation - No shared state between operations
  • Audit integrity - Hash-chained logs with cryptographic signatures

🛡️ Advanced Policy Enforcement

  • Role-based access control (RBAC) - Granular permission management
  • Command allowlists - Regex-based command validation
  • Change ticket requirements - Approval workflow for risky operations
  • Time-based restrictions - Session timeboxing and TTL enforcement

📊 Compliance & Audit

  • SOC2 Ready - Comprehensive audit trails and controls
  • ISO27001 Compatible - Information security management
  • GDPR Compliant - Data protection and privacy controls
  • Regulatory Ready - HIPAA, PCI-DSS, and more

🧪 Testing & Quality Assurance

# Run all tests with coverage
pytest --cov=openaccess_mcp --cov-report=html

# Run specific test suites
pytest tests/unit/ -v                    # Unit tests
pytest tests/integration/ -v             # Integration tests
pytest tests/performance/ -v             # Performance tests

# Run with different Python versions
tox

# Security scanning
bandit -r openaccess_mcp/
safety check

📦 Deployment Options

Docker Deployment

# Build the image
docker build -t openaccess-mcp .

# Run with profiles and secrets
docker run -d \
  --name openaccess-mcp \
  -v $(pwd)/profiles:/profiles \
  -v $(pwd)/secrets:/secrets \
  -p 8080:8080 \
  openaccess-mcp start \
  --profiles /profiles \
  --secrets-dir /secrets

Kubernetes Deployment

# Deploy with Helm
helm install openaccess-mcp ./charts/openaccess-mcp \
  --set vault.addr=https://vault.example.com \
  --set otel.endpoint=http://otel-collector:4317 \
  --set ingress.enabled=true \
  --set ingress.host=openaccess-mcp.example.com

Cloud Deployment

# AWS ECS
aws ecs create-service \
  --cluster openaccess-cluster \
  --service-name openaccess-mcp \
  --task-definition openaccess-mcp:1

# Google Cloud Run
gcloud run deploy openaccess-mcp \
  --image gcr.io/PROJECT_ID/openaccess-mcp \
  --platform managed \
  --region us-central1

🤝 Contributing & Community

Development Setup

# Install pre-commit hooks
pre-commit install

# Run code quality checks
ruff check .                    # Linting
mypy openaccess_mcp/           # Type checking
black openaccess_mcp/           # Code formatting
isort openaccess_mcp/           # Import sorting

Community & Support

📄 License & Legal

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

🆘 Support & Help

Getting Help

Professional Support

  • Enterprise Support: Available for enterprise deployments
  • Training & Consulting: Custom implementation and training
  • Security Audits: Third-party security assessments
  • Compliance Help: SOC2, ISO27001, and regulatory guidance

🗺️ Development Roadmap

✅ Completed (v1.0)

  • [x] Core MCP Tools - SSH, SFTP, rsync, tunneling
  • [x] Policy Engine - RBAC, allowlists, change tickets
  • [x] Audit System - Hash-chained logs, Ed25519 signatures
  • [x] OpenTelemetry - Comprehensive observability
  • [x] Security Model - Zero trust, policy enforcement

🚧 In Progress (v1.1)

  • [ ] VPN Management - WireGuard and OpenVPN integration
  • [ ] RDP Brokering - Secure remote desktop access
  • [ ] Web UI - Audit browsing and policy testing
  • [ ] Performance Optimization - High-throughput operations

🔮 Planned (v2.0+)

  • [ ] Fleet Operations - Multi-target execution with concurrency
  • [ ] Plugin System - Custom protocol providers
  • [ ] Advanced Analytics - ML-powered anomaly detection
  • [ ] Multi-Cloud Support - AWS, GCP, Azure integration

🚫 What We Don't Do - Clear Expectations

To set clear expectations and avoid confusion:

  • ❌ Full Interactive Shells: We provide command execution, not unrestricted shell access
  • ❌ GUI Streaming: No VNC/RDP streaming — we broker connections only
  • ❌ Raw Credential Exposure: Secrets are resolved server-side and never exposed to clients
  • ❌ Bypass Security Controls: All operations must pass policy enforcement
  • ❌ Root Access: We enforce least-privilege principles
  • ❌ Persistent Sessions: All sessions are timeboxed and audited

🌟 Star History & Community Growth

Star History Chart

📊 Project Statistics

GitHub stars GitHub forks GitHub issues GitHub pull requests


🎯 Ready to Get Started?

OpenAccess MCP is the most comprehensive and secure MCP server for remote access operations. Whether you're building AI assistants, automating infrastructure, or securing enterprise access, we've got you covered.

Quick Links:


OpenAccess MCP - Secure remote access, policy-driven, audit-ready, MCP-powered.

Built with ❤️ for the AI and DevOps communities

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选