CloudConnexa MCP Server Guide
Introduction
The MCP Server for CloudConnexa is a bridge between CloudConnexa (a cloud-delivered networking and security platform) and the Model Context Protocol (MCP) ecosystem. Here’s what that means and how it works:
MCP Server Role: In the MCP architecture, a “server” is a provider of capabilities (data, tools, or environment context). The CloudConnexa MCP Server exposes CloudConnexa functionality in a standardized MCP-compatible way.
CloudConnexa Integration: It connects directly with the CloudConnexa environment (where you manage virtual networks, access policies, users, and devices). It acts as a gateway, translating CloudConnexa APIs and resources into a form that any MCP client can understand.
Here’s how this plays out with real tools:
5ire, Claude Desktop, Cursor, VS Code with Cline (all MCP clients):
These clients can discover the CloudConnexa MCP Server automatically.
They can query or invoke CloudConnexa resources through standardized MCP APIs.
Example: You could open VS Code with Cline, type a natural-language command like “Show me all devices connected to CloudConnexa”, and Cline (via MCP) would call the CloudConnexa MCP Server to fetch that info.
Consistency Across Tools: Whether you’re in a coding IDE (Cursor, VS Code with Cline) or an AI assistant app (Claude Desktop, 5ire), the interaction model is the same — you don’t have to learn separate APIs or write glue code.
Unified Access: You can manage and interact with CloudConnexa securely from any MCP-aware environment.
Developer Productivity: Devs no longer need to switch to CloudConnexa’s admin portal or juggle REST APIs — everything is available inside their preferred MCP client.
Extensibility: Other tools in your workflow can combine CloudConnexa data with different MCP servers (e.g., Jira, GitHub, databases) for cross-context automation.
Prerequisites
Required:
CloudConnexa account and API keys
Docker
Visit: Docker
Install Docker Desktop for your OS.
Open Docker and ensure it is running.
A supported MCP client
5ire
Claude Desktop (v1.9+)
Claude Code
Cursor
VS Code with Cline plugin
Optional but recommended:
Github or GitHub CLI (
gh) — a convenient alternative for cloning the repository
Confirmation steps:
Verify Docker is running.
Verify Git or GitHub CLI is installed (if using).
Download the repository
From GitHub
Using Git:
git clone https://github.com/OpenVPN/cloudconnexa-mcp-server.git cd cloudconnexa-mcp-serverUsing Github CLI (alternative):
gh repo clone OpenVPN/cloudconnexa-mcp-server cd cloudconnexa-mcp-serverAlternative: Download the ZIP archive from GitHub, extract it, and then open the extracted folder in your terminal.
Set up the MCP Server
Generate your API Token. Refer to Creating API credentials.
Build the Docker container (from repo root):
docker build -t mcp-server-public .Start the MCP server:
bash start.sh
Integrate with 5ire App
GPT-5 performed best during tests; it’s not available by default in 5ire. Add it manually:
Go to Workspace → Providers → OpenAI, click + Model.
Set Name and Display Name to
gpt-5.Set Context Window to 400000 and Max Tokens to 16384.
Set Input Price to $1.25 and Output Price to $0 (example values).
Toggle Tools to ON.
Click Save.
In New Chat, set temperature to 1.0 (note: GPT-5 requires >1) and adjust Max Tokens as needed.
Open 5ire App and go to Tools.
Click +Remote to open the Add New Tool modal and fill the following:
Tool Key:
openvpnmcpName:
OpenVPN MCPURL:
http://0.0.0.0:9999/sse
Click Save.
Switch the toggle to ON to enable the MCP server.
Go to Workspace → Providers and add your LLM Provider API key.
Click New Chat.
Select your desired LLM model and run the prompt:
Discover graphql_schema and tell me what tools are available?
Example Prompts
Once all the available tools are discovered (refer to Step 7), CloudConnexa prompts can be used. For example:
Which users are online right now?
What is my device posture policy?
Show DNS logs for yesterday.
Show me a summary of my configuration.
Available tools
hosts: List all hosts.
hostById(id): Get a host by ID.
hostApplications(hostId): List applications attached to a host.
hostApplicationById(id): Get a specific host application.
hostServices(hostId): List IP-based services on a host.
hostServiceById(id): Get a host IP service by ID.
hostConnectors(hostId): List connectors associated with a host.
hostConnectorsById(id): Get a specific host connector.
networks: List all networks.
networkById(id): Get a network by ID.
networkApplications(networkId): List applications associated with a network.
networkApplicationById(id): Get a specific network application.
networkServices(networkId): List IP-based services on a network.
networkServiceById(id): Get a network IP service by ID.
networkRoutes(networkId): List network routes (IPv4/IPv6).
networkRouteById(id): Get a network route by ID.
networkConnectors(networkId): List connectors for a network.
networkConnectorsById(id): Get a specific network connector.
visitedDomains(startHour, hoursBack=1): Domain resolution stats for a time window.
sessions(startDate, endDate, ...): Retrieve session records (active/historical).
users: List users.
userById(id): Get a user by ID.
userGroups: List user groups.
userGroupById(id): Get a user group by ID.
devices(userId): List devices, optionally filtered by user.
deviceById(id, userId): Get a device by ID for a user.
vpnRegions: List available VPN regions.
accessGroups: List access groups/policies.
accessGroupById(id): Get an access group by ID.
accessVisibilityEnabled: Whether access visibility is enabled.
devicePostures: List device posture policies.
devicePostureById(id): Get a device posture policy by ID.
dnsLogUserResolutionsEnabled: Whether per-user DNS resolution logging is enabled.
dnsRecords: List custom DNS records.
dnsRecordById(id): Get a DNS record by ID.
dnsServerAddresses: Get DNS server addresses configured.
dnsProxyEnabled: Whether DNS proxying is enabled.
defaultDnsSuffix: Default DNS suffix.
dnsZones: List DNS zones.
locationContexts: List location context policies.
locationContextById(id): Get a location context by ID.
scimCurrentUser: Get SCIM token/config info for the current user.
scimUsers(startIndex, count, filter): SCIM-compliant user listing.
scimUserById(id): Get a SCIM user by ID.
topology: Current topology setting.
defaultRegion: Default VPN region.
snat: Whether SNAT is enabled.
subnet: Organization subnets (IPv4/IPv6).
domainRoutingSubnet: Subnet used for domain routing.
clientOptions: Client option flags.
connectionTimeout: Connection timeout (seconds).
defaultConnectAuth: Default connect authentication policy.
deviceAllowancePerUser: Max devices per user.
forceUpdateDeviceAllowance: Force device allowance update flag.
deviceEnforcementLevel: Device compliance enforcement level.
profileDistribution: Client/profile distribution method.
twoFactorAuthEnabled: Whether 2FA is enabled.
trustedDevicesAllowed: Whether trusted devices are allowed.
ldapGroupMappings: LDAP group-to-app mappings.
samlGroupMappings: SAML group-to-app mappings.
Troubleshooting
See the How to add GPT-5 model to 5ire App section
GPT-5 model supports only temperature values of 1.0 or higher
Just above the prompt in 5ire App you can change how many tokens should the context length be. If you often run into this error you can adjust this setting.
Ensure that under Tools, the MCP server shows a green "Online" status, if not then turn the toggle ON. If it's still not working check in the terminal that the server is running.
Try running this prompt: "Discover graphql_schema" then try again.
Try generating a new pair of credentials from CloudConnexa -> API & Logs -> API
Contributing
We welcome your contributions. Enhancements, bug reports, and documentation improvements are valued.
Fork the repository
Create a feature branch (e.g., git checkout -b feature/new-tool)
Submit a pull request for review
License
This project is licensed under the Apache 2.0 license.