# Connect VS Code to SignWith (MCP)

> Add SignWith to VS Code, and GitHub Copilot can look up your templates, send signature requests and check signers from the chat panel.

Source: https://signwith.co/docs/mcp/vscode · Updated 2026-10-02

VS Code reads MCP servers from `.vscode/mcp.json` in a workspace, or from your user configuration. Steps checked against the VS Code documentation on 1 October 2026.

## One-click install

- [Add to VS Code](vscode:mcp/install?%7B%22name%22%3A%22signwith%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapp.signwith.co%2Fmcp%22%7D)

The button opens VS Code and adds SignWith. On first use, VS Code opens your browser to sign in to SignWith, where you choose **Full access** or **View only**.

## Add it by hand

Run **MCP: Add Server** from the Command Palette, or add SignWith to `.vscode/mcp.json`:

```json
{
  "servers": {
    "signwith": { "type": "http", "url": "https://app.signwith.co/mcp" }
  }
}
```

VS Code handles the OAuth sign-in in your browser the first time it connects.

## Use an API key instead

To connect with an [API key](https://signwith.co/docs/api/authentication), add a header. With an `inputs` prompt, VS Code asks for the key the first time and keeps it out of the file:

```json
{
  "inputs": [
    { "type": "promptString", "id": "signwith-api-key", "description": "SignWith API key", "password": true }
  ],
  "servers": {
    "signwith": {
      "type": "http",
      "url": "https://app.signwith.co/mcp",
      "headers": { "Authorization": "Bearer ${input:signwith-api-key}" }
    }
  }
}
```

[Get your API key](https://app.signwith.co/settings/api)

## Check it works

Run **MCP: List Servers** and check `signwith` is running. Then open the chat in agent mode and ask: "Which SignWith templates do I have?" Copilot asks before it runs a tool that sends or changes something.

## Troubleshooting

- **401 unauthenticated with an API key:** the key is wrong, revoked or expired. See [authentication](https://signwith.co/docs/api/authentication).
- **It can read but not send:** the connection is View only, or the key is read-only.

All tools and access rules are on the [MCP overview](https://signwith.co/docs/mcp) and [MCP tools](https://signwith.co/docs/mcp/tools).
