---
title: "코딩 에이전트와 에디터"
description: "Claude Code, Codex, Cursor, VS Code, OpenCode, Windsurf를 로그인 또는 API 키로 TwexAPI MCP 서버에 연결합니다."
---

아래 클라이언트는 모두 Streamable HTTP로 같은 서버 `https://api.twexapi.io/mcp`에 연결합니다. 대부분의 클라이언트는 TwexAPI 계정으로 로그인할 수 있습니다. URL만 추가하면 클라이언트가 브라우저를 열어 접근 승인을 요청합니다. MCP 로그인을 지원하지 않는 클라이언트이거나 키를 선호한다면 API 키를 사용하세요.

| 클라이언트 | TwexAPI로 로그인 | API 키 | TwexAPI 검증 |
| --- | --- | --- | --- |
| [Claude Code](#claude-code) | 지원 | 지원 | 아니요 |
| [Cursor](#cursor) | 지원 | 지원 | 예 |
| [Codex](#codex) | 지원 | 지원 | 아니요 |
| [VS Code](#vs-code) | 지원 | 지원 | 아니요 |
| [OpenCode](#opencode) | 지원 | 지원 | 아니요 |
| [Windsurf](#windsurf) | 미확인 | 지원 | 아니요 |

"검증"은 해당 클라이언트로 로그인부터 도구 호출까지 직접 실행해 보았다는 뜻입니다. 나머지 로그인 방법은 각 벤더가 문서화한 MCP 인가 지원을 따릅니다. 로그인이 실패하면 API 키를 사용하세요. Claude.ai, Claude Desktop, ChatGPT는 [MCP 서버 개요](/mcp/overview#claude-ai-and-claude-desktop)와 [ChatGPT](/mcp/chatgpt)를 참고하세요.

:::tip
  API 키는 커밋하는 설정 파일이 아니라 환경 변수에 보관하세요. 키는 [TwexAPI 대시보드](https://twexapi.io/dashboard)에서 만들 수 있습니다.
:::

<a id="claude-code"></a>

## Claude Code

서버를 추가합니다.

```bash
claude mcp add --transport http twexapi https://api.twexapi.io/mcp
```

그다음 Claude Code 세션에서 `/mcp`를 실행하고 `twexapi`를 선택한 뒤 **Authenticate**를 선택해 브라우저에서 접근을 승인합니다. `--scope project`를 추가하면 `.mcp.json`으로 서버를 팀과 공유할 수 있으며, 팀원은 각자 자신의 계정으로 로그인합니다.

API 키를 사용하려면 헤더를 `.mcp.json`에 넣습니다. Claude Code는 환경 변수에서 `${TWEXAPI_API_KEY}`를 확장합니다.

```json
{
  "mcpServers": {
    "twexapi": {
      "type": "http",
      "url": "https://api.twexapi.io/mcp",
      "headers": {
        "x-api-key": "${TWEXAPI_API_KEY}"
      }
    }
  }
}
```

<a id="cursor"></a>

## Cursor

`~/.cursor/mcp.json`(모든 프로젝트) 또는 `.cursor/mcp.json`(한 프로젝트)에 추가합니다.

```json
{
  "mcpServers": {
    "twexapi": {
      "url": "https://api.twexapi.io/mcp"
    }
  }
}
```

**Settings → MCP**를 열면 서버에 **Needs authentication**이 표시됩니다. **Authenticate**를 선택하고 브라우저에서 접근을 승인한 뒤, 브라우저가 Cursor를 열도록 허용하세요. 서버에 도구 3개가 활성화된 것으로 표시되면 완료입니다.

API 키를 사용하려면:

```json
{
  "mcpServers": {
    "twexapi": {
      "url": "https://api.twexapi.io/mcp",
      "headers": {
        "x-api-key": "${env:TWEXAPI_API_KEY}"
      }
    }
  }
}
```

<a id="codex"></a>

## Codex

서버를 추가하고 로그인합니다.

```bash
codex mcp add twexapi --url https://api.twexapi.io/mcp
codex mcp login twexapi
codex mcp list
```

Codex CLI, 앱, IDE 확장은 `~/.codex/config.toml`의 같은 설정을 공유합니다.

```toml
[mcp_servers.twexapi]
url = "https://api.twexapi.io/mcp"
```

API 키를 사용하려면 키를 담은 환경 변수를 지정합니다. Codex는 이를 `Authorization: Bearer`로 보냅니다.

```toml
[mcp_servers.twexapi]
url = "https://api.twexapi.io/mcp"
bearer_token_env_var = "TWEXAPI_API_KEY"
```

<a id="vs-code"></a>

## VS Code

명령 팔레트에서 **MCP: Add Server**를 실행하고 **HTTP**를 선택하거나, `.vscode/mcp.json`에 추가합니다.

```json
{
  "servers": {
    "twexapi": {
      "type": "http",
      "url": "https://api.twexapi.io/mcp"
    }
  }
}
```

서버를 시작하고 브라우저에 표시되는 로그인 요청을 승인합니다.

API 키를 사용하려면 VS Code가 한 번 입력을 요청하고 안전하게 저장하도록 할 수 있습니다.

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "twexapi-key",
      "description": "TwexAPI API key",
      "password": true
    }
  ],
  "servers": {
    "twexapi": {
      "type": "http",
      "url": "https://api.twexapi.io/mcp",
      "headers": {
        "x-api-key": "${input:twexapi-key}"
      }
    }
  }
}
```

<a id="opencode"></a>

## OpenCode

`opencode.json`에 추가합니다.

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "twexapi": {
      "type": "remote",
      "url": "https://api.twexapi.io/mcp"
    }
  }
}
```

OpenCode는 서버에 로그인이 필요하다는 것을 감지하고 브라우저를 엽니다. 열리지 않으면 `opencode mcp auth twexapi`를 실행하세요. 상태는 `opencode mcp list`로 확인하고, 연결이 실패하면 `opencode mcp debug twexapi`를 사용합니다.

API 키를 사용하려면 자동 로그인을 끕니다.

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "twexapi": {
      "type": "remote",
      "url": "https://api.twexapi.io/mcp",
      "oauth": false,
      "headers": {
        "Authorization": "Bearer {env:TWEXAPI_API_KEY}"
      }
    }
  }
}
```

<a id="windsurf"></a>

## Windsurf

Windsurf에서의 로그인은 아직 확인하지 못했으므로 API 키를 사용하세요. `~/.codeium/windsurf/mcp_config.json`에 추가합니다(Cascade의 MCP 메뉴에서 이 파일을 열면 사용 중인 버전의 위치를 확인할 수 있습니다).

```json
{
  "mcpServers": {
    "twexapi": {
      "serverUrl": "https://api.twexapi.io/mcp",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}
```

## 기타 클라이언트

MCP 인가(PKCE와 동적 클라이언트 등록을 사용하는 OAuth 2.1)를 구현한 클라이언트라면 서버 URL만 추가해도 로그인할 수 있습니다. 그렇지 않으면 `x-api-key` 헤더나 `Authorization: Bearer YOUR_API_KEY`로 API 키를 보내세요. 직접 클라이언트를 만든다면 [MCP 클라이언트용 OAuth](/mcp/oauth)를 참고하세요.

## 연결 확인

- 서버에 `explore`, `twexapi_request`, `twexapi_write`가 표시됩니다. 쓰기 권한이 없으면 `twexapi_write`는 표시되지 않습니다.
- 에이전트에게 "TwexAPI explore로 트렌드 관련 엔드포인트를 찾아 줘"라고 요청해 보세요. `explore`는 크레딧을 사용하지 않으므로 충전 전에도 동작합니다.
- 새 연결은 [대시보드](https://twexapi.io/dashboard)의 **Authorized apps**(승인된 앱)에 표시됩니다.

| 문제 | 해결 방법 |
| --- | --- |
| `401` 또는 "Needs authentication" | 클라이언트의 로그인을 다시 실행합니다(Claude Code는 `/mcp`, Cursor는 **Authenticate**, 또는 `codex mcp login`, `opencode mcp auth`). |
| 동의 페이지에 API 키가 없다고 표시됨 | 대시보드에서 키를 만든 뒤 10분 안에 다시 **Approve**를 선택합니다. |
| 동의 페이지에 크레딧이 없다고 표시됨 | 충전한 뒤 10분 안에 다시 **Approve**를 선택합니다. |
| 도구 호출이 "No credits left on this TwexAPI account"를 반환함 | 대시보드에서 충전하세요. 연결 자체는 정상입니다. |
| `twexapi_write`가 없음 | 읽기 전용으로 연결했습니다. 대시보드에서 앱을 취소하고, 쓰기 체크를 유지한 채 다시 연결하세요. |

문제를 신고할 때는 클라이언트 이름과 버전, UTC 시각, 확인 가능하다면 응답 헤더 `X-Request-Id`를 함께 알려 주세요.
