# MCP for VS Code

> Add CurrencyCore to VS Code with a portable .mcp.json file or the legacy .vscode/mcp.json format, then use it from Copilot agent mode.

Canonical: https://currency-core.com/docs/mcp-vscode/

---
VS Code supports remote MCP servers in Copilot agent mode. You add a config file,
start the server, and complete an OAuth sign-in the first time you use a keyed
tool.

Checked 2026-11-10 against VS Code's MCP documentation. VS Code has changed this
config format before, so confirm the file name if your build is older.

Server URL:

```
https://mcp.currency-core.com/mcp
```

## Portable config

Create `.mcp.json` at the workspace root. This is the portable format and the one
to commit if the whole repository should share the server.

```json
{
  "mcpServers": {
    "currency-core": {
      "type": "http",
      "url": "https://mcp.currency-core.com/mcp"
    }
  }
}
```

For a personal default that is not committed, add the same entry to your user
profile MCP configuration.

`type` must be `"http"` for Streamable HTTP. Do not use `"sse"` for this server.

## Legacy workspace config

Older VS Code builds read `.vscode/mcp.json` and use a `servers` object instead of
`mcpServers`:

```json
{
  "servers": {
    "currency-core": {
      "type": "http",
      "url": "https://mcp.currency-core.com/mcp"
    }
  }
}
```

If your build supports the portable `.mcp.json` format, prefer that. Mixing the
two formats in one workspace is a common reason a server appears in one place and
not the other.

## Add from the command line

VS Code can add the server for you:

```bash
code --add-mcp '{"name":"currency-core","type":"http","url":"https://mcp.currency-core.com/mcp"}'
```

This writes the entry to the MCP configuration your build uses. Check the file
afterward if the server does not appear.

## Connect and verify

1. Open Copilot Chat and switch to agent mode.
2. Open the tool picker and find `currency-core`.
3. Start the server if it is not running.
4. The first keyed tool call starts the OAuth flow, which normally opens a
   browser. Sign in to CurrencyCore and choose an organization.
5. Ask: "Use the CurrencyCore convert tool to convert 250 EUR to USD and tell me
   the rate date."

If the server is listed but tools fail, open the Command Palette and run
`MCP: Show Output`. `MCP: List Servers` shows the configured servers and their
state.

## Gotchas

| Problem | Why it happens | Fix |
|---|---|---|
| The server is ignored | The entry is under `servers` in a `.mcp.json` file, or under `mcpServers` in a legacy `.vscode/mcp.json` file | Use `mcpServers` for `.mcp.json`, and `servers` for `.vscode/mcp.json`. |
| The server shows as stopped | VS Code has not started it for this workspace | Run `MCP: List Servers` and start `currency-core`. |
| The OAuth browser does not return to VS Code | The callback was blocked, or you are in a remote window | Finish the flow in a local browser. In Codespaces or SSH, check that the forwarded callback URL opens. |
| Tools appear only in one workspace | The config is workspace-scoped | Add the entry to your user profile for a personal default. |
| `403` on analytics | The organization is on Free or Starter | Upgrade to Growth or higher, or use `convert`, `get_rates`, or `get_history`. |
| History is limited | The Free plan allows the last 30 days | Request a recent range, or upgrade. |
| Only two tools appear and there is no sign-in | The server did not challenge the unauthenticated request | See the [troubleshooting note for older deployments](/docs/mcp-troubleshooting/#only-two-tools-and-no-sign-in-prompt). |

## What VS Code can call

All 14 tools are exposed. Core currency tools work on every plan; the seven
`analyze_` tools require Growth or higher. A successful keyed call counts as one
API request against the organization's quota, and MCP uses no AI credits.

The full list is in [MCP tools](/docs/mcp-tools/).

## Related

- [MCP OAuth and access](/docs/mcp-oauth/)
- [MCP troubleshooting](/docs/mcp-troubleshooting/)
- [MCP for Claude](/docs/mcp-claude/)
- [MCP for ChatGPT](/docs/mcp-chatgpt/)
- [MCP for Cursor](/mcp-for-cursor/)
