# Image CDN for GitHub Copilot — AuraImage (https://auraimage.ai/github-copilot)

GitHub Copilot needs two MCP configs: .vscode/mcp.json for the editor and .github/mcp.json for the CLI. Both are here, with the servers-vs-mcpServers trap explained.

## Add AuraImage to GitHub Copilot

### VS Code — `.vscode/mcp.json`

> Copilot CLI does not read `.vscode/mcp.json` — it rejects the `servers` top-level key. If you use the CLI as well as the editor, add the second config below.

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "aura_secret_key",
      "description": "AuraImage Secret Key",
      "password": true
    }
  ],
  "servers": {
    "auraimage": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@auraimage/mcp-server@latest"],
      "env": {
        "AURA_SECRET_KEY": "${input:aura_secret_key}"
      }
    }
  }
}
```

Verified against https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp-in-your-ide/extend-copilot-chat-with-mcp on 2026-08-09.

### Copilot CLI — `.github/mcp.json`

> The editor config above carries an `inputs` block for the key; this file has none, and GitHub documents no expansion syntax for it. GitHub documents `PATH` as the one variable automatically inherited from your environment, with all others configured in the server entry — so do not assume exporting `AURA_SECRET_KEY` in your shell reaches this server. Check that it starts with a working key before you rely on the blank value.

```json
{
  "mcpServers": {
    "auraimage": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "@auraimage/mcp-server@latest"],
      "env": {
        "AURA_SECRET_KEY": ""
      },
      "tools": ["*"]
    }
  }
}
```

Verified against https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers on 2026-08-09.

## Optimize images with GitHub Copilot

- "Which images on our marketing pages are failing the LCP budget? Open an issue with the list." → `audit_lcp`
- "Migrate the images in this PR to AuraImage." → `migrate_assets`
- "The accessibility check on this PR flagged missing alt attributes — fill them in." → `generate_alt`
- "A reviewer asked for AVIF and WebP sources here. Turn this <img> into a <picture>." → `generate_responsive_tag`
- "Show me how banner.png crops to 4:5 before I push the mobile layout." → `smart_crop_preview`

## Project conventions

`.github/copilot-instructions.md` — Repository-wide instructions live in `.github/copilot-instructions.md` and apply as soon as you save the file. Both the editor and the CLI read it, which makes it the one piece of Copilot config you only have to write once.

## FAQ

### Why does the editor config use `servers` but the CLI config use `mcpServers`?

They are separate implementations that share a brand. VS Code reads `.vscode/mcp.json` with a `servers` key plus an `inputs` block for secrets; Copilot CLI reads `.github/mcp.json` with `mcpServers` and rejects the other shape. GitHub documents this directly — the editor file is not read by the CLI.

### Do I need both files?

Only if you use both surfaces. Editor-only users need `.vscode/mcp.json`; CLI-only users need `.github/mcp.json`. Teams that use both commit both, and they do not conflict, because neither tool reads the other file.

## Links

- All agents: https://auraimage.ai/skills
- AI integration: https://auraimage.ai/docs/ai-integration.md
- Getting started: https://auraimage.ai/docs/getting-started.md
