# Connect your AI tool

Add the WinkPG MCP server to your AI coding tool, and the agent in your editor can search this documentation, read an operation's reference, and send sandbox calls for you. Choose your tool below for the quickest way to add it.

## Server address

Your tool connects to this address. The documentation tools need no credential. To send sandbox calls, connect with an API key instead.

`https://devportal.qa.winkpg.io/mcp`

## Choose your tool

### Claude Code

#### Run a command

Local:

```bash
claude mcp add --transport http winkpg https://devportal.qa.winkpg.io/mcp
```

Your user settings:

```bash
claude mcp add --transport http --scope user winkpg https://devportal.qa.winkpg.io/mcp
```

Project:

```bash
claude mcp add --transport http --scope project winkpg https://devportal.qa.winkpg.io/mcp
```

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Project: .mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

Project:

```bash
claude mcp add --transport http --scope project winkpg https://devportal.qa.winkpg.io/mcp --header 'Authorization: Bearer ${WINKPG_API_KEY}'
```

Project: .mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "headers": {
        "Authorization": "Bearer ${WINKPG_API_KEY}"
      }
    }
  }
}
```

Set WINKPG_API_KEY to your API key in the environment Claude Code starts from. Claude Code reads it when it connects, so the key never appears in the configuration.

### Cursor

#### Install from a link

[Add to Cursor](cursor://anysphere.cursor-deeplink/mcp/install?name=winkpg&config=eyJ1cmwiOiJodHRwczovL2RldnBvcnRhbC5xYS53aW5rcGcuaW8vbWNwIn0%3D)

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Project: .cursor/mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

Your user settings: ~/.cursor/mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

Project: .cursor/mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "url": "https://devportal.qa.winkpg.io/mcp",
      "headers": {
        "Authorization": "Bearer ${env:WINKPG_API_KEY}"
      }
    }
  }
}
```

Your user settings: ~/.cursor/mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "url": "https://devportal.qa.winkpg.io/mcp",
      "headers": {
        "Authorization": "Bearer ${env:WINKPG_API_KEY}"
      }
    }
  }
}
```

Set WINKPG_API_KEY to your API key in the environment Cursor starts from. Cursor reads it when it connects, so the key never appears in the configuration.

### VS Code

#### Install from a link

[Install in VS Code](vscode:mcp/install?%7B%22name%22%3A%22winkpg%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fdevportal.qa.winkpg.io%2Fmcp%22%7D)

#### Run a command

Your user settings, macOS and Linux:

```bash
code --add-mcp '{"name":"winkpg","type":"http","url":"https://devportal.qa.winkpg.io/mcp"}'
```

Your user settings, Windows PowerShell:

```powershell
code --add-mcp '{\"name\":\"winkpg\",\"type\":\"http\",\"url\":\"https://devportal.qa.winkpg.io/mcp\"}'
```

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Project: .vscode/mcp.json:

```json
{
  "servers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

Project: .mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

Project: .vscode/mcp.json:

```json
{
  "servers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "headers": {
        "Authorization": "Bearer ${input:winkpg-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "winkpg-api-key",
      "description": "WinkPG API key",
      "password": true
    }
  ]
}
```

VS Code asks for your API key the first time it starts WinkPG, and stores it securely so the key never appears in the configuration.

- To add the server for every workspace, run MCP: Open User Configuration from the Command Palette and add the entry there.

### Visual Studio

#### Install from a link

[Install in Visual Studio](https://vs-open.link/mcp-install?%7B%22name%22%3A%22winkpg%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fdevportal.qa.winkpg.io%2Fmcp%22%7D)

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Your user settings: %USERPROFILE%\.mcp.json:

```json
{
  "servers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

Project: .vs\mcp.json:

```json
{
  "servers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

#### Good to know

- Installing from the link needs Visual Studio 2022 version 17.14 or later. In an earlier version, add the entry to mcp.json by hand.

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

Your user settings: %USERPROFILE%\.mcp.json:

```json
{
  "servers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "headers": {
        "Authorization": "Bearer ${input:winkpg-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "winkpg-api-key",
      "description": "WinkPG API key",
      "password": true
    }
  ]
}
```

Project: .vs\mcp.json:

```json
{
  "servers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "headers": {
        "Authorization": "Bearer ${input:winkpg-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "winkpg-api-key",
      "description": "WinkPG API key",
      "password": true
    }
  ]
}
```

Visual Studio asks for your API key the first time it starts WinkPG, and stores it so the key never appears in the configuration.

### Codex

#### Run a command

Your user settings:

```bash
codex mcp add winkpg --url https://devportal.qa.winkpg.io/mcp
```

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Your user settings: ~/.codex/config.toml:

```toml
[mcp_servers.winkpg]
url = "https://devportal.qa.winkpg.io/mcp"
```

Project: .codex/config.toml:

```toml
[mcp_servers.winkpg]
url = "https://devportal.qa.winkpg.io/mcp"
```

#### Good to know

- Codex reads .codex/config.toml only in a project you've marked as trusted. Use ~/.codex/config.toml to add the server everywhere.

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

Your user settings:

```bash
codex mcp add winkpg --url https://devportal.qa.winkpg.io/mcp --bearer-token-env-var WINKPG_API_KEY
```

Your user settings: ~/.codex/config.toml:

```toml
[mcp_servers.winkpg]
url = "https://devportal.qa.winkpg.io/mcp"
bearer_token_env_var = "WINKPG_API_KEY"
```

Project: .codex/config.toml:

```toml
[mcp_servers.winkpg]
url = "https://devportal.qa.winkpg.io/mcp"
bearer_token_env_var = "WINKPG_API_KEY"
```

Set WINKPG_API_KEY to your API key in the environment Codex starts from. Codex reads it when it connects, so the key never appears in the configuration.

- Codex reads .codex/config.toml only in a project you've marked as trusted. Use ~/.codex/config.toml to add the server everywhere.

### JetBrains IDEs

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Project: .junie/mcp/mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

Your user settings: ~/.junie/mcp/mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

#### Good to know

- To use the server in AI Assistant, open Settings | Tools | AI Assistant | Model Context Protocol (MCP), select Add, paste {"mcpServers":{"winkpg":{"url":"https://devportal.qa.winkpg.io/mcp"}}}, choose the Server level, and select OK.
- AI Assistant and Junie keep separate MCP settings. To use the server in both, add it to each.

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

JetBrains IDEs can't read an API key from the environment. Connect to WinkPG without a key, or sign in instead.

### Claude Desktop and claude.ai

#### Install from a link

[Add to Claude](https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=WinkPG&connectorUrl=https%3A%2F%2Fdevportal.qa.winkpg.io%2Fmcp)

#### Good to know

- To add the connector by hand, open Customize > Connectors, select Add custom connector, name it WinkPG, and enter https://devportal.qa.winkpg.io/mcp as its URL.
- On a Team or Enterprise plan, an Owner adds the connector for everyone in Organization settings > Connectors. Each member then connects to it from Customize > Connectors.
- Claude connects to WinkPG from its own service, not from your computer, so the server has to be reachable from the internet.

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

- Request headers is in beta and available to some organizations only. If Claude doesn't show it, connect without a key or sign in instead.
- To add the connector by hand, open Customize > Connectors, select Add custom connector, name it WinkPG, and enter https://devportal.qa.winkpg.io/mcp as its URL.
- Choose No sign-in, open Request headers, choose Authorization, and enter the scheme Bearer, a space, and your sandbox API key yourself. Claude stores the key, so it never appears in anything you copy from here.
- Claude connects to WinkPG from its own service, not from your computer, so the server has to be reachable from the internet.

### Devin Desktop (formerly Windsurf)

#### Run a command

Local:

```bash
devin mcp add winkpg https://devportal.qa.winkpg.io/mcp
```

Project:

```bash
devin mcp add -s project winkpg https://devportal.qa.winkpg.io/mcp
```

Your user settings:

```bash
devin mcp add -s user winkpg https://devportal.qa.winkpg.io/mcp
```

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Project: .devin/mcp_config.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

Your user settings: ~/.config/devin/mcp_config.json (macOS and Linux); %APPDATA%\devin\mcp_config.json (Windows):

```json
{
  "mcpServers": {
    "winkpg": {
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

An API key setup isn't offered for Devin Desktop yet, because reading the key from the environment isn't confirmed for its default agent. Connect to WinkPG without a key, or sign in instead.

### Gemini CLI

#### Run a command

Project:

```bash
gemini mcp add --transport http winkpg https://devportal.qa.winkpg.io/mcp
```

Your user settings:

```bash
gemini mcp add --transport http --scope user winkpg https://devportal.qa.winkpg.io/mcp
```

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Project: .gemini/settings.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

Your user settings: ~/.gemini/settings.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp"
    }
  }
}
```

#### Good to know

- Gemini CLI ignores .gemini/settings.json in a folder you haven't trusted. Use ~/.gemini/settings.json to add the server everywhere.

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

Project:

```bash
gemini mcp add --transport http --header 'Authorization: Bearer ${WINKPG_API_KEY}' winkpg https://devportal.qa.winkpg.io/mcp
```

Your user settings:

```bash
gemini mcp add --transport http --scope user --header 'Authorization: Bearer ${WINKPG_API_KEY}' winkpg https://devportal.qa.winkpg.io/mcp
```

Project: .gemini/settings.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "headers": {
        "Authorization": "Bearer ${WINKPG_API_KEY}"
      }
    }
  }
}
```

Your user settings: ~/.gemini/settings.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "headers": {
        "Authorization": "Bearer ${WINKPG_API_KEY}"
      }
    }
  }
}
```

Set WINKPG_API_KEY to your API key in the environment Gemini CLI starts from. Gemini CLI reads it when it connects, so the key never appears in the configuration.

- Gemini CLI ignores .gemini/settings.json in a folder you haven't trusted. Use ~/.gemini/settings.json to add the server everywhere.

### GitHub Copilot CLI

#### Run a command

Your user settings:

```bash
copilot mcp add --transport http winkpg https://devportal.qa.winkpg.io/mcp
```

#### Add it to a configuration file

If the file already lists other servers, add only this server's entry to it.

Project: .github/mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "tools": [
        "*"
      ]
    }
  }
}
```

Your user settings: ~/.copilot/mcp-config.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "tools": [
        "*"
      ]
    }
  }
}
```

#### Good to know

- Copilot CLI reads .github/mcp.json only in a folder you've trusted. Use ~/.copilot/mcp-config.json to add the server everywhere.

#### Use an API key instead

If your tool can't sign in, connect to the endpoint and present a sandbox API key. The configuration reads the key from the WINKPG_API_KEY environment variable, so the key itself is never written into a file.

Your user settings:

```bash
copilot mcp add --transport http --header 'Authorization: Bearer ${WINKPG_API_KEY}' winkpg https://devportal.qa.winkpg.io/mcp
```

Project: .github/mcp.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "tools": [
        "*"
      ],
      "headers": {
        "Authorization": "Bearer ${WINKPG_API_KEY}"
      }
    }
  }
}
```

Your user settings: ~/.copilot/mcp-config.json:

```json
{
  "mcpServers": {
    "winkpg": {
      "type": "http",
      "url": "https://devportal.qa.winkpg.io/mcp",
      "tools": [
        "*"
      ],
      "headers": {
        "Authorization": "Bearer ${WINKPG_API_KEY}"
      }
    }
  }
}
```

Set WINKPG_API_KEY to your API key in the environment GitHub Copilot CLI starts from. GitHub Copilot CLI reads it when it connects, so the key never appears in the configuration.

- Copilot CLI reads .github/mcp.json only in a folder you've trusted. Use ~/.copilot/mcp-config.json to add the server everywhere.

### Use the CLI instead

The integrator CLI finds the AI tools on your machine and adds the server to each of them. Run it again at any time: a tool that already has the server is left as it is.

```bash
winkpg-integrator mcp install --portal-url https://devportal.qa.winkpg.io
```

[Get the CLI](https://devportal.qa.winkpg.io/docs/cli.md)

## Before you connect

- Your tool asks you to approve the server the first time it starts it. Check that the address is the one on this page before you approve it.
- A project configuration file is meant to be committed, so everyone on your team gets the server. It holds an address, and in the API key form the name of an environment variable, but never a key.

## See also

- [All documentation](https://devportal.qa.winkpg.io/llms.txt): the machine-readable index of every public page on this site.
