> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> OAuth 2.1로 AI assistant를 fcontext 시장 데이터에 연결하기

fcontext 시장 데이터를 위한 공식 remote MCP server에 접근합니다.

## 개요

AI assistant는 fcontext MCP server를 사용해 사용자의 fcontext 계정으로 인증되고 사용량 기반으로 과금되는 시장 데이터에 접근할 수 있습니다. 첫 버전은 실시간 시세, 정적 종목 데이터, 계산된 시세 지표, 캔들스틱, 시장 뉴스, 재무 캘린더, 변동 상위 종목 도구를 제공합니다.

Remote MCP endpoint:

```text theme={null}
https://mcp.fcontext.com/mcp
```

## 인증

MCP server는 OAuth 2.1을 사용합니다. 대화형 MCP 클라이언트가 처음 연결되면 로그인하고 시장 데이터 접근을 승인하도록 리디렉션됩니다. MCP 클라이언트에는 API key가 필요하지 않습니다.

Authorization server:

```text theme={null}
https://openapi.fcontext.com/api/auth
```

MCP access token은 MCP resource audience에 바인딩된 JWT입니다.

```text theme={null}
https://mcp.fcontext.com/mcp
```

Token에는 `market_data` scope가 포함되어야 합니다.

<Note>
  API key는 `https://openapi.fcontext.com/api/market-data`의 HTTP Market Data API용입니다. 자체 서버 측 통합을 구축하는 경우가 아니라면 MCP 클라이언트는 OAuth를 사용해야 합니다.
</Note>

## 시작하기

Remote MCP server를 지원하는 클라이언트를 선택하고 fcontext endpoint를 추가하세요.

<Tabs>
  <Tab title="Codex Desktop">
    다음 URL로 remote MCP server를 추가합니다.

    ```text theme={null}
    https://mcp.fcontext.com/mcp
    ```

    Codex가 요청하면 OAuth 로그인을 완료한 뒤 시장 데이터가 필요한 채팅에서 server를 활성화하세요.
  </Tab>

  <Tab title="Claude / Claude Code">
    다음 URL로 custom remote MCP connector를 추가합니다.

    ```text theme={null}
    https://mcp.fcontext.com/mcp
    ```

    클라이언트가 여는 브라우저 창에서 OAuth 인증을 완료하세요.
  </Tab>

  <Tab title="Cursor">
    다음 URL로 remote MCP server를 추가합니다.

    ```text theme={null}
    https://mcp.fcontext.com/mcp
    ```

    Cursor가 권한 부여를 요청하면 fcontext 계정으로 로그인하고 시장 데이터 접근을 승인하세요.
  </Tab>
</Tabs>

## MCP 도구

연결 후 AI assistant는 다음 도구를 호출할 수 있습니다.

| 도구                          | 설명                                                                   |
| --------------------------- | -------------------------------------------------------------------- |
| `fcontext_get`              | `/api/market-data` 뒤의 상대 경로로 허용된 fcontext 시장 데이터 `GET` 엔드포인트를 호출합니다. |
| `fcontext_quote`            | 하나 이상의 심볼에 대한 실시간 시세를 가져옵니다.                                         |
| `fcontext_static_info`      | 정적 종목 정보를 가져옵니다.                                                     |
| `fcontext_calc_index`       | 계산된 시세 지표를 가져옵니다.                                                    |
| `fcontext_candlestick`      | 심볼의 과거 캔들스틱 데이터를 가져옵니다.                                              |
| `fcontext_news`             | 시장 뉴스를 가져옵니다.                                                        |
| `fcontext_finance_calendar` | 재무 캘린더 이벤트를 가져옵니다.                                                   |
| `fcontext_top_movers`       | 변동 상위 종목을 가져옵니다.                                                     |

도구 호출은 HTTP Market Data API와 동일하게 사용자의 fcontext 계정을 접근, 과금, 사용량 분석에 사용합니다.

## 사용 예시

연결 후 AI assistant에게 다음과 같이 물어볼 수 있습니다.

* “What is Apple’s latest quote?”
* “Show me one month of daily candlesticks for Nvidia.”
* “What are today’s top US market movers?”
* “Find recent news for Tesla.”
* “Check upcoming finance calendar events for this week.”
* “Compare static information for AAPL.US and MSFT.US.”

## 문제 해결

| 문제                                     | 확인할 것                                                                                                                                                                            |
| -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 클라이언트가 authorization metadata를 발견하지 못함 | `https://openapi.fcontext.com/api/auth/.well-known/oauth-authorization-server` 또는 `https://openapi.fcontext.com/.well-known/oauth-authorization-server/api/auth`에 접근 가능한지 확인하세요. |
| MCP 요청이 `401`을 반환함                     | MCP server를 다시 연결하고 OAuth를 다시 완료하세요. 응답에는 protected resource metadata URL을 포함한 `WWW-Authenticate`가 포함됩니다.                                                                        |
| MCP 요청이 `403`을 반환함                     | Token은 유효하지만 `market_data` scope가 없습니다. 클라이언트를 다시 승인하세요.                                                                                                                         |
| 도구 호출이 경로 오류로 실패함                      | `fcontext_get`에는 `quote` 또는 `content/news` 같은 상대 경로를 사용하세요. 절대 URL과 path traversal은 거부됩니다.                                                                                       |
