AI Agent는 사용자가 제공한 지식으로 답합니다. 일부 질문에는 지식 베이스에 담을 수 없는 정보가 필요합니다. 최신 정보, 계산된 정보, 또는 사용자가 소유하지 않은 시스템에 있는 정보입니다. 원격 MCP 서버는 Agent가 대화 도중 그 정보를 가져오는 방법입니다. 이 가이드는 무료 플랜에서 코드 없이 Quickchat AI Agent를 원격 MCP 서버에 연결합니다. 240개가 넘는 서버가 있는 카탈로그에서 서버를 선택하고, 그중 정확히 하나의 도구를 켜고, 프롬프트 문단 하나로 제어한 뒤, 실제 호출이 Inbox에 기록되는 것을 확인합니다.
실제로 만들어 보겠습니다. 예제는 개발자용 재개 가능한 파일 업로드 API인 Hoist와 Cognition의 공개 MCP 서버인 DeepWiki를 사용합니다. DeepWiki는 공개 GitHub 저장소에 대한 질문에 답합니다. 아래의 모든 설정, URL, 프롬프트는 스크린샷을 만들 때 사용한 정확한 값입니다. 이미 agent를 운영하고 있다면 같은 단계로 아래 표의 작동 중인 서버 중 아무 서버에 연결할 수 있습니다. 클릭 작업을 맡기고 싶다면 Quickchat AI 자체 MCP 서버를 통해 AI assistant가 이 전체 설정을 대신 만들 수 있습니다.
이 글은 한 쌍의 글 중 실습 부분입니다. 프로토콜 배경을 먼저 알고 싶다면 MCP가 무엇이고 어떻게 동작하는지를 읽어 보세요. 이 가이드는 실행 방법에 집중합니다.
무엇을 만들게 되나요?
Hoist용 고객 지원 Agent를 만듭니다. 이 Agent는 두 가지 일을 합니다. Hoist 자체 질문(플랜, 파일 크기 제한, 스토리지 리전, webhook)에 대해서는 지식 베이스에서 답합니다. 방문자가 오픈소스 tus-js-client 라이브러리(Hoist 고객이 자신의 앱에 설치하는 라이브러리)의 동작 방식을 물으면 Agent는 원격 MCP 도구를 호출하여 GitHub의 해당 라이브러리의 최신 소스 코드에서 답을 가져온 뒤, 그 답을 Hoist 사용과 연결해 설명합니다.
두 번째 경우가 핵심입니다. 업스트림 라이브러리 전체의 내부 구현을 지식 베이스에 복사할 수 없고, 그렇게 해서도 안 됩니다. 하지만 Agent는 필요할 때 찾아볼 수 있습니다.
필요한 것은 두 가지입니다. 무료 Quickchat AI 계정(여기서 가입)과 약 15분입니다. 서버 URL, 도구 whitelist, 프롬프트가 모두 이 가이드에 있습니다.
AI agent는 원격 MCP 서버에 어떻게 연결하나요?
원격 MCP action은 Agent를 서버에 연결하고, 그 서버가 제공하는 도구를 발견하며, Agent가 호출할 수 있는 도구를 선택하게 합니다.
MCP, 즉 Model Context Protocol은 서버가 AI에 도구 집합을 노출하는 표준 방식입니다. 서버는 각 도구의 이름, 설명, 받는 인수를 게시합니다. 모든 MCP 클라이언트는 그 도구를 나열하고 호출할 수 있습니다. ChatGPT나 Claude가 설정에서 동일한 서버를 connector로 제공할 때, 그 단어 뒤에는 이 구조가 있습니다. 이것이 전부이며, 그래서 하나의 연결 화면이 일정 관리 서버, 결제 서버, 문서 서버에 똑같이 작동합니다.
Agent가 원격 MCP 도구를 사용할 때 세 가지 일이 일어납니다.
3단계 흐름: 모델이 도구를 선택하고, Quickchat AI가 whitelist와 인증을 적용하고, 서버가 실행합니다. 전체 교환은 Inbox에 기록됩니다.
- Agent, 즉 모델이 도구를 선택합니다. 모델은 사용자가 활성화한 모든 도구를 봅니다. 각 도구에는 서버가 작성한 설명이 있으며, 모델은 다른 AI Action을 사용할 때와 같은 방식으로 언제 호출할지 결정합니다.
- Quickchat AI가 사용자의 규칙을 적용합니다. 무엇이든 전송되기 전에 도구 whitelist를 확인하고, 서버에 필요하면 connection header 또는 OAuth token을 붙이며, 내부 네트워크로 resolve되는 서버 주소를 거부합니다.
- 서버가 도구를 실행하고 데이터를 반환합니다. Agent는 결과를 응답에 사용하고, 전체 교환은 Inbox에 기록됩니다.
도구 호출에는 두 종류의 값이 들어가며, 이를 구분하는 것이 나중에 중요합니다. 연동 설정이 채우는 값은 결정론적입니다. 서버 URL, header, token이며, 모델이 틀릴 수 없습니다. 모델이 채우는 값은 판단이 필요한 값입니다. 검색어나 저장소 이름처럼 각 도구가 받는 인수이며, 틀릴 수 있습니다. 튜닝 섹션의 모든 내용은 결국 이 구분과 연결됩니다.
2026년에 MCP에서 바뀐 점
모든 튜토리얼이 SSE를 언급하던 시기에 MCP에 관한 글을 마지막으로 읽었다면 상황이 달라졌습니다. 사양의 2026-07-28 개정은 프로토콜 core를 상태 비저장으로 만들고, streamable HTTP에서 session header를 제거했으며, 이전 HTTP-plus-SSE 전송을 마이그레이션 기간을 두고 지원 중단했습니다(변경 로그는 짧고 훑어볼 만하며, Claude도 같은 주에 지원을 출시했습니다). 사용자에게 좋은 실질적 결과는 다음과 같습니다. 원격 MCP 서버는 이제 일반 HTTPS endpoint일 뿐이며, 다른 웹 서비스와 다르게 다룰 필요가 없습니다. Quickchat AI는 streamable HTTP를 사용하며, 서버 URL 경로가 /sse로 끝날 때는 레거시 SSE 전송 방식을 여전히 대신 사용하므로 오래된 서버도 계속 작동합니다.
세 번의 개정을 통해 원격 MCP는 세션이 있는 SSE 쌍에서 하나의 상태 비저장 HTTPS endpoint로 바뀌었습니다. 괄호로 표시된 구간은 HTTP plus SSE에 주어진 12개월의 전환 기간입니다.
1단계: Agent를 만들고 지식 베이스를 제공합니다
실시간 도구를 추가하기 전에 자체적으로 답할 내용이 있도록 작동하는 고객 지원 Agent부터 시작합니다.
무료 계정과 새 AI Agent를 만들고 이름을 지정합니다(여기서는 Hoist). Identity 아래에서 AI Main Prompt에 역할을 설정합니다(전체 프롬프트는 4단계에 나옵니다).
Hoist의 Identity 페이지입니다. 이름과 AI Main Prompt는 이 가이드가 채우는 두 필드이며, Guidelines에는 제품 정보가 들어갑니다.
그다음 짧은 지식 베이스를 추가합니다. Hoist의 두 가지 플랜과 제한, API key를 받는 방법, 스토리지 리전, upload.completed webhook입니다. 이것이 기준선입니다. Agent가 이미 답할 수 있는 모든 것은 여기서 답해야 합니다. MCP 도구는 이 지식으로는 답할 수 없는 질문에만 사용됩니다.
어떤 원격 MCP 서버를 먼저 연결해야 하나요?
지식 베이스가 답할 수 없는 질문에 답하는 도구를 가진 서버를 고르세요. 첫 연결에는 키가 필요 없는 서버를 고르면 한 번에 끝낼 수 있습니다.
Agent에서 Actions & MCPs를 열고 Add Action을 클릭한 뒤 MCP를 선택합니다. 처음 보이는 것은 카탈로그입니다. 검색과 카테고리가 있는 240개 이상의 원격 MCP 서버가 있으며, 일정 관리, CRM, 결제, 전자상거래, 개발자 도구 등이 포함됩니다.
MCP 카탈로그: 검색창 하나로 242개 서버를 찾을 수 있습니다. 타일을 선택하면 즉시 연결이 시작됩니다.
이 화면에서 알아둘 세 가지가 있습니다.
- 모든 타일은 클릭 한 번이면 됩니다. 타일을 선택하면 서버 URL이 채워지고 즉시 연결됩니다. 먼저 설정할 것은 없습니다.
- 반짝이 배지는 “Tuned by Quickchat”을 의미합니다. 이런 서버에 대해 Quickchat AI는 권장 도구 집합을 제공합니다. 예를 들어 Calendly를 연결하면 수십 개 도구 중 일정 예약에 실제로 필요한 5개 도구만 활성화되며, 언제든 Use recommended를 눌러 이 합리적인 기본값으로 되돌릴 수 있습니다.
- 카탈로그는 모든 서버를 망라하지 않고 엄선된 서버만 담습니다. 스토어별 또는 인스턴스별 URL이 필요한 서버는 하단의 Enter a URL manually 뒤에 있으며, 인터넷상의 모든 MCP 서버를 받습니다.
카탈로그는 고객에게 도움이 되는 서버 쪽에 무게를 둡니다. 이 튜토리얼에서는 Search & web 카테고리에 있는 DeepWiki를 사용합니다. 그리고 “어떤 서버가 실제로 연결할 가치가 있는가”는 대부분의 목록 글이 피하는 질문이므로, 재활용이 아니라 테스트한 목록을 제공합니다.
오늘 시도할 수 있는 키 없는 원격 MCP 서버 8개
각 서버는 2026년 8월 28일 실제 MCP initialize 요청에 응답했습니다. 계정도 키도 필요 없습니다. URL을 붙여 넣거나 카탈로그 타일을 클릭하면 연결됩니다.
| 서버 | 도구가 하는 일 | URL |
|---|---|---|
| DeepWiki (Cognition) | 공개 GitHub 저장소에 대한 질문에 답합니다 | https://mcp.deepwiki.com/mcp |
| Context7 (Upstash) | 소프트웨어 라이브러리의 최신 문서를 조회합니다 | https://mcp.context7.com/mcp |
| Hugging Face | 모델, 데이터셋, 논문을 검색합니다 | https://huggingface.co/mcp |
| Microsoft Learn | Microsoft 공식 문서를 검색합니다 | https://learn.microsoft.com/api/mcp |
| Cloudflare Docs | Cloudflare 문서를 검색합니다 | https://docs.mcp.cloudflare.com/mcp |
| GitMCP | 모든 GitHub 저장소의 문서와 코드를 읽습니다 | https://gitmcp.io/{owner}/{repo} |
| Firecrawl | 웹을 스크래핑하고 검색합니다 | https://mcp.firecrawl.dev/mcp |
| Exa | 신경망 기반 웹 검색 | https://mcp.exa.ai/mcp |
각 서버 이름은 공식 문서로 연결됩니다. 키 없는 서버 외에도, 들어본 적 있는 계정 기반 서버(GitHub, Linear, Notion, Stripe, Sentry, Atlassian, PayPal, Canva)도 모두 실제로 작동합니다. 이들은 키 대신 OAuth 팝업으로 인증합니다. 이 모든 것을 테스트하면서 얻은 경고가 하나 있습니다. 여러 “best MCP servers” 같은 추천 모음 글은 응답하지 않는 endpoint나 아예 resolve되지 않는 domain을 퍼뜨립니다. 목록이 다른 목록을 복사하기 때문입니다. 목록형 글보다 initialize 요청에 응답하는 URL이나 누군가 유지보수하는 카탈로그를 신뢰하세요. Notion의 hosted server는 처음 시도하기 좋은 계정 기반 선택지입니다. 헬프 센터 agent에 연결하려면 OAuth 승인 하나와 활성화된 도구 두 개면 충분하며, Notion 데이터베이스에 결과를 다시 기록하는 과정은 도구를 엄선하면 무엇을 얻는지 보여줍니다.
서버를 한 번의 클릭으로 연결하기
키 없는 서버의 경우 연결은 이 가이드에서 가장 짧은 단계입니다.
카탈로그에서 DeepWiki를 찾고(검색창을 쓰면 가장 빠릅니다) 타일을 클릭합니다.
검색어를 입력하는 동안 카탈로그가 필터링됩니다. 결과 하나가 남고, 한 번 클릭하면 연결됩니다.
Quickchat AI가 서버에 접속하고, MCP를 사용하는지 확인하며, 몇 초 안에 찾은 도구를 나열합니다.
진행 중인 연결 확인: Quickchat AI가 20초 제한 시간 안에서 서버가 MCP를 사용하는지 확인하고 도구를 나열합니다.
확인이 끝나면 action이 생성되고 자동으로 켜집니다. DeepWiki는 세 가지 도구를 게시하며, 세 도구 모두 활성화된 상태로 들어옵니다. 잠시 후 줄이겠습니다.
서버가 카탈로그에 없으면 Enter a URL manually를 클릭합니다. 같은 연결을 두 필드로 만들 수 있습니다.
수동 입력 경로: MCP server URL, 키가 필요한 서버용 선택 사항인 Connection headers, 그리고 Connect.
- MCP server URL은 endpoint입니다. 여기서는
https://mcp.deepwiki.com/mcp입니다. HTTPS가 필요하며, 사설 또는 내부 주소로 resolve되는 URL은 즉시 거부됩니다. - Connection headers (optional)는 서버가 키를 요구할 때 키를 넣는 곳입니다. 예를 들어
Key는Authorization,Value는Bearer YOUR_TOKEN입니다. Quickchat AI는 header를 저장하고 서버 측에서 모든 요청에 붙입니다. 따라서 토큰은 프롬프트나 대화에 나타나지 않습니다.
서버에 로그인이 필요하면 어떻게 되나요?
가장 유용한 서버 중 상당수는 계정 기반입니다. 일정 관리, 결제, CRM 서버가 그렇습니다. 이 경우 붙여 넣을 키가 전혀 없습니다. Calendly 같은 서버에 연결하면 Quickchat AI가 OAuth challenge를 감지하고 다음 단계를 안내합니다.
OAuth 서버가 감지되었습니다. 붙여 넣을 키 없이 Connect with Calendly와 승인 팝업만 있습니다.
Connect with Calendly를 클릭하고 팝업에서 접근을 승인하면, 키 없는 흐름과 동일하게 도구가 나타납니다. 내부적으로는 dynamic client registration과 PKCE가 있는 OAuth 2.1입니다. Quickchat AI가 서버에 자신을 등록하고, 일회용 코드를 교환하고, token을 암호화해 저장하며, 사용자를 위해 갱신합니다. 언제든 action에서 Reconnect 또는 Disconnect할 수 있고, 인증 도중 창을 닫아도 연결은 중단한 곳에서 이어집니다.
별도 가이드에서 OAuth 서버 기반의 완전한 agent를 만들었습니다. 실제 예약 가능 시간을 확인하고 실제 미팅을 예약하는 Calendly MCP 서버 기반 AI 일정 예약 어시스턴트입니다.
Agent가 호출할 수 있는 도구 선택하기
Tools 패널은 최소 권한을 부여하는 곳이며, 이 가이드에서 가장 중요한 화면입니다.
방금 만든 action을 열고(카드의 Edit Action) Tools 섹션을 찾습니다. 서버가 게시하는 모든 도구가 도구별 스위치, 상단 카운터와 함께 표시됩니다.
한 패널에서의 최소 권한: ask_question은 켜짐, 나머지 두 개는 꺼짐, Default tool activation도 꺼져 있으므로 앞으로 추가되는 도구는 검토를 기다립니다.
DeepWiki는 세 가지를 게시합니다.
| 도구 | 하는 일 | Hoist에 필요한가요? |
|---|---|---|
ask_question | 저장소와 질문을 받아 소스 코드에 근거한 답변을 반환합니다 | 예 |
read_wiki_structure | 저장소를 받아 문서 개요를 반환합니다 | 아니요 |
read_wiki_contents | 저장소를 받아 문서 내용을 반환합니다 | 아니요 |
ask_question만 켭니다. 다른 두 개가 해롭지는 않지만, 활성화된 모든 도구는 모델이 사용할 수 있는 선택지 하나, context에 들어가는 설명 하나, 테스트해야 할 동작 하나를 더합니다. 꺼진 도구는 모델에게 존재하지 않습니다.
그다음 Default tool activation을 끕니다. 이 toggle은 서버가 나중에 추가하는 도구에 무슨 일이 일어나는지 결정합니다. 꺼 두면 새 도구는 사용자가 검토할 때까지 비활성화 상태로 남는다는 뜻입니다. 보기보다 중요합니다. 원격 서버는 다른 사람이 업데이트하는 소프트웨어입니다. 오늘 승인한 도구 목록은 계약이 아닙니다. npm 세계는 잘 검토된 MCP 패키지가 몇 달 동안 문제없는 릴리스를 내다가 조용히 이메일 유출 기능을 추가했을 때 이 교훈을 혹독하게 배웠습니다(postmark-mcp 사건, 안전 섹션에서 자세히 다룹니다). 타사의 릴리스 프로세스를 감사할 수는 없지만, 새 기능이 Agent에 조용히 흘러들어가지 않게 할 수는 있습니다. 이 toggle이 그 보장입니다.
Tuned by Quickchat 서버에서는 같은 패널이 대신 권장 상태로 시작합니다. Calendly를 연결하면 36개 도구 중 5개가 활성화되고, 나머지는 꺼져 있으며 Default tool activation도 이미 꺼져 있습니다. 실험 후 Use recommended는 그 엄선된 도구 구성으로 되돌립니다. 더 큰 서버에서는 패널에 검색창이 추가되고, Enable all과 Disable all은 이름 그대로 동작합니다.
Tuned by Quickchat 서버는 미리 정리된 상태로 제공됩니다. Calendly의 36개 도구 중 5개가 활성화되어 있고, 실험 후 Use recommended가 선택을 되돌립니다.
Agent가 언제 도구를 사용해야 하는지 알려주기
main prompt는 도구가 언제 실행되고 무엇을 묻는지 제어하는 유일한 위치입니다.
MCP를 잘 아는 사람도 놀라는 부분이 있습니다. action의 name과 description 필드는 사용자를 위한 라벨이며, 모델은 이를 읽지 않습니다. 모델이 읽는 것은 서버가 게시한 도구 설명과 Agent의 main prompt입니다. 아래 튜닝 섹션에서 다루듯, 실제 실행 중인 코드와 적대적 실험으로 이를 확인했습니다. 따라서 제어는 사용자가 통제하는 정확히 한 곳에서 이루어집니다. 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은 모델이 모든 호출에서 채우는 인수이기 때문입니다. 한 문장이 그 추론을 상수로 바꿉니다(튜닝 섹션에서는 그 추론이 고정 없이 얼마나 잘 유지되는지 측정합니다). 또한 도구 범위를 라이브러리 내부 구현에 관한 질문으로 제한하므로, Agent는 Hoist 자체 질문을 계속 지식에서 답합니다.
모델이 보는 것이 하나 더 있으며, 일반 프롬프트에는 보이지 않습니다. Agent에 연결된 도구가 있으면 Quickchat AI는 도구를 잘 사용하는 일반 규칙이 담긴 짧고 상시적인 Connected Action Tools 섹션을 시스템 프롬프트에 추가합니다. 사용자의 프롬프트는 그 정책 위에 놓입니다. 따라서 사용자는 ‘언제’와 ‘무엇을’을 정하고, 플랫폼은 ‘어떻게’를 맡습니다.
테스트하고 도구 호출이 발생하는지 확인하기
라이브러리 소스 코드만 답할 수 있는 질문을 한 뒤, 대화를 열고 호출을 읽습니다.
AI Preview에서 다음을 묻습니다. “A user’s wifi drops halfway through an upload. How does tus-js-client resume it?” Agent는 실제 동작 원리로 답한 뒤 Hoist와 연결해 설명합니다.
한 대화 스레드 안의 두 가지 경우입니다. 라이브러리 관련 답변은 Hoist와 연결되고, 그 아래 제품 질문은 도구 호출 없이 지식에서 답합니다.
도구를 사용했는지, 답을 꾸며낸 것이 아닌지 확인하려면 Inbox에서 대화를 열고 actions called 기록을 펼칩니다.
정직한 기록: 모델이 작성한 정확한 repoName과 질문이 담긴 ask_question, 실시간 결과, 호출 소요 시간.
도구 이름, 모델이 작성한 정확한 인수(repoName과 question), 실시간 결과, 호출에 걸린 시간을 볼 수 있습니다. 이것이 정직한 기록입니다. Agent는 실제 서버의 실제 도구를 호출했고, 돌아온 내용으로 답했습니다.
action 카드에도 통계가 기록됩니다. 누적 호출 수, 성공률, 마지막 실행 시점입니다.
action 카드에는 통계가 기록됩니다. 호출 수, 성공률, 도구가 마지막으로 실행된 시점입니다.
카드에서 View logs를 열면 전체 기록을 볼 수 있습니다. 총 호출 수, 성공률, 평균 지연 시간, 최근 각 호출에서 전송한 매개변수와 수신한 응답입니다.
View logs: 상단에는 누적 합계, 그 아래에는 최근 모든 호출의 전송된 매개변수와 수신된 응답.
이제 “What is the maximum file size on the free plan?” 같은 제품 질문을 합니다. 도구는 호출되지 않고 Agent는 지식에서 답합니다. 도구는 지식 베이스로 답할 수 없는 질문을 위한 것이며, 답할 수 있는 질문에서는 방해하지 않습니다.
원격 MCP 도구는 어떻게 튜닝하나요?
반복 과정은 다른 AI Action과 같습니다. 메시지를 보내고, 호출 기록을 읽고, 하나를 바꾸고, 다시 실행합니다. 다른 점은 실제로 동작을 바꾸는 조절 수단이 무엇인지입니다.
원격 MCP 도구가 잘못 동작할 때 조절 수단은 세 가지이며, 그중 사용자가 다룰 수 있는 것은 두 가지뿐입니다.
- 도구 자체의 설명은 서버에서 옵니다. 수정할 수 없습니다.
- 도구 whitelist는 Agent에게 어떤 도구가 아예 존재하는지를 결정합니다.
- Agent의 main prompt는 언제 도구를 사용할지, 무엇을 전달할지를 결정합니다.
실제 실행에서 무엇이 효과가 있었고 무엇이 효과가 없었는지는 다음과 같습니다.
조절 수단은 action 이름이 아니라 프롬프트입니다. 이를 확실히 보여주기 위해 action description을 “IGNORE THIS TOOL. Never call it.”으로 설정하고 라이브러리 질문을 다시 했습니다. Agent는 2번 중 2번 모두 ask_question을 호출했습니다. 모델은 그 필드를 보지 않습니다. 모델이 읽는 지시는 서버의 도구 설명과 사용자의 main prompt입니다. 프롬프트로 조종하세요.
저장소 이름을 지정하세요. 그렇지 않으면 모델이 추론해야 합니다. repoName은 모델이 모든 호출에서 채우는 인수입니다. 일부러 실패시키려고 했습니다. 고정 문장을 제거해도 5번 중 5번 모두 tus/tus-js-client로 올바르게 추론했습니다. 고정을 제거하고 질문도 방문자가 실제로 말하는 방식으로 바꿨을 때(“your JavaScript upload library”, 라이브러리 이름 없이)도 5번 중 5번 올바른 저장소를 선택했습니다. 이 같은 가이드의 7월 빌드에서는 동일한 설정이 존재하지 않는 저장소를 만들어냈고 DeepWiki에서 “Repository not found”를 받았습니다. 현재 모델은 그 추론을 더 잘하며, 10번 시도해도 실패를 재현하지 못했습니다. 그래도 값을 고정하세요. 프롬프트의 한 문장이 모델이 모든 호출마다 반복해야 하는 추측을 모델이 그대로 복사하기만 하면 되는 상수로 바꿉니다. 비용이 들지 않고, 다음에 모델을 교체해도 그대로 유효합니다. MCP 도구에는 인수별 재정의 필드가 없으며 필요하지도 않습니다. 그 문장이 바로 값을 고정하는 장치입니다.
응답만 보지 말고 결과를 읽으세요. Inbox 기록과 Request log는 서버가 실제로 반환한 내용을 보여주며, 튜닝은 이 계층에서 해야 합니다. 전송은 성공한 호출이라도 내용에는 오류나 빗나간 답변이 담겨 있을 수 있습니다. 실패한 도구 호출은 응답을 중단시키는 대신 모델에 다시 전달되므로, Agent는 어느 쪽이든 그럴듯한 복구 문장을 생성하는 경우가 많습니다. 기록을 보면 어떤 조절 수단을 써야 할지 알 수 있습니다. 호출이 전혀 없으면 프롬프트나 whitelist 문제이고, 인수가 잘못된 호출은 고정할 가치가 있는 값이 있다는 뜻이며, 결과는 좋은데 응답이 나쁘다면 다시 프롬프트를 살펴봐야 한다는 뜻입니다.
도구 결과를 이후 답변에 활용할 수 있나요? Save to memory
구조화된 데이터를 반환하는 도구의 경우 각 결과에서 값을 대화 메모리로 캡처할 수 있으며, Agent는 나중에 이를 사용할 수 있습니다.
Tools 패널에서 도구 행을 펼치면 Save to memory가 있습니다. 도구 결과의 경로를 메모리 키에 매핑하는 JSONPath 규칙 목록이며, 도구당 최대 10개입니다.
Calendly 예약 도구에는 세 개의 캡처 규칙이 미리 채워져 있습니다. 이벤트 URI, 취소 링크, 일정 변경 링크가 대화 메모리에 저장됩니다.
DeepWiki 도구는 일반 텍스트를 반환하므로 Hoist 예제에서는 캡처할 것이 없고 편집기가 비어 있습니다. 이 기능이 진가를 발휘하는 곳은 트랜잭션형 서버입니다. 엄선된 Calendly 서버에서는 예약 도구에 세 규칙이 미리 채워져 있습니다. Agent가 미팅을 예약하면 이벤트 URI, 취소 링크, 일정 변경 링크가 캡처됩니다. 세 메시지 뒤에 취소를 요청하면 Agent는 정확한 취소 URL을 이미 가지고 있습니다. 다시 조회하지 않고, 추측하지 않습니다. 캡처된 값은 모델이 읽는 대화 데이터의 일부가 됩니다. 이는 MCP 도구에서 한 도구의 출력을 다음 도구의 인수로 넘기는 것에 가장 가까운 방식입니다.
보안에 관심 있는 독자를 위해 두 가지를 덧붙입니다. 이 기능은 특정 공격을 염두에 두고 만들어졌습니다. 캡처된 값은 서버 측이 소유하는 네임스페이스에 있으므로, 방문자가 메모리 항목처럼 보이는 내용을 입력해 위조할 수 없습니다. 또한 결과 구조가 바뀌었거나 경로와 일치하는 항목이 없어 캡처가 실패해도 모델은 도구 결과를 잃지 않습니다. 응답은 계속 진행되고 캡처만 건너뜁니다.
Simulations로 대규모 테스트하기
대화 하나로 도구가 실행된다는 것을 확인할 수 있습니다. Agent가 질문 집합 전체를 원하는 방식으로 처리하는지 확인하려면 Testing 탭 아래의 Simulation Testing을 사용합니다.
두 경우를 섞은 작은 데이터셋을 만듭니다. 도구를 사용해야 하는 라이브러리 내부 구현 질문과, Agent가 지식에서 답해야 하는 제품 질문입니다. 평가자에게 채점 기준을 주고, 그 안에 실제 제품 정보를 포함하세요. 그래야 올바른 플랜이나 리전을 꾸며낸 것과 구분할 수 있습니다. 그런 다음 세트를 실행하고 점수를 확인합니다.
다섯 질문 실행 결과: 전체 5점 만점에 4.8점, 응답별 점수와 각 항목에 대한 평가 근거.
다섯 질문 실행은 5점 만점에 4.8점을 받았습니다. 제품 답변 두 개와 재개 및 청크 크기 설명은 만점이었고, 재시도 답변은 4점으로 깎였습니다. 평가는 도구 호출 자체가 아니라 Agent의 응답을 채점하므로 Inbox와 함께 보세요. Inbox 기록은 도구가 올바른 입력값으로 실행되었음을 증명하고, Simulation은 여러 질문에 걸쳐 응답 품질이 유지되는지 보여줍니다.
실행 전 알아둘 비용 두 가지가 있습니다. 모든 시뮬레이션 메시지는 실제 대화와 마찬가지로 플랜의 월간 AI 메시지 사용량에 포함됩니다. 또한 Simulation은 Agent를 실제로 실행합니다. 즉 활성화된 MCP 도구는 실행 중에 실제로 작동합니다. ask_question 같은 읽기 전용 도구에는 무해하지만, 캘린더나 결제 시스템에 데이터를 쓰는 도구가 있는 agent를 시뮬레이션하기 전에는 신중히 생각해야 합니다.
MCP 서버에 연결하는 것은 안전한가요?
연결된 신원이 누구의 것인지도 확인하세요. Agent 로그인과 그 뒤에서 사용하는 도구의 권한 부여는 별개의 경계이며, 실제 접근 테스트를 통해 둘을 구분하는 방법을 확인할 수 있습니다.
안전성은 프롬프트가 아니라 whitelist와 올바른 종류의 서버 선택에 달려 있습니다.
- 최소 권한으로 whitelist하세요. Agent는 사용자가 켠 도구만 호출할 수 있습니다. 필요한 도구 하나를 활성화하고, Default tool activation을 끄면 서버가 나중에 추가하는 도구도 검토 전까지 꺼져 있습니다. DeepWiki 같은 읽기 전용 서버에서는 whitelist에 포함된
ask_question이 할 수 있는 최대 작업이 공개 데이터 읽기입니다. OpenAI Hugging Face 사건도 최첨단 AI 연구소 규모에서 같은 교훈을 줍니다. 작업에 필요한 것보다 더 많은 접근 권한을 받은 agent는 그것을 사용할 방법을 찾았습니다. - 서버를 공급망으로 취급하세요. 사용자는 다른 사람의 코드와 릴리스 프로세스를 신뢰하고 있습니다. 노출하는 데이터를 소유한 회사가 직접 운영하는 퍼스트파티 서버를 우선하고, 활성화 전에 도구 목록을 읽고, default-off toggle이 다음에 배포되는 것을 흡수하게 하세요. postmark-mcp 사건, 즉 15번의 정상 릴리스 뒤 16번째 릴리스에서 공격자에게 BCC를 추가한 사례는 꼭 기억해야 할 사례 연구입니다.
- 비밀 정보를 프롬프트 밖에 두세요. 서버에 token이 필요하면 connection header에 넣거나, Quickchat AI가 암호화된 token을 대신 보관하는 OAuth flow를 사용하세요. 어느 쪽이든 자격 증명은 서버 측에서 첨부되고 모델은 이를 보지 못하므로 어떤 대화로도 유출될 수 없습니다.
- 내부 주소는 차단됩니다. Quickchat AI는 MCP action이 사설, 루프백, 링크 로컬 주소에 연결되는 것을 거부하고, OAuth 서버가 알리는 모든 endpoint에도 같은 검사를 적용합니다. 따라서 서버 URL이 네트워크 내부의 무언가에 접근하는 경로로 바뀔 수 없습니다.
- 느린 서버는 Agent를 멈추게 할 수 없습니다. 모든 연결에는 시간 제한이 있습니다. 응답마다 서버별 20초 제한 시간 안에서 연결에 10초, 읽기에 20초입니다. 실패하거나 시간 초과된 도구 호출은 오류로 모델에 다시 전달되므로, Agent는 응답 도중 멈춰 버리는 대신 확인하지 못한 것을 설명합니다.
- 분명한 한계 하나를 알아두세요. API Action과 달리 MCP 도구에는 대화별 run condition이 없습니다. “방문자가 인증된 관리자일 때만 이 도구를 실행”이라고 말할 수 없습니다. whitelist는 모든 사용자에게 똑같이 적용되는 도구 단위 설정입니다. 서버가 묻는 사람이 누구인지에 따라 제한해야 하는 쓰기 또는 삭제 도구를 노출한다면 여기서 활성화하지 마세요. 그 작업 하나는 Run only when condition이 있는 API Action으로 만들고, MCP 연결에는 읽기 전용 작업을 맡기세요.
그리고 모든 것을 연결하고 싶은 충동을 억제하세요. 활성화된 모든 도구는 모델이 모든 응답에서 고려하는 내용에 자신의 설명을 추가합니다. 공개 측정은 도구 수가 늘어날수록 도구 선택 정확도가 무너짐을 보여줍니다. 20개 도구에서는 거의 완벽하지만 100개를 넘으면 사용할 수 없습니다. agent당 소수의 서버라는 실무자 합의는 우리가 보는 것과 일치합니다. 잘 선택한 서버 하나와 잘 선택한 도구 하나, 이 가이드가 말 그대로 만드는 구성은 스위치로 가득 찬 화면보다 더 잘 동작합니다.
ChatGPT 또는 Claude가 대신 만들게 하기
위의 모든 내용은 클릭과 붙여 넣기입니다. 직접 하기보다 설명하고 싶다면 Quickchat AI 계정에 연결된 AI assistant에게 이 가이드를 넘기세요.
Quickchat AI에는 계정 관리를 위한 자체 MCP 서버가 있습니다. 대시보드 사이드바의 Agent 전환 메뉴 바로 아래에서 Manage your AI를 클릭하면 ChatGPT, Claude, Claude Code, Cursor, Codex용 연결 탭이 있습니다. ChatGPT에서는 dashboard를 완전히 건너뛸 수도 있습니다. ChatGPT용 Quickchat AI 앱을 직접 설치하고 요청하면 로그인하세요. 연결되면 assistant는 agent 생성, 지식 베이스 작성, MCP 연결을 포함한 action 설정, 대화 읽기, Simulation 실행을 할 수 있으며, 모든 호출에 사용자 역할과 확인 절차가 적용됩니다.
Manage your AI: ChatGPT, Claude, Claude Code, Cursor, Codex용 연결 탭입니다. 한 번 로그인하면 되며 API 키는 필요 없습니다.
그런 다음 연결된 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.
그 흐름의 MCP 부분은 Quickchat AI 서버가 정확히 이를 위해 노출하는 두 도구에서 실행됩니다. list_remote_mcp_server_tools는 무엇이든 생성하기 전에 서버가 제공하는 도구를 미리 보여주고, create_remote_mcp_action은 최소 권한 허용 목록으로 서버를 연결해 바로 사용할 수 있도록 활성화합니다. assistant는 Tools 패널에서 읽을 수 있는 것과 같은 정보, 즉 무엇을 왜 활성화했는지 보고합니다. 그리고 이후 로그인하면 Quickchat AI는 계정이 이미 MCP를 통해 관리되고 있음을 감지하고 Getting Started 온보딩을 완전히 건너뜁니다. 대시보드는 assistant가 만든 agent에서 바로 열립니다.
ChatGPT 경로와 관련된 문제 해결 팁이 하나 있습니다. 로그인 팝업이 빈 화면으로 열리면 chatgpt.com에서 광고 차단기를 잠시 중지하세요. 널리 쓰이는 광고 차단 규칙이 저희 것을 포함한 모든 ChatGPT 커넥터 팝업을 망가뜨리며, 이 차단은 전적으로 ChatGPT 페이지에서 일어납니다.
스크립트로 처리하고 싶다면 REST 경로에는 API token이 있는 정확히 두 번의 호출이 필요합니다(Business 플랜).
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}
생성 호출은 default_tool_is_active가 켜진 action을 반환하므로 응답 시점에 발견된 도구가 즉시 작동합니다. 이후 대시보드에서 whitelist를 조이거나, allowed_tools를 명시적으로 전달하세요.
실제 배포
Agent가 AI Preview에서 원하는 대로 동작하고 Inbox에 기대한 호출이 표시되면 배포합니다.
MCP action은 채널이 아니라 Agent에 속합니다. 따라서 같은 도구가 웹사이트 위젯, WhatsApp, Discord, Slack, 그리고 Agent를 넣는 모든 곳에서 작동합니다. 테스트 중 AI Preview에서 진행하는 대화를 포함한 모든 대화는 플랜의 월간 AI 메시지 사용량에 포함된다는 점을 기억하세요.
하나의 프로토콜, 세 방향
Quickchat AI에서 “MCP”는 세 가지 다른 위치에 나타나며, 이를 혼동하는 것이 고객 지원 대화에서 가장 흔한 혼란 원인입니다. 이 가이드는 첫 번째 줄을 다뤘습니다.
하나의 프로토콜, 세 방향입니다. 이 가이드는 맨 위 줄에 해당하며, 나머지 두 줄은 각각 별도 가이드에서 다룹니다.
Agent를 서버에 연결하면 Agent에 실시간 도구가 생깁니다. 이것이 방금 만든 것입니다. 반대 방향인 Agent를 MCP 서버로 공개하면 ChatGPT, Claude, Cursor가 Agent를 도구로 호출하고 지식 베이스에서 답할 수 있습니다. 그리고 MCP를 통해 계정을 관리하는 것은 이전 섹션에서 다룬 ‘AI로 만들기’ 경로로, 방문자가 아니라 대시보드를 대상으로 합니다.
관련 가이드
같은 AI Actions 메커니즘은 Agent를 모든 도구나 API에 연결합니다. 다른 단계별 안내서는 다음과 같습니다.
프로토콜 자체에 대한 추가 글: GPT Actions와 MCP 비교, MCP와 일반 HTTP API 비교, 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 전송은 마이그레이션 기간과 함께 지원 중단되었습니다. 실제로는 URL 하나를 붙여 넣으면 됩니다. Quickchat AI는 streamable HTTP를 사용하며, URL 경로가 /sse로 끝나는 legacy 서버에는 여전히 SSE를 대신 사용합니다.
AI agent는 MCP 서버가 제공하는 도구를 어떻게 알아내나요?
서버에 묻습니다. MCP는 tools/list 요청을 정의합니다. 클라이언트가 서버 URL에 연결하면 서버는 각 도구의 이름, 설명, 입력 schema를 반환합니다. Quickchat AI에서는 연결할 때 이 도구 탐색이 실행되므로 도구가 스위치 목록으로 나타나며, agent는 응답 시점에 실시간 도구 목록을 다시 읽습니다.
코드를 작성하거나 호스팅하지 않고 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에게 언제 사용해야 하는지 말하지 않았거나, 질문이 이미 지식 베이스로 답할 수 있는 것이어서 agent가 외부 호출을 할 이유가 없는 경우입니다. 먼저 Tools 패널을 확인하고, 그다음 프롬프트에 명시적 지침을 추가한 뒤, 지식 베이스가 답할 수 없는 질문으로 테스트하세요.
하나의 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 생성, 지식 베이스 작성, MCP 서버 연결, 테스트 실행을 요청하세요. REST 경로도 있습니다. MCP action 생성은 API token을 사용한 POST 하나와 PATCH 하나입니다.
대화 중 MCP 서버가 느리거나 다운되면 어떻게 되나요?
대화가 멈추지 않습니다. Quickchat AI는 모든 서버에 짧은 timeout을 적용합니다. 각 응답의 서버별 20초 제한 시간 안에서 연결에 10초, 읽기에 20초를 둡니다. 실패하거나 timeout된 호출은 오류로 모델에 다시 전달되므로 agent는 도구 없이 답하고 확인하지 못한 내용을 설명합니다. Inbox는 실패한 호출을 기록합니다.