hypernode
MCP server from poespas/hypernode-mcp-server
claude mcp add --transport stdio poespas-hypernode-mcp-server python server.py \ --env MCP_SSE_HOST="SSE server host (default: 0.0.0.0)" \ --env MCP_SSE_PORT="SSE server port (default: 8001)" \ --env MCP_HTTP_HOST="HTTP server host (default: 0.0.0.0)" \ --env MCP_HTTP_PORT="HTTP server port (default: 8000)" \ --env MCP_LOG_LEVEL="Logging level (default: INFO)"
How to use
Hypernode MCP Server provides a Python-based MCP implementation that manages Hypernode environments with tools for vhost management, incident handling, attack blocking, and nginx log analysis. It supports multiple transports including stdio, HTTP, and SSE for streaming responses. After starting the server, you can connect via an MCP client over stdio or communicate with the HTTP API to perform operations such as listing and modifying vhosts, listing and retrieving incidents, listing and blocking attacks, analyzing nginx logs, and safely executing shell commands. The available tools are discovered automatically at runtime from the tools/ directory, and include: VHost management (list_vhosts, modify_vhost), Incident management (list_incidents, get_incident), Attack blocking (list_attacks, block_attack), Nginx log analysis (analyze_nginx_logs), and Shell command execution (execute_shell_command). Each tool exposes descriptive payloads, arguments, and example responses to guide usage. For real-time feedback or streaming results, you can use the Server-Sent Events (SSE) stream endpoint on port 8001 to receive incremental updates as commands execute.
How to install
Prerequisites:
- Python 3.8+ installed on your system
- Access to install Python dependencies (pip)
- Clone the repository or download the server package.
- Install Python dependencies:
pip install -r requirements.txt
- Start the MCP server:
python server.py
- By default, the server exposes:
- StdIO transport for MCP clients
- HTTP API on port 8000
- SSE stream on port 8001
- (Optional) Configure environment variables to customize network bindings and logging:
export MCP_HTTP_HOST=0.0.0.0
export MCP_HTTP_PORT=8000
export MCP_SSE_HOST=0.0.0.0
export MCP_SSE_PORT=8001
export MCP_LOG_LEVEL=INFO
- Verify that the HTTP API is reachable:
curl -X POST http://localhost:8000/tools/list_vhosts -H "Content-Type: application/json" -d '{}'
Additional notes
Notes and tips:
- The server uses a custom tool system under tools/ that automatically registers new tools. To add new functionality, place a new tool under the appropriate subdirectory (vhosts, incidents, block_attack, nginx_logs, shell) and inherit from BaseTool.
- For safety, the execute_shell_command tool blocks dangerous commands (e.g., rm, mkfs, reboot). Always validate and sanitize inputs when invoking shell commands.
- Environment variables control HTTP/SSE ports and logging; adjust as needed for containerized deployments or reverse proxies.
- The server logs all command executions for audit purposes. Ensure proper log retention in production.
- If you run behind a reverse proxy, ensure the MCP HTTP and SSE endpoints are correctly mapped and that CORS and authentication considerations are handled as needed.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP