Manage Linux & Windows servers directly from ChatGPT using natural language.
Check server status, run tasks and scans, search your fleet and act on cloud VMs, all through natural language in ChatGPT. The plugin uses OpenAI Actions (OpenAPI spec) to call the ManageLM portal REST API directly, with nearly all the features ManageLM gives Claude through MCP (see Operations for what stays out). Users authenticate with their own ManageLM credentials via OAuth 2.0 and act with their own permissions.
- Task execution — run natural-language instructions on any server using skills, or let the agent pick the skill
- Interactive tasks — when the agent needs input, GPT asks you and answers the agent
- Scans — security audits, inventory, SSH keys and sudo, certificates, user activity
- Fleet search — inventory, security issues, activity, SSH keys, sudo rules, certificates, monitors, backups, credentials, keystore, cloud resources
- Hosting actions — start, stop, reboot or snapshot a VM, with a confirmation every time
- Task changes & revert — view file diffs and undo changes
- Email reports — send summaries to your inbox
- Go to ChatGPT GPT Editor and click Create a GPT
- In the Configure tab:
- Name: ManageLM
- Description: Manage Linux and Windows servers through ManageLM
- Instructions: paste the contents of
instructions.md
- Under Actions, click Create new action:
- Authentication: OAuth
- Client ID / Secret: from Portal > Settings > MCP & API
- Authorization URL:
https://app.managelm.com/oauth/authorize - Token URL:
https://app.managelm.com/oauth/token - Token Exchange Method: Default (POST request). The portal reads the client credentials from the request body, so "Basic authorization header" fails
- Schema: paste the contents of
openapi.yaml
- Click Save
> Show me all my servers
> Install nginx on staging-web-02
> Run a security audit on db-primary
> Which servers have CPU usage above 80%?
> Who has SSH access to the production servers?
> Who logged in to db-primary yesterday?
> Which certificates expire this month?
GPT Actions allow 30 operations, so the spec covers the ManageLM MCP tools in 29. What stays out: the skill catalog (list_available_skills, too large for an action response), scheduled tasks (search_schedules), and the sites list and the plan and usage limits that get_account_info returns. get_cloud_info is searchCloud plus getConnectorActions.
| Area | Operations |
|---|---|
| Servers & account | searchAgents, getAgent, getAgentSkills, getAccount, listGroups |
| Search | searchInventory, searchSecurity, searchActivity, searchSshKeys, searchSudoRules, searchCertificates, searchPki, searchMonitors, searchBackups, searchCredentials, searchKeystore |
| Hosting | listConnectors, searchCloud, getConnectorActions, runConnectorAction |
| Tasks | submitTask, listTasks, getTask, answerTask, followUpTask, getTaskChanges, revertTask |
| Scans | startScan, getScan (security, inventory, sshkeys, certscan, activity) |
ChatGPT stops waiting for an action after 45 seconds, so tasks wait 35 seconds (wait_seconds=35). A longer task returns its ID, and the GPT checks it with getTask. Tasks and scans run on one server at a time. Approving agents, users, skills, groups, API keys and webhooks are managed in the portal.
On an account set to No LLM, submitTask, answerTask, followUpTask and getAgentSkills answer 404; searches and scans still work.
If you set an MCP / API Key IP Whitelist (per user, in Settings > MCP & API), add OpenAI's egress IP ranges to it, or ChatGPT's calls are refused with 403.
ChatGPT ── OpenAI Actions ──> ManageLM Portal ── WebSocket ──> Agent on Server
(OAuth 2.0) (REST API) (outbound (your LLM,
only) skill exec)
No middleware or proxy required. Every task is cryptographically signed (Ed25519). Each agent calls the LLM you configure for it: with a local model, your data never leaves your infrastructure.
Edit the servers section in openapi.yaml:
servers:
- url: https://your-portal.example.com/apiAnd update the OAuth URLs to point to your portal.
| File | Purpose |
|---|---|
openapi.yaml |
OpenAPI 3.1 schema (29 operations) — paste into GPT Actions |
instructions.md |
GPT system prompt — paste into GPT Instructions |
icon.png |
GPT avatar icon |
- ChatGPT Plus or Team/Enterprise
- ManageLM account — sign up free (up to 10 agents)
- ManageLM Agent — installed on each server you want to manage
- Claude Code Extension — MCP integration for Claude
- VS Code Extension —
@managelmin Copilot Chat - n8n Plugin — infrastructure automation workflows
- Slack Plugin — notifications and commands in Slack
- OpenClaw Plugin — OpenClaw integration
