Connect Your AI Application
This page walks you through connecting an AI application to DisplayNet Connect. DisplayNet Connect is built into DisplayNet, so there is nothing to install on the server side. Find your AI application below and follow the steps.
Before you start
You need the same credentials you use to log into DisplayNet Manager:
| What | Replace With | Notes |
|---|---|---|
| Server IP address | Your server's IP address | Find this in DisplayNet Manager under Settings > Network, or ask your network administrator |
| Username | Your DisplayNet Manager login | The same username you type when logging into the web interface |
| Password | Your DisplayNet Manager password | The same password you type when logging into the web interface |
| MCP port | Usually 7050 | Only change this if your administrator configured a different port |
Use the server's numeric IP address (like 10.241.254.247) rather than a hostname like displaynet.local. Hostnames don't work reliably on all networks. The IP address works everywhere.
Choose your AI application
- Claude Code - Command-line AI tool from Anthropic
- Claude Desktop - Desktop chat application from Anthropic
- Gemini CLI - Command-line AI tool from Google
- OpenAI Codex CLI - Command-line AI tool from OpenAI
- Google Antigravity IDE - AI-powered IDE from Google
Claude Desktop is the easiest if you already use Claude apps. Google Antigravity IDE needs no paid subscription. The CLI options (Claude Code, Gemini CLI, Codex CLI) suit anyone already comfortable in a terminal.
These are the AI applications we have tested and documented. Any MCP-compatible AI application should work with DisplayNet Connect, though configuration steps will vary. AI tools evolve quickly, so if you encounter differences from what is described here, refer to your AI application's own MCP documentation for the most current setup instructions.
Claude Code
Claude Code connects directly to DisplayNet Connect over HTTP. No extra tools or bridges needed.
Requirements: Anthropic account with Claude Max or Pro plan
One-command setup (recommended)
Run this command in your terminal, replacing the three placeholders with your actual values:
macOS / Linux:
claude mcp add-json displaynet '{
"type": "http",
"url": "http://YOUR_SERVER_IP:7050/mcp",
"headers": {
"X-DisplayNet-Username": "YOUR_USERNAME",
"X-DisplayNet-Password": "YOUR_PASSWORD"
}
}' --scope user
Windows (PowerShell):
claude mcp add-json displaynet '{"type": "http", "url": "http://YOUR_SERVER_IP:7050/mcp", "headers": {"X-DisplayNet-Username": "YOUR_USERNAME", "X-DisplayNet-Password": "YOUR_PASSWORD"}}' --scope user
The --scope user flag makes this available from any folder on your computer.
After running the command, restart Claude Code to load the new connection. Close it (type /exit or press Ctrl+C twice) and open it again.
Manual file setup
If you prefer to set things up by hand, create a .mcp.json file in your project folder:
{
"mcpServers": {
"displaynet": {
"type": "http",
"url": "http://YOUR_SERVER_IP:7050/mcp",
"headers": {
"X-DisplayNet-Username": "YOUR_USERNAME",
"X-DisplayNet-Password": "YOUR_PASSWORD"
}
}
}
}
Replace the placeholders, save the file, and restart Claude Code.
For a user-level config that works in every project, place the same content in ~/.claude.json (macOS/Linux) or %USERPROFILE%\.claude.json (Windows).
Verify
claude mcp list
You should see displaynet in the list. Start a new session and try a natural prompt like: "Can you connect to my DisplayNet and tell me what devices are connected?" Claude calls the MCP tools on its own and reports your device inventory.
An empty .mcp.json file in a parent folder can block your user-level config from loading. If the tools do not appear, see Tools missing even after setup.
Claude Desktop
Claude Desktop is the standalone chat application. It needs a small helper tool called mcp-remote to connect to DisplayNet Connect. It installs automatically in Step 3, so there is nothing extra to download.
Requirements: Anthropic account with Claude Pro or Max plan, Node.js installed
Step 1: Install Node.js
Claude Desktop needs Node.js to run the mcp-remote bridge. Check if you have it:
node --version
If you see a version number (v18 or higher), you're set. Otherwise, download the LTS version from nodejs.org.
Step 2: Open the config file
Windows: Open Claude Desktop, click the hamburger menu (top-left), go to Settings > Developer > Edit Config. This opens the config file in your default text editor.
Claude Desktop on Windows is a sandboxed Microsoft Store application. Its config file is stored in a package-specific folder that is difficult to find manually and varies between installations. Do not try to locate the file yourself. Use the menu option above, which opens the correct file every time.
macOS: Open Claude Desktop, click Claude in the menu bar, go to Settings > Developer > Edit Config.
Or open the file directly:
open ~/Library/Application\ Support/Claude/claude_desktop_config.json
Step 3: Add the configuration
Windows:
{
"mcpServers": {
"displaynet": {
"command": "cmd",
"args": [
"/c",
"npx",
"mcp-remote",
"http://YOUR_SERVER_IP:7050/mcp",
"--allow-http",
"--header",
"X-DisplayNet-Username: YOUR_USERNAME",
"--header",
"X-DisplayNet-Password: YOUR_PASSWORD"
]
}
}
}
The cmd /c wrapper is needed on Windows because the sandboxed app cannot run npx directly.
macOS / Linux:
{
"mcpServers": {
"displaynet": {
"command": "npx",
"args": [
"mcp-remote",
"http://YOUR_SERVER_IP:7050/mcp",
"--allow-http",
"--header",
"X-DisplayNet-Username: YOUR_USERNAME",
"--header",
"X-DisplayNet-Password: YOUR_PASSWORD"
]
}
}
}
Replace YOUR_SERVER_IP, YOUR_USERNAME, and YOUR_PASSWORD with your actual values.
If the file already has other MCP servers: Add the "displaynet" block inside the existing "mcpServers" section. Each server entry must be separated by a comma, but the last entry must NOT have a trailing comma. Getting this wrong is the most common cause of a broken config:
{
"mcpServers": {
"some-other-server": { "command": "..." },
"displaynet": { "command": "..." }
}
}
Notice the comma after the first server's closing } but no comma after the last one. If your config isn't working, paste it into jsonlint.com to check for syntax errors.
Step 4: Restart and verify
Fully quit Claude Desktop (not just close the window):
- Windows: Right-click the Claude icon in the system tray > Quit
- macOS: Cmd+Q or Claude menu > Quit Claude
Reopen Claude Desktop, make sure you're in a standard Chat conversation (not a Local Code session), and try a natural prompt like:
"Can you connect to my DisplayNet and tell me what devices are connected?"
A successful response includes a list of your DisplayNet devices and confirms the connection. Claude works out which MCP tools to call without being told their names.
Recent Claude Desktop versions include a "Local Code session" feature for working with files in a folder. A Local pill, a Select folder... button, or a "Trust this workspace?" dialog on your first prompt means you are in Local Code mode. Switch to standard Chat by clicking the chat icon in the left sidebar or starting a new conversation. The MCP server configured in claude_desktop_config.json is available in Chat mode; Local Code mode uses a separate MCP config.
The mcp-remote tool normally requires HTTPS. --allow-http tells it to accept the HTTP connection DisplayNet Connect uses on your local network.
On macOS Sonoma or later, the first time Claude Desktop connects to your DisplayNet, macOS asks "Allow 'node' to find devices on local networks?" Click Allow.
Clicking Don't Allow makes the MCP fail silently, with EHOSTUNREACH in the logs and only "MCP displaynet: Server disconnected" in the interface. Fix it under System Settings → Privacy & Security → Local Network by enabling Claude (or Node), then fully quit and relaunch Claude Desktop.
The dialog can also open behind the Claude Desktop window. If your first connection seems to hang, look for it there.
The first launch may take 10-30 seconds while npx downloads the mcp-remote tool. Subsequent launches are faster.
Claude Desktop returns a thumbnail's URL but cannot display the image. See Thumbnails in Claude Desktop.
Gemini CLI
Gemini CLI connects directly to DisplayNet Connect over HTTP. No bridge needed.
Requirements: Google API key, Node.js (for installation via npm)
Step 1: Install Gemini CLI
Follow Google's Gemini CLI documentation to install and complete the first-run setup. You will need a Google API key from Google AI Studio.
Step 2: Configure
Edit ~/.gemini/settings.json:
{
"model": { "name": "gemini-2.5-flash" },
"auth": { "googleApiKey": "YOUR_GEMINI_API_KEY" },
"mcpServers": {
"displaynet": {
"httpUrl": "http://YOUR_SERVER_IP:7050/mcp",
"headers": {
"X-DisplayNet-Username": "YOUR_USERNAME",
"X-DisplayNet-Password": "YOUR_PASSWORD"
}
}
}
}
Step 3: Launch and verify
gemini --model gemini-2.5-flash
Once inside the CLI, run /mcp list to confirm the connection. You should see a green circle with 10 tools.
Try: "Use displaynet_version to check if we're connected."
Gemini CLI's model routing can auto-escalate prompts to Pro models, which have zero free-tier quota. This causes a misleading "daily quota exhausted" error on your very first prompt. Always launch with --model gemini-2.5-flash to stay on the free tier. The model setting in settings.json may be overridden by a known bug (#5373), so the CLI flag is the reliable workaround.
OpenAI Codex CLI
Codex CLI connects directly to DisplayNet Connect over HTTP.
Requirements: Paid OpenAI API key (no free tier available). Node.js must be installed (see Claude Desktop > Step 1 if you don't have it).
Step 1: Install
npm install -g @openai/codex
Step 2: Set up the API key
Get your API key from OpenAI Platform and set a spending limit at Usage Limits.
Add to your shell profile (~/.zshrc, ~/.bashrc, or equivalent):
export OPENAI_API_KEY="sk-your-key-here"
Restart your terminal or run source ~/.zshrc to apply.
Step 3: Configure
Edit ~/.codex/config.toml. If the file or the ~/.codex/ directory doesn't exist yet, create it.
[mcp_servers.displaynet]
url = "http://YOUR_SERVER_IP:7050/mcp"
[mcp_servers.displaynet.http_headers]
X-DisplayNet-Username = "YOUR_USERNAME"
X-DisplayNet-Password = "YOUR_PASSWORD"
Step 4: Launch and verify
codex
Try: "Use displaynet_version to check if we're connected."
Tool calls appear as displaynet.displaynet_* in the output.
Google Antigravity IDE
Antigravity connects directly to DisplayNet Connect over HTTP. Configuration is done through the IDE's settings UI.
Requirements: Google account (free)
Step 1: Open the MCP config
- Launch Antigravity IDE
- Click the gear icon (Settings)
- Go to Customizations
- Under "INSTALLED MCP SERVERS", click Open MCP Config
This opens ~/.gemini/antigravity/mcp_config.json in a text editor.
Step 2: Add the configuration
{
"mcpServers": {
"displaynet": {
"serverUrl": "http://YOUR_SERVER_IP:7050/mcp",
"headers": {
"X-DisplayNet-Username": "YOUR_USERNAME",
"X-DisplayNet-Password": "YOUR_PASSWORD"
}
}
}
}
Replace the placeholders and save the file.
Antigravity's own AI assistant may suggest httpUrl as the config key. This is incorrect and will produce a "serverURL or command must be specified" error. The correct key is serverUrl (camelCase).
Step 3: Restart the IDE
Save the config file, then fully quit and relaunch Antigravity. The Refresh button in the MCP panel is not sufficient to pick up config changes.
Step 4: Verify
Go to Settings > Customizations. You should see "displaynet" with a green status under INSTALLED MCP SERVERS.
Start a new conversation and try a natural prompt like: "Can you connect to my DisplayNet and tell me what devices are connected?"
Antigravity has been observed to fail resolving .local hostnames. Always use the numeric IP address in your Antigravity config.
Verification
After setting up any AI application, this customer-natural prompt confirms a working connection:
Can you connect to my DisplayNet and tell me what devices are connected?
A successful response is a list of your DisplayNet devices, with names, status, and basic info. Whichever AI you set up works out which MCP tools to call without being told their names.
If you want to see the exact version and build timestamp instead, ask:
What version of DisplayNet am I connected to?
If you get an error or the tools don't appear, see Tips and Troubleshooting.