AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

메모리에 MCP 클라이언트 연결

Claude Code 또는 Codex와 같은 모든 MCP(Model Context Protocol) 클라이언트 Agentic-platform-memory SDK를 사용하지 않고도 메모리에 직접 연결할 수 있습니다. SDK에 대해 Python 코드를 직접 작성하는 대신 이 MCP 연결을 사용하여 해당 클라이언트 메모리를 제공합니다. 이 가이드 에서는 MCP 클라이언트 메모리에 연결하고 대화 차례를 기록 및 호출하는 방법을 학습 수 있습니다.

팁

메모리에 대해 자세히 학습 에이전트에 메모리 추가 가이드 의 메모리 작동 방식을 참조하세요.

MCP 서버 세 가지 도구를 노출합니다.

  • record_turn: 단기 대화 차례를 한 번 기록합니다. 이는 세 가지 도구 중 유일한 쓰기 (write) 작업입니다.

  • build_context: 쿼리 와 관련된 메모리를 검색하고 컨텍스트로 형식을 지정합니다.

  • search_memories: 장기기억을 유형별로 검색합니다.

배경 프로세스 기록된 회전 순서에서 장기 기억을 비동기적으로 추출합니다. 추출을 기다리지 않고 직접 장기 메모리를 생성하려면 독립형 메모리 서비스 사용에 설명된 agentic-platform-memory SDK를 사용하세요.

시작하기 전에 다음 전제 조건이 있는지 확인하세요.

  • Atlas Agent Engine의 프로젝트 . 프로젝트 ID 찾으려면 프로젝트 보기를 참조하세요.

  • 해당 프로젝트 에서 활성화된 메모리에는 다음 구성 요소가 필요합니다.

    • 프로젝트 시크릿으로 업로드된 MONGODB_URI, VOYAGE_API_KEY 및 LLM API 키(예: ANTHROPIC_API_KEY)입니다.

    • 실행 메모리 런타임입니다. 런타임이 없는 경우 agentengine memory apply --wait 명령을 실행 런타임을 프로비저닝합니다. 계속하기 전에 런타임이 준비된 것으로 보고할 때까지 기다립니다.

    이러한 필수 구성 요소를 구성하는 방법을 학습 메모리 구성을 참조하세요.

  • PROJECT_OWNER 역할 있는 프로젝트 서비스 계정입니다. 다음 명령을 실행하여 계정을 생성하고 <name>을 서비스 계정의 이름으로 바꿉니다.

    agentengine service-account create <name> --role PROJECT_OWNER

    중요

    명령이 반환하는 클라이언트 ID 와 클라이언트 시크릿을 저장합니다. Atlas Agent Engine은 클라이언트 시크릿을 한 번만 표시합니다.

액세스 토큰을 얻으려면 다음 명령을 실행 <client-id>을(를) 서비스 계정의 클라이언트 ID 로 바꿉니다.

read -r -p "Client ID: " CLIENT_ID
curl --fail-with-body --silent --show-error --user "$CLIENT_ID" \
--data grant_type=client_credentials \
https://agentengine.mongodb.com/api/v1/oauth/token

curl 터미널에 에코하지 않고 클라이언트 시크릿을 입력하라는 메시지를 표시합니다. 다음 섹션에서 사용할 수 있도록 반환된 JSON 객체 에서 access_token 필드 값을 복사합니다.

중요

액세스 토큰은 1시간 후에 만료됩니다. MCP 클라이언트 구성에서 토큰을 하드 코딩하면 만료 후 연결이 작동하지 않습니다. 연결을 복원 하려면 이전 명령을 다시 실행하여 새 토큰을 얻은 다음 구성을 업데이트 .

Streamable HTTP 전송을 지원하는 모든 MCP 클라이언트 다음 URL 사용하여 메모리에 연결할 수 있습니다. <project_id>를 프로젝트 ID 로 바꿉니다.

https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp

이전 섹션의 액세스 토큰을 Authorization: Bearer <access-token> 헤더로 전송합니다.

서버 추가 시 액세스 토큰을 전송하는 예시 보려면 MCP 클라이언트 에 해당하는 탭 선택하세요.

다음 명령을 실행하여 메모리를 MCP 서버 로 추가하고 <project_id> 및 <access-token>을 프로젝트 ID 및 액세스 토큰으로 바꿉니다. --scope user 플래그는 모든 프로젝트 에서 서버 사용할 수 있도록 합니다.

claude mcp add --scope user --transport http project-memory \
https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp \
--header "Authorization: Bearer <access-token>"

또는 Claude Code CLI 와 Claude Code VS Code 확장이 주식~/.claude.json에 다음 구성을 추가합니다.

{
"mcpServers": {
"project-memory": {
"type": "http",
"url": "https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp",
"headers": {
"Authorization": "Bearer <access-token>"
}
}
}
}

Codex는 add 명령에서 헤더 대신 환경 변수에서 베어러 토큰을 전송합니다. Codex를 실행하는 환경에서 액세스 토큰을 내보낸 후, 다음 명령어를 실행 메모리를 MCP 서버 로 추가합니다. <project_id>을 프로젝트 ID 로 바꿉니다.

export AGENTIC_MEMORY_TOKEN=<access-token>
codex mcp add project-memory \
--url https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp \
--bearer-token-env-var AGENTIC_MEMORY_TOKEN

또는 다음 표를 ~/.codex/config.toml에 추가하고 <project_id>을 프로젝트 ID 로 바꿉니다.

[mcp_servers.project-memory]
url = "https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp"
bearer_token_env_var = "AGENTIC_MEMORY_TOKEN"

MCP 서버 추가한 후 MCP 클라이언트 다시 시작하고 세 가지 메모리 도구가 나열되고 기록된 턴이 검색 가능한지 확인합니다.

1

MCP 클라이언트 를 열고 project-memory 서버 의 세 가지 도구, 즉 record_turn, build_context, search_memories가 나열되는지 확인합니다.

2

고유한 팩트, user_id 및 session_id를 사용하여 record_turn를 두 번 호출합니다. user 역할 턴을 기록한 후 assistant 역할 턴을 기록합니다. 다음 예시 자택 공항에 대한 팩트를 기록합니다.

record_turn(user_id="user_1", session_id="session_1", role="user", content="I always fly out of Boston.")
record_turn(user_id="user_1", session_id="session_1", role="assistant", content="Got it, Boston is saved as your home airport.")
3

이전 단계에서 사용한 것과 동일한 user_id 및 session_id, 그리고 기록된 팩트와 일치하는 쿼리 사용하여 build_context를 호출합니다. build_context에 최근 단기 회전이 포함되어 있기 때문에 기록된 회전이 즉시 표시됩니다.

build_context(user_id="user_1", session_id="session_1", query="Where should the flight book from?")
4

배경 추출 프로세스 기록된 차례를 장기 기억으로 통합할 때까지 몇 분 정도 기다립니다. 그런 다음 동일한 user_id, 일치하는 쿼리 및 메모리 유형을 사용하여 search_memories를 호출합니다.

search_memories(user_id="user_1", query="home airport", type="semantic")

팩트가 나타나지 않으면 더 기다렸다가 다시 검색 . 추출은 비동기적으로 실행되며 회전을 기록 후 즉시 완료되지 않을 수 있습니다.