AI Agent를 원격 MCP 서버에 연결하기 (2026)

Piotr Grudzień
게시일 읽는 시간 약 17분
AI Agent를 원격 MCP 서버에 연결하기: 서버 선택, 도구 활성화, 응답 확인

AI Agent는 사용자가 제공한 지식으로 답합니다. 일부 질문에는 지식 베이스에 맞지 않는 정보가 필요합니다. 최신 정보, 계산된 정보, 또는 사용자가 소유하지 않은 시스템에 있는 정보입니다. 원격 MCP 서버는 Agent가 대화 도중 그 정보를 가져오는 방법입니다. 이 가이드는 무료 플랜에서 코드 없이 Quickchat AI Agent를 원격 MCP 서버에 연결합니다. 240개가 넘는 카탈로그에서 서버를 선택하고, 그중 정확히 하나의 도구를 켜고, 프롬프트 문단 하나로 제어한 뒤, 실제 호출이 Inbox에 기록되는 것을 확인합니다.

실제로 만들어 보겠습니다. 예제는 개발자용 resumable 파일 업로드 API인 Hoist와 Cognition의 공개 MCP 서버인 DeepWiki를 사용합니다. DeepWiki는 공개 GitHub 저장소에 대한 질문에 답합니다. 아래의 모든 설정, URL, 프롬프트는 스크린샷을 만들 때 사용한 정확한 값입니다. 이미 agent를 운영하고 있다면 같은 단계로 아래 표의 live 서버 중 아무 서버에 연결할 수 있습니다. 클릭 작업을 맡기고 싶다면 Quickchat AI 자체 MCP 서버를 통해 AI assistant가 이 전체 설정을 대신 만들 수 있습니다.

이 글은 한 쌍의 글 중 실습 부분입니다. 프로토콜 배경을 먼저 알고 싶다면 MCP가 무엇이고 어떻게 동작하는지를 읽어 보세요. 이 가이드는 실행 방법에 집중합니다.

무엇을 만들게 되나요

Hoist용 support Agent를 만듭니다. 이 Agent는 두 가지 일을 합니다. Hoist 자체 질문(플랜, 파일 크기 제한, 저장소 region, webhook)에 대해서는 knowledge base에서 답합니다. 방문자가 오픈소스 tus-js-client 라이브러리의 동작 방식을 물으면, 이 라이브러리는 Hoist 고객이 자신의 앱에 설치하는 라이브러리입니다. Agent는 원격 MCP 도구를 호출하여 GitHub의 해당 라이브러리 live source에서 답을 가져온 뒤, 그 답을 Hoist 사용과 연결해 설명합니다.

두 번째 경우가 핵심입니다. upstream 라이브러리 전체의 내부 구현을 knowledge base에 복사할 수 없고, 그렇게 해서도 안 됩니다. 하지만 Agent는 필요할 때 찾아볼 수 있습니다.

필요한 것은 두 가지입니다. 무료 Quickchat AI 계정(여기서 가입)과 약 15분입니다. 서버 URL, 도구 whitelist, 프롬프트가 모두 이 가이드에 있습니다.

AI agent는 원격 MCP 서버에 어떻게 연결하나요?

원격 MCP action은 Agent가 서버를 가리키게 하고, 그 서버가 제공하는 도구를 발견하며, Agent가 호출할 수 있는 도구를 선택하게 합니다.

MCP, 즉 Model Context Protocol은 서버가 AI에 도구 집합을 노출하는 표준 방식입니다. 서버는 각 도구의 이름, 설명, 받는 인수를 게시합니다. 모든 MCP client는 그 도구를 나열하고 호출할 수 있습니다. ChatGPT나 Claude가 설정에서 동일한 서버를 connector로 제공할 때, 그 단어 뒤에는 이 구조가 있습니다. 이것이 전부이며, 그래서 하나의 연결 화면이 scheduling 서버, payments 서버, documentation 서버에 똑같이 작동합니다.

Agent가 원격 MCP 도구를 사용할 때 세 가지 일이 일어납니다.

모델에서 Quickchat의 whitelist를 거쳐 서버까지 이어지는 원격 MCP 도구 호출 흐름 3단계 흐름: 모델이 도구를 선택하고, Quickchat AI가 whitelist와 auth를 적용하고, 서버가 실행합니다. 전체 교환은 Inbox에 기록됩니다.

  1. Agent, 즉 모델이 도구를 선택합니다. 모델은 사용자가 활성화한 모든 도구를 봅니다. 각 도구에는 서버가 작성한 설명이 있으며, 모델은 다른 AI Action을 사용할 때와 같은 방식으로 언제 호출할지 결정합니다.
  2. Quickchat AI가 사용자의 규칙을 적용합니다. 무엇이든 전송되기 전에 도구 whitelist를 확인하고, 서버에 필요하면 connection header 또는 OAuth token을 붙이며, 내부 네트워크로 resolve되는 서버 주소를 거부합니다.
  3. 서버가 도구를 실행하고 데이터를 반환합니다. Agent는 결과를 응답에 사용하고, 전체 교환은 Inbox에 기록됩니다.

도구 호출에는 두 종류의 값이 들어가며, 이를 구분하는 것이 나중에 중요합니다. integration이 채우는 값은 결정적입니다. 서버 URL, header, token이며, 모델이 틀릴 수 없습니다. 모델이 채우는 값은 판단이 필요한 값입니다. 검색 query나 저장소 이름처럼 각 도구가 받는 인수이며, 틀릴 수 있습니다. 튜닝 섹션의 모든 내용은 이 구분으로 돌아옵니다.

2026년에 MCP에서 바뀐 점

모든 튜토리얼이 SSE를 언급하던 시기에 MCP를 마지막으로 읽었다면 상황이 달라졌습니다. 사양의 2026-07-28 개정은 프로토콜 core를 상태 비저장으로 만들고, streamable HTTP에서 session header를 제거했으며, 이전 HTTP-plus-SSE 전송을 마이그레이션 기간과 함께 deprecated했습니다(changelog는 짧고 훑어볼 만하며, Claude도 같은 주에 지원을 출시했습니다). 사용자에게 좋은 실질적 결과는 다음과 같습니다. 원격 MCP 서버는 이제 일반 HTTPS endpoint일 뿐이며, 다른 웹 서비스와 다르게 다룰 필요가 없습니다. Quickchat AI는 streamable HTTP를 사용하며, 서버 URL 경로가 /sse로 끝날 때는 legacy SSE transport로 여전히 fallback하므로 오래된 서버도 계속 작동합니다.

MCP 원격 transport timeline: 출시 시 HTTP plus SSE, 2025년 3월 streamable HTTP, 2026년 7월 28일 stateless core 세 번의 개정을 통해 원격 MCP는 session이 있는 SSE pair에서 하나의 stateless HTTPS endpoint로 이동했습니다. 괄호는 HTTP plus SSE의 12개월 runway입니다.

1단계: Agent를 만들고 지식 베이스를 제공합니다

live 도구를 추가하기 전에 자체적으로 답할 내용이 있도록 작동하는 support Agent부터 시작합니다.

무료 계정과 새 AI Agent를 만들고 이름을 지정합니다(여기서는 Hoist). Identity 아래에서 AI Main Prompt에 역할을 설정합니다(전체 프롬프트는 4단계에 나옵니다).

Identity page: Agent 이름과 AI Main Prompt Hoist의 Identity page입니다. 이름과 AI Main Prompt는 이 가이드가 채우는 두 필드이며, Guidelines에는 제품 정보가 들어갑니다.

그다음 짧은 knowledge base를 추가합니다. Hoist의 두 가지 플랜과 제한, API key를 받는 방법, storage region, upload.completed webhook입니다. 이것이 기준선입니다. Agent가 이미 답할 수 있는 모든 것은 여기서 답해야 합니다. MCP 도구는 이 지식으로 담을 수 없는 질문에만 사용됩니다.

어떤 원격 MCP 서버를 먼저 연결해야 하나요?

knowledge base가 답할 수 없는 질문에 답하는 도구를 가진 서버를 고르세요. 첫 연결에는 키 없는 서버를 선호하면 한 번에 끝낼 수 있습니다.

Agent에서 Actions & MCPs를 열고 Add Action을 클릭한 뒤 MCP를 선택합니다. 처음 보이는 것은 카탈로그입니다. 검색과 카테고리가 있는 240개 이상의 원격 MCP 서버가 있으며, scheduling, CRM, payments, e-commerce, developer tools 등이 포함됩니다.

Quickchat AI 내부 MCP catalog: search, categories, one-click server tiles MCP catalog: 하나의 search box 뒤에 242개 서버가 있습니다. tile을 선택하면 즉시 연결이 시작됩니다.

이 화면에서 알아둘 세 가지가 있습니다.

  • 모든 tile은 한 번의 클릭입니다. tile을 선택하면 서버 URL이 채워지고 즉시 연결됩니다. 먼저 설정할 것은 없습니다.
  • sparkle badge는 “Tuned by Quickchat”을 의미합니다. 이런 서버에 대해 Quickchat AI는 권장 도구 집합을 제공합니다. 예를 들어 Calendly를 연결하면 수십 개 도구 중 scheduling에 실제로 필요한 5개 도구만 활성화되며, 합리적인 기본값은 언제든 Use recommended로 되돌릴 수 있습니다.
  • 카탈로그는 curated이며 exhaustive가 아닙니다. store별 또는 instance별 URL이 필요한 서버는 하단의 Enter a URL manually 뒤에 있으며, 인터넷상의 모든 MCP 서버를 받습니다.

카탈로그는 고객에게 도움이 되는 서버 쪽에 무게를 둡니다. 이 튜토리얼에서는 Search & web 카테고리에 있는 DeepWiki를 사용합니다. 그리고 “어떤 서버가 실제로 연결할 가치가 있는가”는 대부분의 목록 글이 피하는 질문이므로, 재활용이 아니라 테스트한 목록을 제공합니다.

오늘 시도할 수 있는 키 없는 원격 MCP 서버 8개

각 서버는 2026년 8월 28일 실제 MCP initialize 요청에 응답했습니다. 계정도 키도 필요 없습니다. URL을 붙여 넣거나 catalog tile을 클릭하면 연결됩니다.

Server도구가 하는 일URL
DeepWiki (Cognition)공개 GitHub 저장소에 대한 질문에 답합니다https://mcp.deepwiki.com/mcp
Context7 (Upstash)software library의 최신 문서를 조회합니다https://mcp.context7.com/mcp
Hugging Facemodel, dataset, paper를 검색합니다https://huggingface.co/mcp
Microsoft LearnMicrosoft 공식 문서를 검색합니다https://learn.microsoft.com/api/mcp
Cloudflare DocsCloudflare 문서를 검색합니다https://docs.mcp.cloudflare.com/mcp
GitMCP모든 GitHub repo의 문서와 코드를 읽습니다https://gitmcp.io/{owner}/{repo}
Firecrawl웹을 scrape하고 검색합니다https://mcp.firecrawl.dev/mcp
Exaneural web searchhttps://mcp.exa.ai/mcp

각 서버 이름은 공식 문서로 연결됩니다. 키 없는 tier를 넘어, 들어본 적 있는 계정 기반 서버(GitHub, Linear, Notion, Stripe, Sentry, Atlassian, PayPal, Canva)도 모두 live입니다. 이들은 key 대신 OAuth popup으로 인증합니다. 이 모든 것을 테스트하면서 얻은 경고가 하나 있습니다. 여러 “best MCP servers” roundup은 응답하지 않는 endpoint나 아예 resolve되지 않는 domain을 퍼뜨립니다. 목록이 다른 목록을 복사하기 때문입니다. listicle보다 initialize 요청에 응답하는 URL이나 누군가 유지보수하는 카탈로그를 신뢰하세요. Notion의 hosted server는 처음 시도하기 좋은 계정 기반 선택지입니다. help-center agent에 연결하려면 OAuth 승인 하나와 활성화된 도구 두 개면 충분하며, Notion database로 write-back하는 과정은 도구 curated의 가치를 보여줍니다.

서버를 한 번의 클릭으로 연결하기

키 없는 서버의 경우 연결은 이 가이드에서 가장 짧은 단계입니다.

카탈로그에서 DeepWiki를 찾고(search box가 가장 빠릅니다) tile을 클릭합니다.

catalog에서 DeepWiki 검색 Search는 입력하는 동안 catalog를 필터링합니다. 결과 하나가 남고, 한 번 클릭하면 연결됩니다.

Quickchat AI가 서버에 접속하고, MCP를 사용하는지 확인하며, 몇 초 안에 찾은 도구를 나열합니다.

DeepWiki tile 클릭: Quickchat AI가 서버를 확인하고 도구를 발견합니다 진행 중인 probe: Quickchat AI가 20초 예산 안에서 서버가 MCP를 사용하는지 확인하고 도구를 나열합니다.

확인이 끝나면 action이 생성되고 자동으로 켜집니다. DeepWiki는 세 가지 도구를 게시하며, 세 도구 모두 활성화된 상태로 들어옵니다. 잠시 후 줄이겠습니다.

서버가 카탈로그에 없으면 Enter a URL manually를 클릭합니다. 같은 연결을 두 필드로 만들 수 있습니다.

Manual entry: MCP server URL 필드와 optional connection headers manual 경로: MCP server URL, keyed server용 optional Connection headers, 그리고 Connect.

  • MCP server URL은 endpoint입니다. 여기서는 https://mcp.deepwiki.com/mcp입니다. HTTPS가 필요하며, private 또는 internal address로 resolve되는 URL은 즉시 거부됩니다.
  • **Connection headers (optional)**는 서버가 key를 요구할 때 key를 넣는 곳입니다. 예를 들어 Key는 Authorization, Value는 Bearer YOUR_TOKEN입니다. Quickchat AI는 header를 저장하고 server side에서 모든 요청에 붙입니다. 따라서 token은 prompt나 conversation에 나타나지 않습니다.

서버에 sign-in이 필요하면 어떻게 되나요?

가장 유용한 많은 서버는 계정 기반입니다. scheduling, payments, CRM이 그렇습니다. 이 경우 붙여 넣을 key가 전혀 없습니다. Calendly 같은 서버에 연결하면 Quickchat AI가 OAuth challenge를 감지하고 다음 단계를 안내합니다.

OAuth server: Quickchat AI가 authorization 필요를 감지하고 Connect with Calendly popup을 제공합니다 OAuth 서버가 감지되었습니다. 붙여 넣을 key 없이 Connect with Calendly와 approval popup만 있습니다.

Connect with Calendly를 클릭하고 popup에서 접근을 승인하면, 키 없는 흐름과 동일하게 도구가 나타납니다. 내부적으로는 dynamic client registration과 PKCE가 있는 OAuth 2.1입니다. Quickchat AI가 서버에 자신을 등록하고, one-time code를 교환하고, token을 암호화해 저장하며, 사용자를 위해 갱신합니다. 언제든 action에서 Reconnect 또는 Disconnect할 수 있고, authorization 도중 창을 닫아도 연결은 중단한 곳에서 이어집니다.

별도 가이드에서 OAuth 서버 기반의 완전한 agent를 만들었습니다. 실제 availability를 확인하고 실제 meeting을 예약하는 Calendly MCP 서버의 AI scheduling assistant입니다.

Agent가 호출할 수 있는 도구 선택하기

Tools 패널은 최소 권한을 부여하는 곳이며, 이 가이드에서 가장 중요한 화면입니다.

방금 만든 action을 열고(card의 Edit Action) Tools 섹션을 찾습니다. 서버가 게시하는 모든 도구가 도구별 switch와 상단 counter와 함께 표시됩니다.

DeepWiki의 Tools panel: 세 도구 중 하나가 enabled이고 Default tool activation은 off 한 패널에서의 최소 권한: ask_question은 on, 나머지 두 개는 off, Default tool activation은 off이므로 향후 도구는 검토를 기다립니다.

DeepWiki는 세 가지를 게시합니다.

Tool하는 일Hoist에 필요한가요?
ask_questionrepo와 question을 받아 source 기반 answer를 반환합니다예
read_wiki_structurerepo를 받아 documentation outline을 반환합니다아니요
read_wiki_contentsrepo를 받아 documentation을 반환합니다아니요

ask_question만 켭니다. 다른 두 개가 해롭지는 않지만, 활성화된 모든 도구는 모델이 사용할 수 있는 선택지 하나, context에 들어가는 설명 하나, 테스트해야 할 동작 하나를 더합니다. 꺼진 도구는 모델에게 존재하지 않습니다.

그다음 Default tool activation을 끕니다. 이 toggle은 서버가 나중에 추가하는 도구에 무슨 일이 일어나는지 결정합니다. off는 새 도구가 사용자가 검토할 때까지 disabled 상태로 남는다는 뜻입니다. 보기보다 중요합니다. 원격 서버는 다른 사람이 업데이트하는 software입니다. 오늘 승인한 도구 목록은 계약이 아닙니다. npm 세계는 잘 검토된 MCP package가 몇 달 동안 clean release를 내다가 조용히 email exfiltration을 추가했을 때 이를 어렵게 배웠습니다(postmark-mcp incident, safety 섹션에서 더 다룹니다). 타사의 release process를 audit할 수는 없지만, 새 capability가 Agent에 조용히 흘러들어가지 않게 할 수는 있습니다. 이 toggle이 그 보장입니다.

Tuned by Quickchat 서버에서는 같은 패널이 대신 권장 상태로 시작합니다. Calendly를 연결하면 36개 도구 중 5개가 활성화되고, 나머지는 꺼져 있으며 Default tool activation도 이미 꺼져 있습니다. 실험 후 Use recommended는 그 curated set으로 되돌립니다. 더 큰 서버에서는 패널에 search box가 추가되고, Enable all과 Disable all은 이름 그대로 동작합니다.

curated server의 Tools panel: 36개 중 5개 도구가 enabled이고 Use recommended 사용 가능 Tuned by Quickchat 서버는 미리 정리된 상태로 도착합니다. Calendly의 36개 도구 중 5개가 enabled이고, 실험 후 Use recommended가 선택을 되돌립니다.

Agent가 언제 도구를 사용해야 하는지 알려주기

main prompt는 도구가 언제 실행되고 무엇을 묻는지 제어하는 유일한 위치입니다.

MCP를 잘 아는 사람도 놀라는 부분이 있습니다. action의 name과 description 필드는 사용자를 위한 라벨이며, 모델은 이를 읽지 않습니다. 모델이 읽는 것은 서버가 게시한 tool description과 Agent의 main prompt입니다. 아래 tuning 섹션에서 실행 중인 코드와 공격적 실험으로 이를 확인했습니다. 따라서 제어는 사용자가 통제하는 정확히 한 곳에서 이루어집니다. Identity 아래에서 이것을 AI Main Prompt에 붙여 넣고 자신의 제품 정보로 바꾸세요.

You are the support assistant for Hoist, a resumable file upload API for developers. Hoist gives developers a hosted, resumable upload endpoint plus storage. Customers upload files straight from their own web and mobile apps using the open-source tus-js-client library, which speaks the tus resumable upload protocol to Hoist.

Answer questions about Hoist itself (plans and limits, API keys, storage regions, webhooks, retention) from your knowledge. Be concise and friendly.

Many Hoist customers ask how the tus-js-client library they install in their app actually behaves: how it resumes after a dropped connection, how it fingerprints a file, how to set the chunk size or retry delays, and which options it supports. That behavior lives in the library's source code, not in Hoist's docs. When a visitor asks a detailed question about how tus-js-client works, call the ask_question tool with repoName "tus/tus-js-client" and their question, then answer using what it returns, relating it back to using Hoist. Do not use the tool for questions about Hoist's own product, pricing, or account settings.

그 프롬프트에서 실제 일을 하는 것은 두 가지입니다. 정확한 저장소 이름을 지정합니다(tus/tus-js-client). repoName은 모델이 모든 호출에서 채우는 인수이기 때문입니다. 한 문장이 그 추론을 상수로 바꿉니다(tuning 섹션에서는 그 추론이 고정 없이 얼마나 잘 유지되는지 측정합니다). 또한 도구 범위를 library internals 질문으로 제한하므로, Agent는 Hoist 자체 질문을 계속 지식에서 답합니다.

모델이 보는 것이 하나 더 있으며, 일반 프롬프트에는 보이지 않습니다. Agent에 연결된 도구가 있으면 Quickchat AI는 도구를 잘 사용하는 일반 규칙이 담긴 짧고 상시적인 Connected Action Tools 섹션을 system prompt에 추가합니다. 사용자의 프롬프트는 그 policy 위에 놓입니다. 따라서 사용자는 when과 what을 쓰고, platform은 how를 처리합니다.

테스트하고 도구 호출이 발생하는지 확인하기

라이브러리 source만 답할 수 있는 질문을 한 뒤, 대화를 열고 호출을 읽습니다.

AI Preview에서 다음을 묻습니다. “A user’s wifi drops halfway through an upload. How does tus-js-client resume it?” Agent는 실제 mechanism으로 답한 뒤 Hoist와 연결해 설명합니다.

Agent가 tus-js-client의 resume behavior를 설명하고 Hoist와 연결합니다 한 thread 안의 두 case입니다. library answer는 Hoist와 연결되고, 그 아래 product question은 tool call 없이 knowledge에서 답합니다.

도구를 사용했는지, 답을 꾸며낸 것이 아닌지 확인하려면 Inbox에서 conversation을 열고 actions called record를 펼칩니다.

Inbox action-call record가 repoName, question, live result, duration이 포함된 ask_question call을 보여줍니다 정직한 record: 모델이 작성한 정확한 repoName과 question이 있는 ask_question, live result, call duration.

도구 이름, 모델이 작성한 정확한 인수(repoName과 question), live result, 호출에 걸린 시간을 볼 수 있습니다. 이것이 정직한 기록입니다. Agent는 실제 서버의 실제 도구를 호출했고, 돌아온 내용으로 답했습니다.

action card도 점수를 유지합니다. 누적 호출 수, success rate, 마지막 실행 시점입니다.

call tally가 있는 action card action card는 점수를 유지합니다. 호출 수, success rate, 도구가 마지막으로 실행된 시점입니다.

card에서 View logs를 열면 전체 기록을 볼 수 있습니다. 총 호출 수, success rate, average latency, 최근 각 호출의 전송된 parameter와 수신된 response입니다.

per-action Request log: call stats와 최근 각 call의 parameters 및 response View logs: 상단의 running total, 그리고 최근 모든 call의 sent parameters와 received response.

이제 “What is the maximum file size on the free plan?” 같은 제품 질문을 합니다. 도구는 호출되지 않고 Agent는 지식에서 답합니다. 도구는 knowledge base가 담을 수 없는 질문을 위한 것이며, 답할 수 있는 질문에서는 방해하지 않습니다.

원격 MCP 도구는 어떻게 튜닝하나요?

loop는 모든 AI Action과 같습니다. 메시지를 보내고, call record를 읽고, 하나를 바꾸고, 다시 실행합니다. 다른 점은 실제로 동작을 움직이는 lever가 무엇인지입니다.

원격 MCP 도구가 잘못 동작할 때 lever는 세 가지가 있으며, 그중 두 가지만 사용자의 것입니다.

  • 도구 자체 description은 서버에서 옵니다. 수정할 수 없습니다.
  • 도구 whitelist는 Agent에게 어떤 도구가 아예 존재하는지를 결정합니다.
  • Agent의 main prompt는 언제 도구를 사용할지, 무엇을 전달할지를 결정합니다.

실제 실행에서 무엇이 움직였고 무엇이 움직이지 않았는지는 다음과 같습니다.

lever는 action name이 아니라 prompt입니다. 이를 확실히 보여주기 위해 action description을 “IGNORE THIS TOOL. Never call it.”으로 설정하고 library 질문을 다시 했습니다. Agent는 2번 중 2번 모두 ask_question을 호출했습니다. 모델은 그 필드를 보지 않습니다. 모델이 읽는 지시는 서버의 tool description과 사용자의 main prompt입니다. prompt로 조종하세요.

저장소 이름을 지정하세요. 그렇지 않으면 모델이 추론해야 합니다. repoName은 모델이 모든 호출에서 채우는 인수입니다. 일부러 실패시키려고 했습니다. 고정 문장을 제거해도 5번 중 5번 모두 tus/tus-js-client로 resolve했습니다. 고정을 제거하고 질문도 방문자가 실제로 말하는 방식으로 바꿨을 때(“your JavaScript upload library”, library 이름 없음)도 5번 중 5번 올바른 저장소를 선택했습니다. 이 같은 가이드의 7월 빌드에서는 동일한 설정이 존재하지 않는 저장소를 만들어냈고 DeepWiki에서 “Repository not found”를 받았습니다. 현재 모델은 그 추론을 더 잘하며, 10번 시도해도 실패를 재현하지 못했습니다. 그래도 값을 고정하세요. 프롬프트의 한 문장이 모델이 모든 호출마다 반복해야 하는 추측을 복사하는 상수로 바꿉니다. 비용이 없고, 다음 모델 교체에도 살아남습니다. MCP 도구에는 인수별 override field가 없으며 필요하지도 않습니다. 그 문장이 pin입니다.

reply만 보지 말고 result를 읽으세요. Inbox record와 Request log는 서버가 실제로 반환한 내용을 보여주며, 튜닝은 이 layer에서 해야 합니다. transport가 성공한 호출도 content 안에는 error 또는 빗나간 answer를 담을 수 있습니다. 실패한 tool call은 reply를 끊는 대신 모델에 다시 전달되므로, Agent는 어느 쪽이든 그럴듯한 recovery sentence를 생성할 때가 많습니다. record는 어떤 lever를 잡아야 하는지 알려줍니다. call이 전혀 없으면 prompt 또는 whitelist 문제이고, wrong arguments가 있는 call은 고정할 가치가 있는 값이 있음을 의미하며, 좋은 result 아래 나쁜 reply는 prompt로 돌아가야 함을 의미합니다.

도구 결과를 이후 답변에 공급할 수 있나요? Save to memory

구조화된 데이터를 반환하는 도구의 경우 각 결과에서 값을 conversation memory로 캡처할 수 있으며, Agent는 나중에 이를 사용할 수 있습니다.

Tools 패널에서 도구 row를 펼치면 Save to memory가 있습니다. tool result의 path를 memory key에 매핑하는 JSONPath rule 목록이며, 도구당 최대 10개입니다.

Calendly booking tool의 per-tool Save to memory editor, 세 개 capture rule이 prefilled됨 Calendly booking tool은 세 개의 capture rule이 미리 채워진 상태로 제공됩니다. event URI, cancel link, reschedule link가 conversation memory에 들어갑니다.

DeepWiki 도구는 prose를 반환하므로 Hoist build에서는 캡처할 것이 없고 editor가 비어 있습니다. 이 기능이 빛나는 곳은 transactional server입니다. curated Calendly 서버에서는 booking tool에 세 규칙이 미리 채워져 있습니다. Agent가 meeting을 예약하면 event URI, cancel link, reschedule link가 캡처됩니다. 세 메시지 뒤에 취소를 요청하면 Agent는 정확한 cancel URL을 이미 가지고 있습니다. 다시 조회하지 않고, 추측하지 않습니다. 캡처된 값은 모델이 읽는 conversation data의 일부가 됩니다. 이는 MCP 도구에서 한 도구의 output을 다음 도구의 arguments에 공급하는 것에 가장 가까운 방식입니다.

보안에 관심 있는 독자를 위해 두 가지를 덧붙입니다. 이 기능은 특정 공격을 염두에 두고 만들어졌습니다. 캡처된 값은 server side가 소유하는 namespace에 있으므로, visitor가 memory entry처럼 보이는 것을 입력해 위조할 수 없습니다. 또한 result shape이 바뀌었거나 path가 아무것도 match하지 않아 capture가 실패해도 모델은 tool result를 잃지 않습니다. reply는 계속 진행되고 capture만 건너뜁니다.

Simulations로 대규모 테스트하기

한 conversation은 도구가 실행된다는 것을 증명합니다. Agent가 질문 집합 전체를 원하는 방식으로 처리하는지 확인하려면 Testing tab 아래의 Simulation Testing을 사용합니다.

두 case를 섞은 작은 dataset을 만듭니다. 도구를 사용해야 하는 library-internals 질문과, Agent가 지식에서 답해야 하는 product 질문입니다. evaluator에게 grading criteria를 주고, 그 안에 실제 제품 정보를 포함하세요. 그래야 올바른 plan 또는 region과 꾸며낸 답을 구분할 수 있습니다. 그런 다음 set을 실행하고 score를 읽습니다.

library 및 product 질문 전반에서 Agent를 scoring하는 Simulation Testing run 다섯 질문 run: 전체 5점 만점에 4.8점, reply별 score와 각 항목에 대한 judge justification.

다섯 질문 run은 5점 만점에 4.8점을 받았습니다. product answer 두 개와 resume 및 chunk-size 설명은 만점이었고, retry answer는 4점으로 깎였습니다. evaluation은 tool call 자체가 아니라 Agent의 reply를 채점하므로 Inbox와 함께 보세요. Inbox record는 도구가 올바른 input으로 실행되었음을 증명하고, Simulation은 여러 질문에서 reply가 유지되는지 보여줍니다.

실행 전 알아둘 비용 두 가지가 있습니다. 모든 simulated message는 실제 conversation과 마찬가지로 플랜의 월간 AI message에 계산됩니다. 또한 Simulation은 Agent를 실제로 실행합니다. 즉 active MCP tool은 run 중 실제로 실행됩니다. ask_question 같은 read-only tool에는 무해하지만, calendar나 payment system에 쓰는 도구가 있는 agent를 simulate하기 전에는 생각해야 합니다.

MCP 서버에 연결하는 것은 안전한가요?

안전성은 프롬프트가 아니라 whitelist와 올바른 종류의 서버 선택에 달려 있습니다.

  • 최소 권한으로 whitelist하세요. Agent는 사용자가 켠 도구만 호출할 수 있습니다. 필요한 도구 하나를 활성화하고, Default tool activation을 끄면 서버가 나중에 추가하는 도구도 검토 전까지 꺼져 있습니다. DeepWiki 같은 read-only server에서는 whitelisted ask_question이 할 수 있는 최대 작업이 public data 읽기입니다. OpenAI Hugging Face incident도 frontier-lab scale에서 같은 교훈을 줍니다. 작업에 필요한 것보다 더 많은 reach를 받은 agent는 그것을 사용할 방법을 찾았습니다.
  • 서버를 supply chain으로 취급하세요. 사용자는 다른 사람의 code와 release process를 신뢰하고 있습니다. 노출하는 data를 소유한 회사가 운영하는 first-party server를 선호하고, 활성화 전 tool list를 읽고, default-off toggle이 다음에 배포되는 것을 흡수하게 하세요. postmark-mcp incident, 즉 15개의 clean release 뒤 16번째에서 attacker에게 BCC를 추가한 사례는 기억해야 할 case study입니다.
  • secret을 prompt 밖에 두세요. 서버에 token이 필요하면 connection header에 넣거나, Quickchat AI가 암호화된 token을 대신 보관하는 OAuth flow를 사용하세요. 어느 쪽이든 credential은 server-side에서 붙고 모델은 보지 않으므로 conversation이 이를 유출할 수 없습니다.
  • internal address는 차단됩니다. Quickchat AI는 MCP action이 private, loopback, link-local address에 연결되는 것을 거부하고, OAuth 서버가 advertise하는 모든 endpoint에도 같은 check를 적용합니다. 따라서 server URL이 network 내부의 무언가에 접근하는 경로로 바뀔 수 없습니다.
  • 느린 서버는 Agent를 멈추게 할 수 없습니다. 모든 connection에는 제한이 있습니다. 각 reply의 server별 20초 예산 안에서 연결에 10초, 읽기에 20초입니다. 실패하거나 timeout된 tool call은 error로 모델에 다시 전달되므로, Agent는 reply 중간에 죽는 대신 확인하지 못한 것을 설명합니다.
  • 정직한 한계를 알아두세요. API Action과 달리 MCP 도구에는 per-conversation run condition이 없습니다. “visitor가 verified admin일 때만 이 도구를 실행”이라고 말할 수 없습니다. whitelist는 모두에게 적용되는 tool 단위입니다. 서버가 묻는 사람이 누구인지에 따라 gate해야 하는 write 또는 delete tool을 노출한다면 여기서 활성화하지 마세요. 그 작업 하나는 Run only when condition이 있는 API Action으로 만들고, MCP 연결은 read-only 작업을 맡기세요.

그리고 모든 것을 연결하고 싶은 충동을 억제하세요. 활성화된 모든 도구는 모델이 모든 reply에서 고려하는 내용에 description을 추가합니다. 공개 측정은 도구 수가 늘어날수록 tool selection이 무너짐을 보여줍니다. 20개 도구에서는 거의 완벽하지만 100개를 넘으면 사용할 수 없습니다. agent당 소수의 server라는 실무자 합의는 우리가 보는 것과 일치합니다. 잘 선택한 서버 하나와 잘 선택한 도구 하나, 이 가이드가 말 그대로 만드는 구성은 switch의 벽보다 더 잘 동작합니다.

ChatGPT 또는 Claude가 대신 만들게 하기

위의 모든 내용은 클릭과 붙여 넣기입니다. 직접 하기보다 설명하고 싶다면 Quickchat AI 계정에 연결된 AI assistant에게 이 가이드를 넘기세요.

Quickchat AI에는 계정 관리를 위한 자체 MCP 서버가 있습니다. dashboard sidebar의 Agent switcher 바로 아래에서 Manage your AI를 클릭하면 ChatGPT, Claude, Claude Code, Cursor, Codex용 connection tab이 있습니다. ChatGPT에서는 dashboard를 완전히 건너뛸 수도 있습니다. ChatGPT용 Quickchat AI app을 직접 설치하고 요청 시 sign in하세요. 연결되면 assistant는 agent 생성, knowledge base 작성, MCP connection을 포함한 action 설정, conversation 읽기, Simulation 실행을 할 수 있으며, 모든 call에서 사용자 role과 confirmation gate가 적용됩니다.

Manage your AI sheet: ChatGPT, Claude, Claude Code, Cursor, Codex를 Quickchat AI 계정에 연결 Manage your AI: ChatGPT, Claude, Claude Code, Cursor, Codex용 connection tab입니다. 한 번 sign-in하면 API key가 필요 없습니다.

그런 다음 연결된 assistant에 다음과 같은 프롬프트를 붙여 넣습니다.

Using my Quickchat AI account, build the agent from the guide at quickchat.ai/post/connect-ai-agent-to-mcp-server.

Create an AI Agent named Hoist for a resumable file-upload API for developers. Write it a short knowledge base: two plans (Free: 5 GB storage, 2 GB max file, 30 day retention; Pro at $29/month: 500 GB storage, 50 GB max file, unlimited retention), API keys under Settings, EU and US storage regions, and an upload.completed webhook.

Connect the remote MCP server https://mcp.deepwiki.com/mcp with only the ask_question tool enabled.

Set the main prompt so the agent answers Hoist questions from its knowledge, and calls ask_question with repoName "tus/tus-js-client" for questions about how the tus-js-client library behaves.

Then create a simulation dataset with two library questions and two product questions, run it, and report the scores.

그 flow의 MCP 부분은 Quickchat AI 서버가 정확히 이를 위해 노출하는 두 도구에서 실행됩니다. list_remote_mcp_server_tools는 무엇이든 생성하기 전에 서버가 제공하는 도구를 미리 보여주고, create_remote_mcp_action은 최소 권한 allow-list로 서버를 연결해 activated and ready 상태로 만듭니다. assistant는 Tools 패널에서 읽을 수 있는 것과 같은 정보, 즉 무엇을 왜 활성화했는지 보고합니다. 그리고 이후 로그인하면 Quickchat AI는 계정이 이미 MCP를 통해 관리되고 있음을 감지하고 Getting Started onboarding을 완전히 건너뜁니다. dashboard는 assistant가 만든 agent에서 바로 열립니다.

ChatGPT 경로의 troubleshooting note 하나입니다. sign-in popup이 빈 화면으로 열리면 chatgpt.com에서 ad blocker를 잠시 중지하세요. 널리 쓰이는 blocker heuristic이 저희 것을 포함한 모든 ChatGPT connector popup을 깨뜨리며, 차단은 전적으로 ChatGPT page에서 발생합니다.

script를 선호한다면 REST 경로에는 API token이 있는 정확히 두 번의 call이 필요합니다(Business plan).

POST https://app.quickchat.ai/v1/api/ai_actions/remote_mcp
Authorization: Bearer YOUR_API_TOKEN
{"name": "DeepWiki", "remote_mcp_url": "https://mcp.deepwiki.com/mcp", "headers": [], "allowed_tools": []}

PATCH https://app.quickchat.ai/v1/api/ai_actions/ACTION_ID
Authorization: Bearer YOUR_API_TOKEN
{"is_active": true}

create는 default_tool_is_active가 켜진 action을 반환하므로 reply 시점에 발견된 도구가 즉시 작동합니다. 이후 dashboard에서 whitelist를 조이거나, allowed_tools를 명시적으로 전달하세요.

실제 배포

Agent가 AI Preview에서 원하는 대로 동작하고 Inbox에 기대한 call이 표시되면 배포합니다.

MCP action은 channel이 아니라 Agent에 속합니다. 따라서 같은 도구가 website widget, WhatsApp, Discord, Slack, 그리고 Agent를 넣는 모든 곳에서 작동합니다. testing 중 AI Preview에서 실행하는 conversation을 포함한 모든 conversation은 플랜의 월간 AI message에 계산된다는 점을 기억하세요.

하나의 프로토콜, 세 방향

Quickchat AI에서 “MCP”는 세 가지 다른 위치에 나타나며, 이를 혼동하는 것이 support conversation에서 가장 흔한 혼란 원인입니다. 이 가이드는 첫 번째 row를 다뤘습니다.

MCP의 세 방향: Agent를 server에 연결, Agent를 server로 expose, MCP로 account 관리 하나의 프로토콜, 세 방향입니다. 이 가이드는 맨 위 lane이며, 나머지 두 row에는 각각 별도 가이드가 있습니다.

Agent를 서버에 연결하면 live tool을 제공합니다. 이것이 방금 만든 것입니다. 반대 방향인 Agent를 MCP server로 expose하면 ChatGPT, Claude, Cursor가 Agent를 도구로 호출하고 knowledge base에서 답할 수 있습니다. 그리고 MCP를 통해 계정을 관리하는 것은 이전 섹션의 build-it-with-AI 경로로, 방문자가 아니라 dashboard를 대상으로 합니다.

관련 가이드

같은 AI Actions 메커니즘은 Agent를 모든 tool 또는 API에 연결합니다. 다른 단계별 walkthrough는 다음과 같습니다.

프로토콜 자체에 대한 추가 글: GPT Actions versus MCP, MCP versus plain HTTP APIs, AI agent를 위한 API.

자주 묻는 질문

원격 MCP 서버란 무엇이며, 로컬 서버와 어떻게 다른가요?

원격 MCP 서버는 공개 URL의 HTTPS를 통해 접근하는 도구 서버입니다. 다른 사람이 운영하며 설치할 것이 없습니다. ChatGPT와 Claude 같은 소비자용 AI 앱은 동일한 서버를 설정의 connector로 표시합니다. 로컬 MCP 서버는 사용자 자신의 컴퓨터에서 실행되는 프로세스이며, 해당 컴퓨터의 클라이언트만 사용할 수 있습니다. 호스팅되고 고객을 상대하는 AI agent에는 원격 방식이 필요합니다. 즉 모든 대화에서 클라우드가 호출할 수 있는 고정 URL이 필요합니다.

MCP는 HTTP를 사용하나요? SSE는 어떻게 되었나요?

예. 사양의 2026-07-28 개정 이후 원격 MCP 서버는 streamable HTTP를 사용하는 일반적인 상태 비저장 HTTPS endpoint이며, 이전 HTTP-plus-SSE 전송은 마이그레이션 기간과 함께 deprecated되었습니다. 실제로는 URL 하나를 붙여 넣으면 됩니다. Quickchat AI는 streamable HTTP를 사용하며, URL 경로가 /sse로 끝나는 legacy 서버에는 여전히 SSE로 fallback합니다.

AI agent는 MCP 서버가 제공하는 도구를 어떻게 알아내나요?

서버에 묻습니다. MCP는 tools/list 요청을 정의합니다. 클라이언트가 서버 URL에 연결하면 서버는 각 도구의 이름, 설명, 입력 schema를 반환합니다. Quickchat AI에서는 연결할 때 이 discovery가 실행되므로 도구가 switch 목록으로 나타나며, agent는 응답 시점에 live 도구 목록을 다시 읽습니다.

코드를 작성하거나 호스팅하지 않고 MCP 서버를 연결할 수 있나요?

예. 연결은 카탈로그 클릭 또는 URL 붙여 넣기와 원하는 도구 켜기로 이루어집니다. 이 가이드의 모든 값은 복사해서 붙여 넣는 값이며, 어떤 플랜에서도 작성, 호스팅, 배포할 코드가 없습니다.

무료인가요?

예. MCP action은 무료 플랜을 포함한 모든 Quickchat AI 플랜에서 사용할 수 있으며, 연결된 MCP 서버는 agent당 15개 AI Actions 한도 중 action 하나로 계산됩니다. REST 경로용 API token을 만드는 부분만 Business 플랜이 필요합니다.

OAuth가 필요한가요, 아니면 인증이 없는 MCP 서버도 있나요?

둘 다 있습니다. DeepWiki, Context7, Microsoft Learn 같은 문서 및 검색 서버는 공개되어 있습니다. URL을 붙여 넣으면 연결됩니다. Calendly, Notion, Stripe 같은 계정 기반 서버는 OAuth를 사용합니다. 키를 붙여 넣는 대신 팝업이 열리고, 접근을 승인하면 Quickchat AI가 token을 저장합니다. 일반 API key를 connection header에 넣는 방식도 이를 사용하는 서버에서 동작합니다.

MCP 서버를 연결했습니다. 실제로 어떻게 사용하나요?

agent에게 언제 그것을 사용해야 하는지 알려주세요. AI Main Prompt에 도구가 도움이 되는 상황과 전달해야 할 값을 설명하는 문단 하나를 추가한 뒤, AI Preview에서 그에 맞는 질문을 합니다. 연결은 agent에게 능력을 제공하고, 프롬프트는 사용할 계기를 제공합니다.

왜 agent가 MCP 도구를 호출하지 않나요?

거의 항상 세 가지 이유 중 하나입니다. action의 Tools 패널에서 도구가 꺼져 있거나, main prompt가 agent에게 언제 사용해야 하는지 말하지 않았거나, 질문이 이미 knowledge base로 답할 수 있는 것이어서 agent가 외부 호출을 할 이유가 없는 경우입니다. 먼저 Tools 패널을 확인하고, 그다음 프롬프트에 명시적 지침을 추가한 뒤, knowledge base가 답할 수 없는 질문으로 테스트하세요.

하나의 agent에 몇 개의 MCP 서버를 연결해야 하나요?

생각보다 적어야 합니다. 활성화된 모든 도구의 설명은 모든 응답마다 모델에 로드되며, 공개된 테스트는 개수가 늘수록 도구 선택 성능이 저하됨을 보여줍니다. 약 20개 도구에서는 거의 완벽한 정확도를 보이다가 100개를 넘으면 완전히 무너집니다. 실무자들은 agent당 소수의 서버로 수렴합니다. agent에 실제로 필요한 한두 개를 연결하고 사용하는 도구만 켜세요.

연결된 MCP 서버가 할 수 있는 일을 어떻게 제한하나요?

Tools 패널에서 agent에 필요한 도구만 켜고 Default tool activation을 끕니다. 그러면 서버가 나중에 추가하는 도구는 검토 전까지 꺼진 상태로 유지됩니다. agent는 활성화하지 않은 도구를 절대 호출할 수 없습니다. credential은 프롬프트가 아니라 connection header에 보관하고, 실제로 민감한 쓰기 작업은 MCP 도구 대신 run condition이 있는 API Action 뒤에 두세요.

ChatGPT 또는 Claude가 이 Quickchat AI 설정을 대신 만들 수 있나요?

예. dashboard에서 AI 앱을 Quickchat AI 자체 MCP 서버에 연결한 다음, agent 생성, knowledge base 작성, MCP 서버 연결, 테스트 실행을 요청하세요. REST 경로도 있습니다. MCP action 생성은 API token을 사용한 POST 하나와 PATCH 하나입니다.

대화 중 MCP 서버가 느리거나 다운되면 어떻게 되나요?

대화가 멈추지 않습니다. Quickchat AI는 모든 서버에 짧은 timeout을 적용합니다. 각 응답의 서버별 20초 예산 안에서 연결에 10초, 읽기에 20초를 둡니다. 실패하거나 timeout된 호출은 오류로 모델에 다시 전달되므로 agent는 도구 없이 답하고 확인하지 못한 내용을 설명합니다. Inbox는 실패한 호출을 기록합니다.