MCP 도구
MCP 도구 (MCP Tools)
에이전트가 파일시스템, 어떤 API, 데이터베이스에 직접 손을 뻗칠 수 있으면 작업이 훨씬 강력해져요. MCP (Model Context Protocol)는 이런 외부 도구를 에이전트에 연결하는 표준이에요. Deep Agents Code에서 MCP 서버를 설정하면, 그 서버가 제공하는 도구를 내장 도구와 나란히 사용할 수 있어요. 여기서 .mcp.json 설정 파일로 MCP 서버를 추가하고 관리하는 방법을 살펴볼게요.
출처: 공식문서
MCP란
MCP는 Deep Agents Code를 외부 서버의 도구로 확장하게 해줘요 — 파일시스템, API, 데이터베이스 등 에이전트 자체를 수정하지 않고도요. Deep Agents Code는 시작 시 MCP 서버에 연결해 그 도구를 발견하고, 내장 도구와 함께 에이전트가 쓸 수 있게 해줘요.
.mcp.json 구성 파일을 프로젝트에 추가하면 프로젝트 수준으로, 사용자 수준에 두면 모든 프로젝트에 적용되도록 MCP 서버를 추가할 수 있어요.
퀵스타트
이 퀵스타트는 머신의 모든 Deep Agents Code 세션에 LangChain MCP 서버를 추가해요. 개념 가이드·하우투용 docs-langchain, API 레퍼런스용 reference-langchain을 추가하는 걸 권장해요.
| 서버 | URL | 다루는 내용 |
|---|---|---|
docs-langchain |
https://docs.langchain.com/mcp |
개념 가이드, 하우투, 튜토리얼 |
reference-langchain |
https://reference.langchain.com/mcp |
정식 API 레퍼런스: 클래스, 메서드, 파라미터 |
-
구성 파일 생성 — 없으면
.mcp.json파일을 사용자 수준에 만들어 머신의 모든 프로젝트에서, 또는 프로젝트 수준에 만듭니다.사용자(User)
mkdir -p ~/.deepagents touch ~/.deepagents/.mcp.json이 파일(
~/.deepagents/.mcp.json)의 서버는 이 머신의 모든 프로젝트에서 사용 가능해요.프로젝트(Project)
touch .mcp.json이 파일(
<project>/.mcp.json)의 서버는 이 프로젝트에 사용 가능해요.프로젝트(숨김)
mkdir -p .deepagents touch .deepagents/.mcp.json이 파일(
<project>/.deepagents/.mcp.json)의 서버는 이 프로젝트에 사용 가능하지만 repo 루트 밖에 유지돼요.전체 우선순위 규칙은 Discovery locations를 참고하세요.
-
MCP 서버 추가
{ "mcpServers": { "docs-langchain": { "type": "http", "url": "https://docs.langchain.com/mcp" }, "reference-langchain": { "type": "http", "url": "https://reference.langchain.com/mcp" } } }서버를 더 추가하려면
mcpServers에 항목을 더 넣어요. OAuth, stdio, SSE, HTTP 서버 필드, 환경 변수, 헤더는 Configuration format을 참고하세요. -
Deep Agents Code 시작
dcode시작 시 Deep Agents Code가 구성을 자동 발견하고, 각 서버에 연결해 도구를 발견하고, 확인 메시지를 출력해요:
✓ Loaded 3 MCP tools대화형 세션에서
/mcp를 실행하면 서버별 상태, 전송, 로드된 도구 목록을 볼 수 있어요. 에이전트는 세션 동안 그 도구를 쓸 수 있어요 — stdio 서버는 도구 호출 사이에 유지돼요.
자동 발견 (Auto-discovery)
Deep Agents Code는 표준 위치에서 .mcp.json 파일을 자동으로 검색해요. 플래그가 필요 없어요 — 구성 파일을 두면 알아서 발견해요.
발견 위치 (Discovery locations)
구성은 이 순서로 확인해요 (낮은 것에서 높은 우선순위):
| 우선순위 | 위치 | 범위 |
|---|---|---|
| 1 (가장 낮음) | ~/.deepagents/.mcp.json |
사용자 수준 — 모든 프로젝트에 적용 |
| 2 | <project>/.deepagents/.mcp.json |
프로젝트 수준 — .deepagents 서브디렉토리 |
| 3 (가장 높음) | <project>/.mcp.json |
프로젝트 수준 — 루트 (Claude Code 호환) |
프로젝트 루트는 .git 폴더를 포함하는 가장 가까운 부모 디렉토리이며, 없으면 현재 작업 디렉토리로 폴백해요.
여러 구성 파일이 있으면 mcpServers 항목을 서버 이름으로 병합해요. 이름이 다른 서버는 보존돼요. 같은 서버 이름이 여러 파일에 나타나면, 더 높은 우선순위 정의가 이전 서버 객체 전체를 교체해요. 중첩 필드는 깊게 병합되지 않아요. 이로써 프로젝트 수준 구성이 사용자 수준 항목을 덮어쓸 수 있어요(예: 같은 서버의 다른 버전 고정) 다른 프로젝트는 방해하지 않으면서요.
플래그
| 플래그 | 동작 |
|---|---|
--mcp-config PATH |
명시적 구성을 가장 높은 우선순위 소스로 추가 (자동 발견된 구성 위에 병합) |
--no-mcp |
MCP 완전 비활성화 — 서버 로드 안 함 |
--mcp-config와--no-mcp는 서로 배타적입니다.
Claude Code 호환성
이미 프로젝트 루트에 Claude Code용 .mcp.json이 있다면, Deep Agents Code가 자동으로 사용해요 — 추가 설정이 필요 없어요.
구성 형식 (Configuration format)
mcpServers 아래 각 키는 서버 이름이에요. 서버의 필드가 Deep Agents Code의 연결 방식을 결정해요.
stdio 서버 (기본값)
stdio 서버는 자식 프로세스로 생성돼요. Deep Agents Code는 stdin/stdout으로 통신해요.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
"env": {}
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "your-token" }
}
}
}
SSE 및 HTTP 서버
원격 MCP 서버의 경우 type을 "sse" 또는 "http"로 설정하고 url을 제공해요:
{
"mcpServers": {
"remote-api": {
"type": "sse",
"url": "https://api.example.com/mcp",
"headers": { "Authorization": "Bearer your-token" }
}
}
}
필드 참조
stdio (기본)
필수: command. 선택: args, env, 공유 tool-filter 필드.
command(string, 필수): 실행할 실행 파일.args(string[]): 명령에 전달되는 인자.env(object): 서브프로세스에 설정되는 환경 변수. 셸 히스토리에 노출하지 않고 API 키 같은 자격 증명을 전달할 때 쓰세요.
sse
필수: type: "sse", url. 선택: headers, auth, 공유 tool-filter 필드.
type("sse", 필수): 전송 유형. Server-Sent Events에는"sse"를 쓰세요.url(string, 필수): 서버 엔드포인트 URL.headers(object): 모든 요청에 보내는 HTTP 헤더. 주로 인증에 쓰여요. 값은 부모 셸 환경 변수에 대한${VAR}참조를 지원해요 (서버 활성화 시 해석).auth("oauth"):Authorization헤더를 제공하는 대신dcode mcp login으로 OAuth 로그인 흐름을 구동하려면"oauth"로 설정.Authorization헤더와 함께 쓸 수 없음. OAuth login 참고.
http
필수: type: "http", url. 선택: headers, auth, 공유 tool-filter 필드.
type("http", 필수): 전송 유형. streamable HTTP에는"http"를 쓰세요.streamable_http와streamable-http는 별명으로 받아들여져요.url(string, 필수): 서버 엔드포인트 URL.headers(object): 모든 요청에 보내는 HTTP 헤더. 주로 인증에 쓰여요. 값은${VAR}참조를 지원해요 (서버 활성화 시 해석).auth("oauth"):dcode mcp login으로 OAuth 로그인 흐름을 구동하려면"oauth"로 설정.Authorization헤더와 함께 쓸 수 없음. OAuth login 참고.
type필드는 다른 MCP 클라이언트와의 호환성을 위해transport로도 쓸 수 있습니다.
서버 이름은
[A-Za-z0-9_-]+와 일치해야 합니다. 이름은 OAuth 토큰 파일의 온디스크 basename으로 쓰이므로, 경로 구분자와 다른 셸 메타문자는 구성 로드 시 거부됩니다.
환경 변수 보간
command, args, env, url, headers의 문자열 값은 부모 셸 환경 변수에 대한 ${VAR} 참조를 지원해요. ${VAR:-default}로 변수가 설정되지 않았거나 비어 있을 때 기본값을 제공할 수 있어요.
{
"mcpServers": {
"work-docs": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "${WORK_DOCS_DIR:-/tmp/work-docs}"],
"env": { "LOG_LEVEL": "${MCP_LOG_LEVEL:-info}" }
}
}
}
여러 서버
필요한 만큼 서버를 구성할 수 있어요. 모든 서버의 도구가 병합되어 에이전트에 제공돼요:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "ghp_..." }
},
"database": {
"type": "sse",
"url": "https://db-mcp.internal:8080/mcp",
"headers": { "Authorization": "Bearer ..." }
}
}
}
도구 필터링 (Tool filtering)
각 서버는 두 선택 필드 중 하나로 에이전트에 노출하는 도구를 좁힐 수 있어요:
allowedTools: 나열된 도구만 유지; 나머지는 모두 제거.disabledTools: 나열된 도구를 제거; 나머지는 모두 유지.
필터링은 stdio, HTTP, SSE 서버 모두에 적용돼요. 다음 둘 다 구성 로드 시 거부돼요:
- 같은 서버에
allowedTools와disabledTools동시 설정. - 둘 중 하나를 빈 목록으로 설정 (모든 도구를 조용히 제거하거나 아무 효과가 없을 것). 필드를 생략하세요.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
"allowedTools": ["read_file", "list_directory"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"disabledTools": ["delete_repository", "delete_*_branch"]
}
}
}
매치 규칙
각 항목은 리터럴 도구 이름 또는 fnmatch 스타일 glob(*, ?, [ 중 하나를 포함하는 항목은 패턴으로 취급)이에요. 항목은 bare MCP 도구 이름과 서버 접두사 형태({server}_{tool}) 둘 다에 매치되므로 어느 형식이든 동작해요:
{
"allowedTools": ["read_file", "fs_list_*"]
}
어떤 로드된 도구와도 매치되지 않는 항목은 오류가 아니라 경고로 기록됩니다. — 기저 MCP 서버가 버전을 넘어 도구 목록을 진화시켜도 구성이 깨지지 않도록요.
allowedTools(string[]): 유지할 도구 이름 또는fnmatchglob 패턴. 이 서버의 다른 모든 도구는 제거.disabledTools와 상호 배타.disabledTools(string[]): 제거할 도구 이름 또는fnmatchglob 패턴. 이 서버의 다른 모든 도구는 유지.allowedTools와 상호 배타.
Auto 모드에서 읽기 전용 도구 어노테이션
MCP 서버는 도구를 광고할 때 표준 ToolAnnotations를 붙일 수 있어요. Deep Agents Code는 다음이 모두 참일 때만 Auto 승인 모드에서 도구가 분류기 검토를 건너뛰게 해요:
readOnlyHint가 리터럴 Booleantrue.destructiveHint가 없거나,null이거나,false.- 제공된 모든 표준 힌트(
readOnlyHint,destructiveHint,idempotentHint,openWorldHint)가 문자열이나 다른 유형이 아닌 Boolean 또는null.
이 검사를 통과하지 못한 도구는 Auto에서 분류기 배치에 들어가고, Manual에서는 일반 승인 UI를 쓰며, headless 런타임에서는 승인 UI가 없으므로 거부돼요. 어노테이션은 서버가 제공하는 주장이며, Deep Agents Code가 독립적으로 검증하지 않아요.
OAuth 로그인
OAuth를 필요로 하는 원격 MCP 서버(Slack, GitHub, Notion, Linear 등 호스팅 MCP 엔드포인트)의 경우 서버 항목에 "auth": "oauth"를 설정하고 로그인 서브명령을 한 번 실행해요. 토큰은 디스크에 저장되고 자동으로 갱신돼요.
서버 구성
{
"mcpServers": {
"linear": {
"type": "http",
"url": "https://mcp.linear.app/mcp",
"auth": "oauth"
}
}
}
auth: "oauth"는 같은 항목의 Authorization 헤더와 상호 배타적이며, stdio 서버에는 설정할 수 없어요.
Deep Agents Code를 LangSmith에 연결하려면 LangSmith Remote MCP를 사용해요:
{
"mcpServers": {
"langsmith": {
"url": "https://api.smith.langchain.com/mcp",
"transport": "http",
"auth": "oauth"
}
}
}
로그인 흐름 실행
저장된 자격 증명 없이 구성된 OAuth 서버를 나열해요:
dcode mcp login
그런 다음 서버의 로그인 흐름을 실행해요:
dcode mcp login linear
목록은 로그인 흐름과 같은 trust-gated 구성을 사용해요. auth: "oauth"가 있지만 저장된 토큰이 없는 서버를 보고해요. 토큰 만료는 확인하지 않아요.
무엇이 일어나는지는 서버의 호스트에 따라 달라져요:
- 사양 준수 서버(기본값): Deep Agents Code가 Dynamic Client Registration을 수행하고, 브라우저에서 Authorization Code + PKCE 흐름을 열고, 리다이렉트된 URL을 터미널에 붙여넣으라고 요청해요.
- Slack(
slack.com,*.slack.com): 같은 붙여넣기 흐름이지만 Slack의 공개 클라이언트가 미리 채워져 있어요. 선택적인 팀 ID(예:T01234567)를 물어 앱이 올바른 워크스페이스에 설치되게 해요. - GitHub(
api.githubcopilot.com): RFC 8628 Device Authorization Grant. Deep Agents Code가 인증 URL과 사용자 코드를 출력하면, 브라우저에서 코드를 입력하고 Deep Agents Code가 완료를 폴링해요.
기본적으로 dcode mcp login은 런타임에 Deep Agents Code가 쓰는 것과 같은 자동 발견 구성을 읽어요(프로젝트 수준 trust gating 적용). 특정 파일을 쓰려면 --mcp-config <path>를 전달해요:
dcode mcp login linear --mcp-config ./mcp-config.json
신뢰되지 않은 프로젝트 수준 구성은
mcp login중 건너뜁니다. — 공격자가 제어하는headers항목이${VAR}보간으로 로컬 시크릿을 빼낼 수 없게요. 프로젝트에서dcode를 실행하고Allow for this project — until changed를 선택해 승인을 저장하거나,--mcp-config <path>를 명시적으로 전달하세요.
토큰 저장
토큰은 다음에 기록돼요:
~/.deepagents/.state/mcp-tokens/<server>-<sha256-16(url)>.json
<sha256-16(url)> 세그먼트는 서버 URL의 SHA-256 첫 16개 16진수 문자예요. 디렉토리는 모드 0700으로, 각 토큰 파일은 모드 0600으로 잠겨요. 파일에는 OAuth 액세스 토큰, 리프레시 토큰, 동적 등록 클라이언트 정보가 모두 포함되며, 스키마 버전이 있는 페이로드로 원자적으로(write-to-temp + rename) 기록돼요.
URL을 파일명에 해시하면, 같은 서버 이름이 다른 URL(예: dev vs prod)을 가리킬 때 독립적인 토큰 파일을 얻게 되어 서로 덮어 쓸 수 없습니다.
재인증
런타임에 리프레시가 실패하면(리프레시 토큰 만료 또는 취소), Deep Agents Code는 에이전트를 크래시시키는 대신 서버를 unauthenticated로 표시해요. 환영 배너에 인증되지 않은 서버 수가 표시되고, /mcp가 서버별 이유를 보고해요. dcode mcp login <server>를 다시 실행해 자격 증명을 갱신하면, 재시작 없이 대화가 이어져요.
세션을 떠나지 않고 OAuth 서버를 재인증하려면 /mcp를 열고 서버를 선택한 뒤 Enter를 누르세요.
서버 상태
시작 후 각 구성 서버는 세 상태 중 하나에 들어가요:
| 상태 | 의미 |
|---|---|
ok |
연결됨; 도구가 로드되어 에이전트가 사용 가능 |
unauthenticated |
OAuth 로그인 필요 또는 리프레시 실패 — dcode mcp login <server> 실행 |
error |
사전 확인, 발견, 또는 전송 설정 실패; 오류 메시지 첨부 |
단일 실패 서버가 더 이상 시작을 중단하지 않아요. 에이전트는 깨끗하게 올라온 서버가 있는 채로 실행되고, 환영 배너가 도구 수 옆에 인증되지 않은·오류 서버 수를 표시해요. 대화형 세션에서 /mcp를 열면 서버별 상태, 전송, 도구 목록, ok가 아닌 항목의 실패 이유를 볼 수 있어요. 뷰어는 서버가 연결됨에 따라 실시간으로 갱신되고 tab/shift+tab 탐색을 지원해요.
프로젝트 수준 신뢰
프로젝트 수준 구성은 로컬 명령을 실행하는 stdio 서버와 headers가 환경에서 ${VAR}을 보간할 수 있는 원격 서버를 포함할 수 있어요. 신뢰되지 않은 저장소가 CLI 시작 시 임의 코드를 실행하거나 로컬 시크릿을 빼내지 못하도록, Deep Agents Code는 프로젝트 수준 항목에 default-deny 정책을 적용해요.
저장된 프로젝트 MCP 승인과 서버별 allow·deny 정책은
deepagents-code>=0.1.40이 필요합니다.
동작 방식
- 대화형 모드: Deep Agents Code는 프로젝트 서버를 활성화하기 전에 승인을 요청하고, 각 stdio 명령과 원격 URL을 보여줘요.
Allow once를 선택하면 현재 세션 동안 프롬프트된 모든 서버를 활성화해요.Allow for this project — until changed를 선택하면 세션 동안 모든 프롬프트된 서버를 활성화하고, 향후 세션을 위해 저장할 승인을 선택해요. - 저장된 승인: Deep Agents Code는 선택한 서버 승인을 사용자 수준의
~/.deepagents/config.toml에 기록해요. 각 승인은 해석된 프로젝트 루트, 서버 이름, 해당 서버 정의의 SHA-256 지문에 스코프돼요. 서버 명령, URL, 헤더 또는 다른 구성 필드가 바뀌면 Deep Agents Code가 다시 프롬프트해요. - 비대화형 모드(
-n): 매칭되는 저장 또는 환경 승인이 없는 프로젝트 서버는--trust-project-mcp를 전달하지 않으면 조용히 건너뛰어요. 명시적 거부는 여전히 적용돼요. - 신뢰는 stdio와 원격 항목 모두를 다룹니다: 원격 서버는 사전 확인 프로브 중 localhost나 클라우드 메타데이터 엔드포인트로 SSRF할 수 있고, 헤더로
${VAR}값을 빼낼 수 있으므로, Deep Agents Code는 stdio 서버와 같은 방식으로 게이트해요. - 사용자 수준 구성(
~/.deepagents/.mcp.json)은 항상 신뢰돼요.config.toml과hooks.json과 같은 신뢰 모델을 따라요. - **
dcode mcp login**도 프로젝트 신뢰를 존중해요. 신뢰되지 않은 프로젝트 수준 구성은 로그인 발견 중 건너뛰어, 공격자가 제어하는 원격 항목이 OAuth 핸드셰이크로 시크릿을 끌어오지 못하게 해요.
플래그
| 플래그 | 동작 |
|---|---|
--trust-project-mcp |
현재 실행에서 프롬프트 없이 프로젝트 수준 서버를 신뢰. 사용자 정책이 거부한 서버는 비활성 상태 유지. |
# Skip the approval prompt
dcode --trust-project-mcp
# Non-interactive: explicitly trust project servers
dcode -n "run tests" --trust-project-mcp
저장된 승인
저장된 승인은 ~/.deepagents/config.toml에 있어요:
[mcp]
enabled_project_server_approvals = [
{ project_root = "/Users/you/myproject", name = "docs-langchain", fingerprint = "sha256:abc123..." }
]
승인을 취소하려면 enabled_project_server_approvals에서 항목을 제거해요. config.toml을 편집하지 않고 재승인을 강제하려면 프로젝트의 .mcp.json에서 서버 정의를 바꿔요. 저장된 지문이 더 이상 일치하지 않게 돼요.
legacy flat [mcp].enabled_project_servers 목록은 config.toml에서 무시돼요. 저장된 승인에는 enabled_project_server_approvals를 쓰세요.
고급 allow·deny 정책
~/.deepagents/config.toml의 [mcp].disabled_project_servers 또는 셸·전역 ~/.deepagents/.env의 DEEPAGENTS_CODE_DISABLED_PROJECT_MCP_SERVERS를 사용해 이름으로 프로젝트 MCP 서버를 항상 거부할 수 있어요. 거부는 저장된 승인과 --trust-project-mcp 플래그보다 우선해요.
이름으로 프로젝트 MCP 서버를 미리 승인해야 하는 자동화에는, 셸 또는 전역 ~/.deepagents/.env에서 DEEPAGENTS_CODE_DANGEROUSLY_ENABLE_PROJECT_MCP_SERVERS를 서버 이름의 쉼표 구분 목록으로 설정해요. 이는 프로세스 전역 탈출구예요. 같은 서버 이름 아래에서 다른 프로젝트, 명령 변경, URL 변경도 여전히 매치돼요. 이 변수가 설정되면 Deep Agents Code는 그 프로세스에 대해 저장된 승인을 무시해요. 프로젝트 간·서버 정의 변경 간에 이름 기반 승인이 필요하지 않으면 저장된 승인이나 --trust-project-mcp를 선호해요.
deepagents-code>=0.1.40은 이전 DEEPAGENTS_CODE_ENABLED_PROJECT_MCP_SERVERS 변수를 무시해요. 같은 이름 기반 동작이 필요하면 DEEPAGENTS_CODE_DANGEROUSLY_ENABLE_PROJECT_MCP_SERVERS로 교체하세요.
신뢰된 stdio MCP 서버는 사용자 계정의 권한으로 실행됩니다. 원격 서버를 승인하면 Deep Agents Code가 사전 확인 중 그 URL과 접촉하고 구성된 헤더를 보낼 수 있습니다. 신뢰하는 저장소의 서버만 승인하고, 승인 프롬프트에 표시된 명령과 URL을 검토하세요.
시스템 프롬프트 인지
연결된 MCP 서버와 그 도구는 서버 이름과 전송 유형별로 그룹화되어 에이전트의 시스템 프롬프트에 자동으로 나열돼요. 이는 수동 컨텍스트 없이도 모델이 도구의 출처와 실패 도메인을 추론하게 도와줘요.
문제 해결
서버 시작 실패 (stdio)
명령이 Deep Agents Code 밖에서 동작하는지 확인해요:
npx -y @modelcontextprotocol/server-filesystem /tmp
흔한 원인: 패키지가 설치되지 않음, npx가 PATH에 없음, 필요한 환경 변수 누락.
연결 거부 (SSE/HTTP)
원격 서버가 실행 중이고 URL이 올바른지 확인해요. 서버가 인증을 요구한다면 headers에 올바른 자격 증명이 있는지 확인해요.
도구가 나타나지 않음
Deep Agents Code는 시작 시 로드된 도구 수를 출력해요 (예: ✓ Loaded 3 MCP tools). 0이 보이면 서버는 성공적으로 시작했지만 도구를 광고하지 않은 것 — 서버 자체의 로그나 문서를 확인해요.
서버가 /mcp에서 unauthenticated 표시
아직 dcode mcp login <server>를 실행하지 않았거나, 저장된 리프레시 토큰이 만료되거나 서버 측에서 취소된 것. 로그인 명령을 다시 실행하면 세션은 계속 돌고 토큰이 갱신되면 서버가 다시 연결돼요.
Invalid MCP config at ...
사전 확인 검증이 --mcp-config(또는 자동 발견된 .mcp.json)를 거부했어요. 흔한 원인: 지원되지 않는 서버 이름([A-Za-z0-9_-]+와 일치해야 함), stdio 서버의 auth: oauth, 같은 항목에 command와 url 둘 다 설정, 문자열이 아닌 헤더 값. 강조된 이유를 고치고 다시 시작해요 — Deep Agents Code는 구성 오류에 대해 다중 페이지 서브프로세스 추적을 더 이상 덤프하지 않아요.
${VAR} 참조 실패
부모 셸에서 변수를 export하거나, ~/.deepagents/.env에 추가하거나, ${VAR:-default} 폴백을 주세요. 디버그하려면 DEEPAGENTS_CODE_DEBUG=1을 설정하고 종료 시 stderr로 출력되는 세션별 로그 경로를 확인해요.
더 알아보기 (Learn more)
- LangSmith Remote MCP — OAuth를 통해 Deep Agents Code를 LangSmith 도구에 연결하기.
- LangChain MCP guide —
MCPAdapter로 에이전트를 MCP 서버에 연결하기. - MCP specification — 공식 프로토콜 사양과 서버 레지스트리.