개요
폴더 검색 도구(search_private_folders와 search_team_folders)는 개인 또는 팀 폴더 계층 안에서 이름으로 폴더를 찾는 일관된 방법을 제공해요. 두 도구 모두 NFC 정규화와 함께 대소문자를 구분하지 않는 부분 문자열 매칭을 사용하므로 한국어를 비롯한 CJK 텍스트도 안정적으로 매칭돼요.
search_private_folders— 개인(공유되지 않은) 폴더를 검색해요.search_team_folders— 팀(워크스페이스 공유) 폴더를 검색해요.
mcp:folders:read scope가 필요하고 기본적으로 API key의 워크스페이스에서 동작해요 — 다른 워크스페이스를 대상으로 하려면 명시적인 workspaceGuid(list_workspaces에서 확인)를 전달하세요.
주요 사용 사례:
- 이름의 일부만 기억날 때 특정 폴더 찾기(예: “general”은 “0.General”, “General”, “general-things”에 매칭).
- 워크스페이스의 모든 폴더 열거하기(빈 keyword는 전체를 페이지네이션과 함께 반환).
- 한국어 검색:
keyword="네이버"는"네이버 모니터링","0.네이버"등에 매칭.
- 대소문자를 구분하지 않는 부분 문자열 매칭(CJK 안정성을 위해 NFC 정규화).
- 폴더는 매칭 위치(이름 시작 부분일수록 상위) 기준으로, 그다음 이름 길이(짧을수록 상위) 기준으로 정렬돼요.
- 각 결과에는 폴더의 breadcrumb 경로가 포함돼요(예:
"Engineering > Q1 Planning > Sprint 1"). - 빈 keyword는 모든 폴더를 페이지네이션과 함께 반환해요.
- 하위 호환을 위한 이중 응답 필드:
content(권장)와folders(레거시 별칭).
v1 구현 참고: 이 도구들은 호출할 때마다 상위 폴더 트리를 한 번 가져와 서버 측에서 필터링해요. 네이티브 백엔드 폴더 검색 endpoint는 v2 로드맵에 있어요. 추가되더라도 MCP 시그니처는 동일하게 유지돼요. 이는 구현 세부 사항이에요.
파라미터
search_private_folders와 search_team_folders는 동일한 파라미터를 받아요:
keyword (선택)
대소문자를 구분하지 않는 부분 문자열 매칭이에요. 검색은 한국어, 일본어, 중국어를 비롯한 CJK 텍스트를 안정적으로 처리하기 위해 NFC(Canonical Decomposition 후 Canonical Composition)로 정규화돼요. 빈 keyword이거나 생략하면 모든 폴더를 페이지네이션과 함께 반환해요. 예시:"general"은"0.General","General","general-things"에 매칭돼요(매칭 위치, 그다음 이름 길이 순으로 정렬)."네이버"는"네이버 모니터링","0.네이버","팀별 > 네이버"에 매칭돼요.
cursor (선택)
다음 페이지를 가져오려면 이전 응답의nextCursor를 전달하세요. 첫 페이지에서는 생략하세요.
size (선택)
페이지당 결과 수예요. 기본값30, 최대 100이에요. 페이지가 작을수록 응답이 빠르고, 클수록 왕복 횟수가 줄어요.
응답 형식
성공 응답 (search_private_folders)
응답에는 하위 호환을 위해
content(권장, 최신 명명)와 folders(레거시 별칭)가 모두 포함돼요. 둘은 같은 배열 객체를 참조하므로 코드에서 선호하는 쪽을 고르고 다른 쪽은 무시하세요.사용 예시
예시 1: search_private_folders — 단순 keyword
요청:예시 2: search_team_folders — 한국어 keyword
요청:예시 3: 모든 폴더 열거 (빈 keyword)
요청:예시 4: 페이지네이션
첫 페이지 (cursor 생략):정렬 순서
결과는 매칭 위치 기준으로, 그다음 폴더 이름 길이 기준(매칭 위치가 같으면 짧은 이름이 상위)으로 정렬돼요:-
매칭 위치 오름차순 —
name이 keyword로 시작하는 폴더가 이름 뒷부분에서 keyword를 포함하는 폴더보다 상위에 와요.keyword="general"→"General"(위치 0)이"0.General"(위치 2)보다 상위.
-
이름 길이 오름차순 — 매칭 위치가 같으면 짧은 이름이 상위에 와요.
- 둘 다 위치 0에서 “gen”에 매칭:
"General"(7자)이"General Announcements"(21자)보다 상위.
- 둘 다 위치 0에서 “gen”에 매칭:
권장 사례
API key 타입이 아니라 폴더 타입으로 도구를 고르세요
API key 타입이 아니라 폴더 타입으로 도구를 고르세요
search_private_folders는 개인(공유되지 않은) 폴더를 검색하고, search_team_folders는 팀(워크스페이스 공유) 폴더를 검색해요. 둘 다 mcp:folders:read scope가 있는 key면 받아요. 도구는 폴더 타입으로 고르세요. 매칭되는 폴더가 없으면 결과는 오류가 아니라 빈 목록이에요.workspaceGuid로 특정 워크스페이스를 대상으로 하기
workspaceGuid로 특정 워크스페이스를 대상으로 하기
두 도구 모두 기본적으로 API key의 워크스페이스에서 동작해요. 접근 가능한 다른 워크스페이스의 폴더를 검색하려면
list_workspaces에서 얻은 명시적인 workspaceGuid를 전달하세요.CJK 텍스트는 NFC 정규화에 맡기세요
CJK 텍스트는 NFC 정규화에 맡기세요
한국어, 일본어, 중국어 텍스트는 서버 측에서 자동으로 NFC 정규화돼요. keyword를 미리 전처리할 필요 없이 원본 텍스트를 그대로 전달하면 매칭 엔진이 알아서 처리해요.예시:
keyword="네이버"는 같은 텍스트의 결합형 또는 분해형 폴더에 모두 매칭돼요.offset이 아니라 nextCursor로 페이지네이션하세요
offset이 아니라 nextCursor로 페이지네이션하세요
항상 이전 응답에서 반환된
nextCursor를 사용하세요. offset을 직접 계산하려고 하지 마세요. 페이지네이션 동작은 향후 릴리스에서 바뀔 수 있어요.모든 폴더를 열거하려면 빈 keyword를 사용하세요
모든 폴더를 열거하려면 빈 keyword를 사용하세요
필터 없이 폴더의 전체 목록을 가져오려면
keyword를 생략하거나 빈 문자열을 전달하세요. size와 nextCursor로 전체 결과 집합을 페이지네이션하세요.자주 발생하는 오류
권한 scope 부족
해결 방법: API key에mcp:folders:read scope가 없어요. 올바른 scope로 새 key를 발급하거나 워크스페이스 관리자에게 권한 부여를 요청하세요.
토큰 사용량
폴더 검색은 가벼워요. 결과에는 콘텐츠가 아니라 이름과 경로만 포함돼요.
scope 요구 사항
search_private_folders와 search_team_folders는 모두 mcp:folders:read scope가 필요해요. API key는 Tiro Platform API Keys에서 구성하세요.
관련 도구
list_notes—filter.folderId를 사용해 특정 폴더 안의 노트를 찾아요(별도의 “폴더 목록” 도구가 필요 없어요).search_notes—filter.folderId로 폴더 안의 노트를 검색해요(keyword가 필수인 심층 검색).