{"name":"io.github.ni-c/wg-easy-mcp","slug":"ni-c-wg-easy-mcp","title":"wg-easy","description":"Administer wg-easy (WireGuard Easy) v15: manage VPN clients, configs, QR codes and server status","url":"https://mcp.market/server/ni-c-wg-easy-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":28,"stars":0,"forks":0,"downloads_week":92,"last_push_at":"2026-09-16T08:42:40.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/ni-c/wg-easy-mcp","website":"https://wg-easy-mcp.ni-c.de","version":"0.6.0","remotes":[],"packages":[{"registryType":"npm","identifier":"wg-easy-mcp","version":"0.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of the wg-easy web UI, e.g. https://vpn.example.com:51821","isRequired":true,"format":"string","name":"WG_EASY_URL"},{"description":"Username of a wg-easy admin account (2FA must be disabled)","isRequired":true,"format":"string","name":"WG_EASY_USERNAME"},{"description":"Password of the wg-easy admin account","isRequired":true,"format":"string","isSecret":true,"name":"WG_EASY_PASSWORD"},{"description":"Set to true to accept self-signed TLS certificates (scoped to the wg-easy connection)","format":"string","name":"WG_EASY_INSECURE_TLS"},{"description":"Set to true to register only the read tools (default: false)","format":"boolean","name":"WG_EASY_READ_ONLY"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"WG_EASY_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever WG_EASY_ALLOW_TOOLS left","format":"string","name":"WG_EASY_DENY_TOOLS"}]},{"registryType":"oci","identifier":"ghcr.io/ni-c/wg-easy-mcp:0.6.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of the wg-easy web UI, e.g. https://vpn.example.com:51821","isRequired":true,"format":"string","name":"WG_EASY_URL"},{"description":"Username of a wg-easy admin account (2FA must be disabled)","isRequired":true,"format":"string","name":"WG_EASY_USERNAME"},{"description":"Password of the wg-easy admin account","isRequired":true,"format":"string","isSecret":true,"name":"WG_EASY_PASSWORD"},{"description":"Set to true to accept self-signed TLS certificates (scoped to the wg-easy connection)","format":"string","name":"WG_EASY_INSECURE_TLS"},{"description":"Set to true to register only the read tools (default: false)","format":"boolean","name":"WG_EASY_READ_ONLY"},{"description":"Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)","format":"string","name":"WG_EASY_ALLOW_TOOLS"},{"description":"Comma-separated tool names or list_* prefixes to remove from whatever WG_EASY_ALLOW_TOOLS left","format":"string","name":"WG_EASY_DENY_TOOLS"}]}],"tools":[{"name":"create_client","description":"Create a new WireGuard client. Keys and IP addresses are generated by wg-easy. Returns the new client ID. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_client","description":"Permanently delete a WireGuard client. This is irreversible: the client loses VPN access and its keys cannot be restored. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.","write_action":true,"price_micros":0,"input_schema":null},{"name":"disable_client","description":"Disable a WireGuard client. The client keeps its configuration but can no longer connect.","write_action":false,"price_micros":0,"input_schema":null},{"name":"enable_client","description":"Enable a WireGuard client so it can connect again. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_one_time_link","description":"Generate a one-time download link for a client configuration that can","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_client","description":"Get the full details of a single WireGuard client.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_client_config","description":"Get the WireGuard configuration file (wg .conf format) for a client. SENSITIVE: the output contains the client private key — treat it as a secret and do not repeat it unnecessarily.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_client_qrcode","description":"Get the client configuration as a QR code (SVG markup) for scanning with the WireGuard mobile app. SENSITIVE: the QR code encodes the client private key — treat it as a secret.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_server_info","description":"Get information about the wg-easy instance: release/update status, general settings and the WireGuard interface configuration. Secret fields (private keys, passwords) are redacted.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_clients","description":"List all WireGuard clients of the wg-easy instance, including their status (enabled/expired), addresses and traffic statistics.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_client","description":"Update a WireGuard client. Only the provided fields are changed; all other settings are preserved. Asks a person first; where the client cannot show a dialog, call once to receive a token and again with it.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-20T00:26:17.662Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T00:26:17.638Z","components":{"code":{"score":25,"max":25,"notes":["25 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"wg-easy-mcp","version":"0.6.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-09-07T20:28:45.329Z","repositoryUrl":"git+https://github.com/ni-c/wg-easy-mcp.git","weeklyDownloads":92}],"repo":{"found":true,"owner":"ni-c","repo":"wg-easy-mcp","archived":false,"pushedAt":"2026-09-16T08:42:40Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/283341?v=4","ownerCreatedAt":"2010-05-21T13:00:22Z","license":"MIT"},"icon":{"url":"https://wg-easy-mcp.ni-c.de/favicon.svg","source":"site"},"presence":{"stars":0,"forks":0,"downloadsWeek":92,"license":"MIT","lastPushAt":"2026-09-16T08:42:40.000Z","score":28}}}},"grade_history":[],"reviews":[]}