Kollus
Server Details
Query your Kollus video platform in natural language — VOD content, analytics, and docs.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- mcp.kollus.com
TDQS
Scored across 10 tools
Each tool targets a distinct resource/action: media contents (list vs single-item get), categories, channels, encoding profiles, two clearly separated statistics tools, docs browse vs docs search, and one write tool for support tickets. The descriptions actively disambiguate the risky pairs (summary_daily vs content_rank, list_media_contents vs get_content_detail, list_docs_index vs search_docs) with explicit cross-references. No two tools appear to do the same thing.
Most tools follow a verb_noun pattern (list_media_contents, get_content_detail, search_docs, create_support_ticket), but three tools break it with a vod_ noun-first prefix (vod_category_list, vod_channel_list, vod_encoding_profile_list), putting the verb at the end. The grouping is systematic and readable, but it is a mixed convention rather than a uniform one.
Ten tools is well within the sweet spot and each one maps to a real need: content, category, channel, profile inspection, two statistics scopes, two documentation access paths, and a single escalation path. Nothing looks redundant or padding.
Read-side coverage is solid for a diagnostics/consulting assistant: discovery (lists), drill-down (get detail), reference data (profiles, categories, channels), analytics, docs, and an escape hatch to support. Gaps remain on the write/mutating side (no content create/update/delete, no channel-content registration that issues media_content_key, no playback URL generation), though these may be intentionally out of scope and are partly addressable via docs search.
Available Tools
10 toolscreate_support_ticketKollus 기술지원 문의 접수AInspect
인덱싱된 docs·spec·samples·guidance·anti-patterns 어디에서도 답을 찾지 못했거나 사용자가 직접 Kollus 기술지원팀(PE)에 문의를 남기고 싶을 때, Catenoid 기술지원 데스크(Freshdesk)에 지원 티켓 1건을 생성한다 (POST /api/v2/tickets). 이 tool 은 읽기 전용이 아닌 유일한 쓰기 tool — 실제로 외부에 문의가 접수되므로, 호출 전 반드시 사용자에게 제목·본문·이름을 확인받고 동의를 얻을 것.
문의자 식별: 회신 이메일은 연동된 Kollus 계정 이메일로 자동 지정된다 (입력 불가). Kollus 계정이 연동된 상태에서만 접수할 수 있다. name 은 모르면 사용자에게 물어본 값을 넣는다. 본문(description)은 증상·재현 절차·관련 콘텐츠 키·에러 메시지를 구체적으로 작성할수록 응대가 빠르다. 접수는 1시간에 최대 5건, 참조(CC)는 최대 7개.
인증: Freshdesk 자격증명은 서버에 보관되며 고객사 토큰과 무관하다 — 호출자가 별도 키를 넘길 필요 없다. 성공 시 생성된 티켓의 id·상태 등이 반환된다.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 문의자 이름. AI 가 모르면 사용자에게 물어볼 것. | |
| phone | No | 선택. 유선 연락이 필요한 경우 연락처. | |
| status | No | 선택. 상태 2=Open, 3=Pending, 4=Resolved, 5=Closed. 기본 2(Open). | |
| subject | Yes | 문의 제목 (한 줄 요약). | |
| cc_emails | No | 선택. 참조(CC)로 받을 이메일 주소 목록 (최대 7개). | |
| description | Yes | 문의 본문. 증상·재현 절차·관련 콘텐츠 키(upload_file_key 등)·에러 메시지·환경을 구체적으로. 평문으로 작성하면 줄바꿈은 자동으로 <br> 로 변환된다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses that this is the only write tool, that the ticket is genuinely submitted to an external party, that the requester email is auto-assigned from the linked account and cannot be supplied, that Freshdesk credentials live server-side, that the rate limit is 5 tickets per hour, that CC is capped at 7, and that the created ticket id and status are returned. These are exactly the facts an agent needs before committing a real external side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The trigger condition and the consent requirement are front-loaded, and the remaining paragraphs are organized by topic (identity, body content, limits, auth). It is longer than strictly necessary, with some redundancy such as repeating the CC maximum of 7 that the schema already enforces.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent, open-world write tool with six parameters and no output schema, the description covers the trigger, prerequisites, required user consent, identity handling, rate limits, authentication, and the shape of the success response. Nothing an agent needs to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so 3 is the baseline, but the description adds meaning the schema does not: it explains that the reply email cannot be passed as input at all, that the name value should be elicited from the user rather than invented, and what content makes a good body (symptoms, reproduction steps, content keys, error messages). It does restate the CC cap of 7 and the rate limit already implied by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (create one support ticket on the Catenoid Freshdesk desk, POST /api/v2/tickets) and explicitly distinguishes itself from all siblings by noting it is the only write tool among them. An agent can tell immediately that this is not a docs or VOD lookup tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger condition (only when the answer cannot be found in indexed docs, specs, samples, guidance, or anti-patterns, or when the user explicitly wants to contact the PE team) plus a hard precondition (a linked Kollus account is required) and a mandatory pre-call step (confirm subject, body, and name with the user and obtain consent).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_content_detail영상 상세 메타데이터 조회ARead-onlyIdempotentInspect
특정 영상 1건의 메타데이터를 조회한다 (GET /media-contents/{upload_file_key}). 응답 필드는 list_media_contents 항목과 같은 구조: 제목·카테고리·재생 길이(duration), 암호화 적용 여부(use_encryption), 트랜스코딩 진행 상태(transcoding_stage), 패스스루 여부(is_passthrough), media_information(컨테이너·비디오·오디오 코덱/비트레이트/해상도), 원본 파일명·용량, 포스터·스냅샷 URL, media_content_keys(채널 등록 시 발급되는 채널별 키), 등록·트랜스코딩 완료·수정 일시 등. DRM 정책 세부(Widevine/PlayReady/FairPlay 등), 콜백 URL, 재생 만료 정책, 자막 트랙, 적용된 인코딩 프로파일은 응답에 포함되지 않는다. 트랜스코딩 실패·암호화 여부·파일 속성 1차 확인에 사용. upload_file_key 를 모르면 list_media_contents 부터 사용.
Region 선택: 인자 region="kr"|"jp" (기본 "kr"). 사용자 컨텍스트로 결정. 모호하면 사용자에게 명시적 확인 후 호출. 상세 매핑 kollus://guidance/regions. 정식 모드 연동은 계정에 등록된 region 이 이 인자보다 항상 우선 적용된다(계정당 region 고정, 혼용 불가).
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | API region 선택. 기본 "kr" (글로벌 사용자도 kr 사용). 사용자가 일본법인·일본 콘솔(c-jp.kollus.com 등)·일본 자격증명을 쓰는 경우 "jp". 모호하면 사용자에게 확인 후 선택 — 추측 금지 (wrong-region 호출은 401). 도메인 매핑 단일 진실원천: kollus://guidance/regions. | |
| upload_file_key | Yes | Kollus 영상의 고유 식별자 (upload_file_key). list_media_contents 응답 항목의 upload_file_key, 또는 Kollus VOD 콘솔 > [라이브러리] > 콘텐츠 제목 클릭 > [기본] 탭에서 확인. 이전 API 의 media_content_id(정수)를 대체한 값이며, get_statistics_content_rank 응답의 content_id 와는 다른 값이다 (content_rank 에서는 upload_key 가 upload_file_key 에 해당). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered and the description's real contribution is the negative-space list: DRM policy details, callback URL, playback expiry, subtitle tracks and encoding profiles are NOT returned. That is genuinely useful for an agent deciding whether this tool answers its question. However, it does not say what happens on a missing/inaccessible key (only that wrong region yields 401) nor whether a tombstoned or untranscoded item still returns a body, which matters for a lookup tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and the not-included list earns its space, but the response-field enumeration is a long inline run of field names that could be compressed, and the region paragraph restates what the schema already says about defaults and ambiguity. Dense but with real redundancy against structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read with no output schema, the description supplies the return-value inventory and the explicit exclusions, so an agent knows what it will and won't get back. Remaining gap is error/empty-case behavior (nonexistent key, still-transcoding item) on a tool where the annotation set is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are richly documented, so the schema carries most of the weight. The description still adds meaning not present in the schema: the account-level region always wins over the 'region' argument and mixed regions per account are impossible, which changes what passing 'region' actually does. The upload_file_key vs media_content_id vs content_id disambiguation is largely duplicated from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource in one line ('특정 영상 1건의 메타데이터를 조회한다') and pins it to the endpoint GET /media-contents/{upload_file_key}. It explicitly contrasts with the sibling list_media_contents ('응답 필드는 list_media_contents 항목과 같은 구조'), so an agent can separate single-item fetch from list without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete use cases (트랜스코딩 실패·암호화 여부·파일 속성 1차 확인) and an explicit fallback: if upload_file_key is unknown, start from list_media_contents. Region selection adds an escalation rule — decide from user context, ask the user when ambiguous, never guess — plus the exclusion case where account-registered region overrides the argument.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statistics_content_rank콘텐츠 시청 순위ARead-onlyIdempotentInspect
지정 기간(start_date~end_date) 동안의 영상별 시청 순위를 조회한다 (GET /statistics/content-rank). 조회 기간 제약 — 최근 1년 이내 날짜만 조회 가능하며 1회 최대 검색 기간은 3개월. 키워드로 필터링 가능, start_index/limit 으로 페이지네이션. 계정 전체의 일별 시계열 요약은 get_statistics_summary_daily 사용. 응답은 5분간 캐시.
Region 선택: 인자 region="kr"|"jp" (기본 "kr"). 사용자 컨텍스트로 결정. 모호하면 사용자에게 명시적 확인 후 호출. 상세 매핑 kollus://guidance/regions. 정식 모드 연동은 계정에 등록된 region 이 이 인자보다 항상 우선 적용된다(계정당 region 고정, 혼용 불가).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 최대 결과 개수. 0 을 주면 전체. 미지정 시 서버 기본 10 | |
| region | No | API region 선택. 기본 "kr" (글로벌 사용자도 kr 사용). 사용자가 일본법인·일본 콘솔(c-jp.kollus.com 등)·일본 자격증명을 쓰는 경우 "jp". 모호하면 사용자에게 확인 후 선택 — 추측 금지 (wrong-region 호출은 401). 도메인 매핑 단일 진실원천: kollus://guidance/regions. | |
| keyword | No | 영상 제목 부분 일치 키워드 필터 | |
| end_date | Yes | 조회 범위 종료 날짜. 대시 없는 YYYYMMDD 형식 (예: 20260201). 1회 최대 검색 기간은 3개월입니다. | |
| start_date | Yes | 조회 범위 시작 날짜. 대시 없는 YYYYMMDD 형식 (예: 20260101). 최근 1년 이내의 날짜만 조회 가능합니다. | |
| start_index | No | 결과 리스트 시작 번호 (페이지네이션). 미지정 시 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations it discloses a 5-minute response cache, that a wrong-region call yields 401, and that an account-registered region overrides the region argument so regions cannot be mixed. These are operational traits an agent cannot infer from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose, then constraints, then the sibling reference, then a labeled 'Region 선택' block. Dense but well organized; some repetition of date limits already present in the schema descriptions costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only ranked-list tool with no output schema, the definition covers scope, limits, caching, pagination and region selection. It stops short of describing what the ranked response contains (fields per video), a minor remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already carries parameter documentation; the description reinforces the date window and pagination semantics. It adds one genuinely new rule not present in the schema — that the account-registered region always takes precedence over the region argument — which earns it above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource (영상별 시청 순위 조회) and even the underlying endpoint GET /statistics/content-rank. It explicitly distinguishes itself from the sibling get_statistics_summary_daily by scoping that one to account-wide daily time series.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the retrieval window constraints (within the last year, max 3 months per query), names the alternative tool for a different need, and gives an explicit decision procedure for the region argument including 'confirm with the user when ambiguous, never guess'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statistics_summary_daily일별 통계 요약ARead-onlyIdempotentInspect
계정 전체의 일별 통계 요약을 조회한다 (GET /statistics/summary-daily). 지정한 날짜 범위(start_date~end_date)의 기간 합계와 일자별 시계열(daily_data[])을 반환: 전송량 transfer/total_transfer(bytes), 트래픽 대역폭 traffic/max_traffic(bps), 스토리지 storage/total_storage/max_storage(bytes), 트랜스코딩 용량 transcoding_size(bytes)·처리 횟수 transcoding_count, 방문자 수 visitor/total_visitor(Unique Visitor). 재생 수·시청 시간 필드는 없다 — 영상별 조회 수·재생 횟수는 get_statistics_content_rank 를 사용. 조회 기간 제약 — 최근 1년 이내 날짜만 조회 가능하며 1회 최대 검색 기간은 3개월(긴 기간은 3개월 단위로 나눠 호출). 응답은 5분간 캐시. group_by(device/region/cdn) 류 분포는 현재 Kollus REST API 미지원.
Region 선택: 인자 region="kr"|"jp" (기본 "kr"). 사용자 컨텍스트로 결정. 모호하면 사용자에게 명시적 확인 후 호출. 상세 매핑 kollus://guidance/regions. 정식 모드 연동은 계정에 등록된 region 이 이 인자보다 항상 우선 적용된다(계정당 region 고정, 혼용 불가).
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | API region 선택. 기본 "kr" (글로벌 사용자도 kr 사용). 사용자가 일본법인·일본 콘솔(c-jp.kollus.com 등)·일본 자격증명을 쓰는 경우 "jp". 모호하면 사용자에게 확인 후 선택 — 추측 금지 (wrong-region 호출은 401). 도메인 매핑 단일 진실원천: kollus://guidance/regions. | |
| end_date | Yes | 조회 범위 종료 날짜. 대시 없는 YYYYMMDD 형식 (예: 20260201). 1회 최대 검색 기간은 3개월입니다. | |
| start_date | Yes | 조회 범위 시작 날짜. 대시 없는 YYYYMMDD 형식 (예: 20260101). 최근 1년 이내의 날짜만 조회 가능합니다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: response is cached for 5 minutes, the 1-year/3-month window limits, the account-registered region always overrides the region argument (region is fixed per account, no mixing), and a wrong-region call yields 401. These are exactly the operational constraints an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then returns, then exclusions, then constraints — a sensible ordering with no filler sentences. It is dense and information-heavy for one paragraph, but nearly every clause carries operational value; the region explanation is somewhat redundant with the schema text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by describing the return shape (period totals plus a daily_data[] time series with named fields and units). Combined with the limits, caching, and region precedence notes, nothing needed to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not convey: region is fixed per account and the account-level region silently overrides the passed argument, and the period arguments must be split when exceeding 3 months. The region resolution pointer to kollus://guidance/regions is repeated from the schema but the precedence rule is genuinely new.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource (daily statistics summary) with the exact endpoint stated, and it enumerates the returned metric families (transfer, traffic, storage, transcoding, visitor) with units. It explicitly excludes play-count/watch-time fields and names the sibling get_statistics_content_rank for those, so the agent can distinguish it from siblings without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use rules: date range must be within the last year, max 3 months per call with long ranges split into 3-month chunks, and play-count requests must be routed to get_statistics_content_rank. It also states that group_by-style distributions (device/region/cdn) are unsupported by the REST API, preventing a wasted attempt.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_docs_index문서 색인 목록 조회ARead-onlyIdempotentInspect
Kollus 가이드·에러 코드 사전·보충 가이드·anti-pattern 문서의 색인을 폴더 트리로 탐색한다. path 없이(또는 "/") 호출하면 전체 폴더 맵(폴더 경로별 재귀 문서 수)을 반환하고, 특정 폴더 경로(예: "dev-guide/vod")를 주면 그 폴더에 바로 속한 문서 목록(id·title·description)과 하위 폴더를 반환한다. id 는 MCP resource_uri(kollus://…) 그대로이며, 본문이 필요하면 그 id 를 MCP resource 로 읽는다. OpenAPI 스펙·샘플 코드는 포함하지 않는다.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | 탐색할 폴더 경로. 생략 또는 "/" 이면 전체 폴더 맵(모든 폴더 경로 + 각 폴더의 재귀 문서 수)을 반환한다. 특정 폴더(예: "dev-guide/vod")를 주면 그 폴더에 바로 속한 문서 목록(id·title·description)과 즉시 하위 폴더 목록을 반환한다. kollus:// 접두사는 붙여도 되고 생략해도 된다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered; the description goes further by spelling out exactly what each mode returns (folder paths with recursive document counts versus id/title/description plus immediate subfolders). That return-shape disclosure is especially valuable because no output schema exists, and it clarifies that ids are kollus:// resource URIs rather than opaque handles.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the no-path default come first, followed by the path-specific behavior, then the id/resource follow-up and the exclusion. Every clause earns its place, though the stacked parentheticals make individual sentences dense and slightly harder to scan than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter read tool with no output schema, the description covers everything an agent needs: both return modes, the shape of returned fields, how to follow up on an id, and what content is out of scope. No annotation or schema gap is left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single path parameter is already documented in detail, including the "/" and "dev-guide/vod" examples and the optional kollus:// prefix. The description restates that meaning accurately but adds no syntax or edge-case detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action and resource: traversing the index of Kollus guides, error-code dictionary, supplementary guides, and anti-pattern docs as a folder tree. It also distinguishes the two operating modes (no path = full folder map; specific path = documents in that folder), so an agent can separate this browsing tool from search_docs or get_content_detail without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear call patterns: omit path or pass "/" for the whole map, pass a folder path for a local listing, and read the returned id as an MCP resource when the body is needed. It also states an explicit scope exclusion (no OpenAPI specs or sample code), but never names a sibling tool such as search_docs as the alternative for keyword lookup, so routing guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_media_contents영상 목록 조회ARead-onlyIdempotentInspect
⚠️ 절대 사용 금지 케이스: 자체 CMS·관리자 사이트·자체 DB 동기화 목적의 주기적 호출(폴링·setInterval·refetchInterval). 내부 툴이라도 동일하게 안티패턴이다. 이 의도가 보이면 본 tool 호출 전에 kollus://anti-patterns/cms-admin-site 을 먼저 사용자에게 안내하고, 플랫폼 콜백 + 자체 DB 미러링 패턴으로 가도록 권장할 것.
Kollus 계정의 VOD 영상(콘텐츠) 목록을 페이지 단위로 조회한다. category_key 미지정 시 전체 목록 (GET /media-contents), category_key 지정 시 해당 카테고리 소속 영상만 조회 (GET /categories/{key}/media-contents). 카테고리 키는 vod_category_list 로 확인. 키워드, 트랜스코딩 상태(state), 암호화/활성화 상태, 콘텐츠 유형, 원본·자막 보유 여부, 조회 범위 날짜(start_date·end_date)로 추가 필터링 가능. 응답 항목의 upload_file_key 를 get_content_detail 에 넘기면 해당 1건만 조회 (필드 구조는 목록 항목과 동일). 통계는 계정 일별 전송량·트래픽·방문자 등은 get_statistics_summary_daily, 영상별 조회 수·재생 횟수는 get_statistics_content_rank 사용.
권장 사용 케이스: AI 어시스턴트의 1회성 조회, 운영 시작 시점의 1회성 backfill, 사용자 트리거 단발 새로고침, 디버그·진단용 임시 조회. 이 외엔 list 폴링이 아닌 push 기반 동기화로 가야 한다.
Region 선택: 인자 region="kr"|"jp" (기본 "kr"). 사용자 컨텍스트로 결정. 모호하면 사용자에게 명시적 확인 후 호출. 상세 매핑 kollus://guidance/regions. 정식 모드 연동은 계정에 등록된 region 이 이 인자보다 항상 우선 적용된다(계정당 region 고정, 혼용 불가).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 조회 페이지 번호 (1부터) | |
| order | No | 정렬 기준. 기본 created_at|desc (최신순). field|desc 또는 field|asc 형식. | |
| state | No | 트랜스코딩 진행 상태 필터: completed=완료, transcoding=진행 중, error=실패 | |
| region | No | API region 선택. 기본 "kr" (글로벌 사용자도 kr 사용). 사용자가 일본법인·일본 콘솔(c-jp.kollus.com 등)·일본 자격증명을 쓰는 경우 "jp". 모호하면 사용자에게 확인 후 선택 — 추측 금지 (wrong-region 호출은 401). 도메인 매핑 단일 진실원천: kollus://guidance/regions. | |
| keyword | No | 영상 제목·태그 부분 일치 검색어 | |
| publish | No | 콘텐츠 활성화 상태 필터: published=활성, not_published=비활성 | |
| end_date | No | 조회 범위 종료 날짜 (YYYY-MM-DD) | |
| per_page | No | 페이지당 결과 개수 (기본 20, 최대 100) | |
| encryption | No | 콘텐츠 암호화(DRM) 적용 상태 필터: encrypted=암호화됨, not_encrypted=비암호화 | |
| start_date | No | 조회 범위 시작 날짜 (YYYY-MM-DD) | |
| category_key | No | 카테고리 키 — 지정 시 해당 카테고리에 분류된 영상만 조회 (GET /categories/{key}/media-contents). 카테고리 키를 모르면 vod_category_list 로 먼저 확인. | |
| content_type | No | 콘텐츠 유형 필터: audio=오디오, video=비디오 | |
| exist_original | No | 원본 파일 보유 상태 필터: 0=원본 없음, 1=원본 저장됨 | |
| exist_subtitle | No | 자막 등록 상태 필터: 0=미등록, 1=등록 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint/openWorldHint, yet the description still adds real context: wrong-region calls return 401, an account-registered region always overrides the region argument (region is fixed per account and cannot be mixed), and category_key switches the underlying endpoint. What is missing is anything about result volume or pagination limits beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is useful but the anti-pattern warning is a long preamble that pushes the actual purpose statement into the second block, so the definition is not front-loaded by what the tool does. The region and category_key rules are also restated from the schema, adding some redundancy to an already multi-paragraph description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter read-only list tool with no output schema, the description covers filtering, region selection, sibling handoffs, and the upload_file_key-to-get_content_detail chaining, which hints at response shape. It stops short of describing the returned list envelope or pagination totals, which an agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all 14 parameters, including region and category_key. The description adds only the region decision policy ('사용자 컨텍스트로 결정, 모호하면 확인', account region overrides) and the endpoint branching for category_key, which is modest added meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Kollus 계정의 VOD 영상(콘텐츠) 목록을 페이지 단위로 조회한다') and disambiguates the two backing endpoints depending on category_key. It also explicitly hands off adjacent jobs to siblings: single-item lookup to get_content_detail, daily traffic stats to get_statistics_summary_daily, per-video play counts to get_statistics_content_rank.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit anti-use case (polling/setInterval/refetchInterval for CMS or DB mirroring) with the resource to consult instead, then lists concrete recommended scenarios (one-off query, backfill at ops start, user-triggered refresh, debugging). Alternatives for adjacent needs are named by tool, not left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsKollus 문서·샘플 코드 검색ARead-onlyIdempotentInspect
Kollus 가이드·OpenAPI 명세·샘플 코드·에러 코드 사전을 키워드(query)로 검색한다. 결과 항목은 title·section·snippet·resource_uri·relevance_score 를 포함한다. 실제 문서 본문이 필요하면 그 resource_uri(또는 list_docs_index 의 id) 값을 resource_uri 인자로 다시 호출하면 해당 문서 본문 전체를 반환한다(키워드 검색 없이 1건만 — 토큰 절감).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 결과 개수 (1~50, 기본 20). 일부 문서는 관련 쿼리에서만 노출되니 20 이상 권장, 못 찾으면 50으로 재시도. | |
| query | No | 검색어(공백으로 구분한 키워드). resource_uri 로 특정 문서 본문을 바로 가져올 때는 생략 가능. 문서 본문이 한국어라 한국어 키워드가 가장 잘 매칭되고, API명·endpoint·필드명·에러 코드·DRM명(Widevine 등)은 영문 식별자를 그대로 둔다. 예: "drm callback", "원타임 url 만료" | |
| doc_type | No | 문서 타입 필터. guide=사용 가이드(보충 가이드 guidance·안티패턴 전체 포함 — guidance 의 에러 코드 진단 가이드도 여기), api_spec=OpenAPI 명세(vod/live yaml)와 공식 docs 의 api 경로 문서, sample_code=샘플 코드, error_reference=공식 docs 중 에러 코드·트러블슈팅(troubleshooting) 경로 문서. | |
| language | No | 문서 언어 필터. ⚠️ 현재 인덱싱된 모든 docs/spec/sample/guidance/anti-pattern 은 한국어(ko) 라 `en` 또는 `ja` 를 지정하면 결과가 비게 된다. 사용자 질문이 영문/일본어여도 이 필터는 비워두고 쿼리만 보낼 것 (Kollus docs 는 영문 식별자·API 명·에러 코드를 그대로 쓰므로 영문 키워드도 잘 매칭됨). i18n 인덱싱 들어가면 그때 활성화. | |
| resource_uri | No | 특정 문서 1건의 본문을 바로 가져올 문서 id. list_docs_index 가 준 id(또는 이 검색 결과의 resource_uri) 값(kollus://…)을 그대로 넣는다. 이 값을 주면 키워드 검색 대신 해당 문서 본문 전체를 반환한다(query 는 무시). 이미 어떤 문서인지 특정된 상태면 20건 snippet 검색보다 훨씬 가볍다. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, closed world), and the description adds real context on top: the return fields (title, section, snippet, resource_uri, relevance_score), the round-trip fetch pattern, and the token-cost tradeoff between snippet search and single-document retrieval. It does not discuss ranking or pagination behavior, which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the search scope, then return fields, then the follow-up fetch pattern. Dense and mostly earned, though the nested parentheticals make it slightly heavy for what it conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by naming the result fields and the resource_uri fetch path. Combined with the fully documented schema, an agent has what it needs, with only result ordering and result-set sizing left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds workflow meaning: resource_uri may be fed from a prior search result or a list_docs_index id, and doing so returns the full body with query ignored. That explains how the two parameters interact rather than restating their definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource set (search Kollus guides, OpenAPI specs, sample code, error-code dictionary by keyword query) and lists the exact result fields. It also distinguishes itself from list_docs_index by describing the two-step search-then-fetch flow, so an agent can route correctly without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the second mode: when the document is already identified, pass resource_uri (or a list_docs_index id) instead of doing a keyword search, and notes that this avoids pulling 20 snippets. It lacks a clear when-not-to-use statement versus browsing tools, but the mode selection guidance is concrete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vod_category_listVOD 카테고리 목록 조회ARead-onlyIdempotentInspect
⚠️ 절대 사용 금지 케이스: 자체 CMS·관리자 사이트·자체 DB 동기화 목적의 주기적 호출(폴링·setInterval·refetchInterval). 카테고리는 변경 빈도가 매우 낮은 메타데이터라 폴링은 특히 낭비다. 이 의도가 보이면 본 tool 호출 전에 kollus://anti-patterns/cms-admin-site 을 먼저 사용자에게 안내할 것.
Kollus VOD 카테고리 트리를 조회한다 (GET /categories). 각 카테고리 항목은 key·name·parent_key·level·children_exist·position 등을 포함. parent_key 가 null 이면 최상위 카테고리, level 필드로 트리 깊이 확인. parent_category_key 미지정 시 전체 카테고리(계층 무관) 반환, 지정 시 해당 상위의 모든 하위(자손) 카테고리. 카테고리에 연결된 채널 요약(channels[])도 함께 응답에 포함.
권장 사용 케이스: AI 가 영상 분류 구조를 파악해야 하는 1회성 조회, 운영 시작 시점의 카테고리 매핑 backfill, 사용자 트리거 단발 조회, 디버그·진단용 임시 조회.
페이징: 카테고리는 보통 100개 이하라 기본 호출 1회로 전체 수신. 100개 초과 케이스에선 pagination.total 보고 page 를 증가시켜 모든 페이지 수집할 것.
Region 선택: 인자 region="kr"|"jp" (기본 "kr"). 사용자 컨텍스트로 결정. 모호하면 사용자에게 명시적 확인 후 호출. 상세 매핑 kollus://guidance/regions. 정식 모드 연동은 계정에 등록된 region 이 이 인자보다 항상 우선 적용된다(계정당 region 고정, 혼용 불가).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 조회 페이지 번호 (1부터) | |
| order | No | 정렬 기준. 기본 name_asc (이름 오름차순). | |
| region | No | API region 선택. 기본 "kr" (글로벌 사용자도 kr 사용). 사용자가 일본법인·일본 콘솔(c-jp.kollus.com 등)·일본 자격증명을 쓰는 경우 "jp". 모호하면 사용자에게 확인 후 선택 — 추측 금지 (wrong-region 호출은 401). 도메인 매핑 단일 진실원천: kollus://guidance/regions. | |
| per_page | No | 페이지당 결과 개수 (기본 100, 최대 100). 카테고리는 메타데이터라 보통 100개 이하 → 1회 호출로 전체 수신. 100개 초과 시 응답의 pagination.total · pagination.current_page 를 확인해 page 증가시켜 추가 호출. | |
| parent_category_key | No | 상위 카테고리 키. 지정 시 해당 상위의 모든 하위(자손) 카테고리 반환. 미지정 시 전체 카테고리 (계층 무관). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds behavior well beyond them: wrong-region calls return 401, the account's registered region overrides the region argument and cannot be mixed, and the response embeds channels[] summaries. It also discloses pagination behavior (default 100, usually one call suffices, check pagination.total to continue).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The critical anti-pattern warning is correctly front-loaded and the text is sectioned by concern, which helps. However, the region paragraph and the pagination paragraph substantially duplicate what the region and per_page schema descriptions already say, so several sentences do not add information beyond structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the response shape (per-category fields plus channels[] and pagination.total/current_page). For a read-only, zero-required-parameter listing tool, an agent has everything needed to call it correctly and to iterate pages.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description nonetheless adds real meaning about region selection (decide from user context, confirm when ambiguous, account region wins, 401 on mismatch) and about parent_category_key returning all descendants versus the full tree when omitted. The page/per_page guidance largely restates the schema, so it is not fully additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("Kollus VOD 카테고리 트리를 조회한다 (GET /categories)") and enumerates the returned fields (key, name, parent_key, level, children_exist, position, channels[]). The hierarchy semantics (parent_key=null means top-level, level indicates depth) let an agent distinguish this tree-listing call from flat listing siblings such as vod_channel_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states an explicit prohibition (no polling/setInterval/refetchInterval for CMS or DB sync) and redirects to kollus://anti-patterns/cms-admin-site, then lists four recommended one-shot use cases. What is missing is any explicit routing against sibling tools (e.g., vod_channel_list for channel-focused needs), so the alternative-selection half of the guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vod_channel_listVOD 채널 목록 조회ARead-onlyIdempotentInspect
⚠️ 절대 사용 금지 케이스: 자체 CMS·관리자 사이트·자체 DB 동기화 목적의 주기적 호출(폴링·setInterval·refetchInterval). 내부 툴이라도 동일하게 안티패턴이다. 이 의도가 보이면 본 tool 호출 전에 kollus://anti-patterns/cms-admin-site 을 먼저 사용자에게 안내할 것.
Kollus VOD 채널 목록을 조회한다 (GET /channels). VOD 채널은 영상 콘텐츠를 묶는 배포용 그룹 단위로, Live API 의 실시간 방송 채널과는 별개의 개념. 콘텐츠를 채널에 등록하면 채널별 media_content_key(재생 URL 생성·API 연동용 배포 키)가 발급된다.
응답 항목 주요 필드: key(채널 키), name, description, default(기본 채널 여부), is_shared(공유 정책), is_encrypted(암호화 전용), use_pingback / pingback_url / play_callback_url(콜백 설정), use_referer_check / referer_check_domains(레퍼러 접근 제어), use_pc_download / use_mobile_download(다운로드 정책), count_of_contents(채널 내 콘텐츠 수), position, status, created_at, updated_at 등. count_of_contents 는 해당 채널에 등록된 콘텐츠 수이며, 채널에 등록되지 않은 라이브러리 콘텐츠는 포함되지 않아 채널별 합계가 list_media_contents 전체 수와 다를 수 있다.
권장 사용 케이스: AI 가 채널 구조를 파악해야 하는 1회성 조회, 운영 시작 시점의 채널 매핑 backfill, 사용자 트리거 단발 조회, 디버그·진단용 임시 조회.
페이징: 채널은 보통 100개 이하라 기본 호출 1회로 전체 수신. 100개 초과 케이스에선 pagination.total 보고 page 를 증가시켜 모든 페이지 수집할 것.
Region 선택: 인자 region="kr"|"jp" (기본 "kr"). 사용자 컨텍스트로 결정. 모호하면 사용자에게 명시적 확인 후 호출. 상세 매핑 kollus://guidance/regions. 정식 모드 연동은 계정에 등록된 region 이 이 인자보다 항상 우선 적용된다(계정당 region 고정, 혼용 불가).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | 조회 페이지 번호 (1부터) | |
| order | No | 정렬 기준. 기본 position_asc (노출 순서). | |
| region | No | API region 선택. 기본 "kr" (글로벌 사용자도 kr 사용). 사용자가 일본법인·일본 콘솔(c-jp.kollus.com 등)·일본 자격증명을 쓰는 경우 "jp". 모호하면 사용자에게 확인 후 선택 — 추측 금지 (wrong-region 호출은 401). 도메인 매핑 단일 진실원천: kollus://guidance/regions. | |
| status | No | 채널 활성화 상태 필터: 0=비활성, 1=활성 | |
| per_page | No | 페이지당 결과 개수 (기본 100, 최대 100). 채널은 배포 단위 메타데이터라 보통 100개 이하 → 1회 호출로 전체 수신. 100개 초과 시 응답의 pagination.total · pagination.current_page 를 확인해 page 증가시켜 추가 호출. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses that account-registered region always overrides the region argument (mixing not allowed), that a wrong-region call returns 401, and the pagination behavior for >100 channels. It also flags that count_of_contents excludes unregistered library content, which is a non-obvious data caveat.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Paragraphs are clearly front-loaded by topic (prohibition, purpose, response fields, recommended uses, paging, region) and each block earns its place, including the long response-field enumeration that substitutes for a missing output schema. It is slightly verbose, with the paging and per_page behavior restated in both the description and the schema, but nothing is misleading or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five optional params, no output schema, and no sibling that covers channels, the description carries the full burden and does: it enumerates response fields, explains paging, and resolves the region decision. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, yet the description still adds meaning the schema cannot: why per_page defaults to 100 (channels are typically under 100), how to page using pagination.total once exceeded, and the precedence rule that makes the region argument advisory rather than authoritative. It also explains region selection by user context (Japanese console/credentials → jp).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with the underlying endpoint (GET /channels), and disambiguates the concept from Live API broadcast channels and from library-level content in list_media_contents. An agent can tell exactly what entity this lists and why counts may differ from the sibling content tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use cases (one-off structure discovery, startup mapping backfill, user-triggered single lookups, debugging) and explicit when-NOT-to-use with a named anti-pattern and a redirect resource (kollus://anti-patterns/cms-admin-site) before calling. Region decision rules and the 'ask the user when ambiguous' rule are also spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vod_encoding_profile_listVOD 인코딩 프로파일 목록 조회ARead-onlyIdempotentInspect
서비스 계정에 등록된 인코딩(트랜스코딩) 프로파일 목록을 조회한다 (GET /media-profiles). 각 프로파일 항목은 key·name·id 와 함께 container_format, video_codec, video_bitrate, video_width / video_height(해상도), video_framerate, bitrate_mode, is_audio_file(오디오 전용), is_default_preset(기본 프리셋 여부), is_optional(추가 트랜스코딩) 등 인코딩 설정 전반을 포함한다.
주요 사용 케이스:
패스스루(pass-through) 업로드 준비: 패스스루 업로드 API 는 인코딩 프로파일 key(profile_key)가 필수이므로, 이 tool 로 계정에 등록된 프로파일 key 를 확인한다.
콘텐츠 화질 이슈 디버깅: 계정의 프로파일 설정(해상도·비트레이트 등) 자체가 의도대로인지 점검. 특정 영상에 어떤 프로파일이 적용됐는지는 이 tool 과 get_content_detail 어느 쪽에서도 확인할 수 없다.
인코딩 프로파일은 계정 셋업 시 구성되는 설정값이라 변경 빈도가 낮다. 응답에 pagination 없이 전체 목록이 한 번에 반환된다.
Region 선택: 인자 region="kr"|"jp" (기본 "kr"). 사용자 컨텍스트로 결정. 모호하면 사용자에게 명시적 확인 후 호출. 상세 매핑 kollus://guidance/regions. 정식 모드 연동은 계정에 등록된 region 이 이 인자보다 항상 우선 적용된다(계정당 region 고정, 혼용 불가).
| Name | Required | Description | Default |
|---|---|---|---|
| order | No | 정렬 기준. 기본 id_asc (생성 순). | |
| region | No | API region 선택. 기본 "kr" (글로벌 사용자도 kr 사용). 사용자가 일본법인·일본 콘솔(c-jp.kollus.com 등)·일본 자격증명을 쓰는 경우 "jp". 모호하면 사용자에게 확인 후 선택 — 추측 금지 (wrong-region 호출은 401). 도메인 매핑 단일 진실원천: kollus://guidance/regions. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely new behavior: no pagination, the full list is returned in one response, and profiles change infrequently because they are set at account setup. It also discloses the region precedence rule (the account-registered region always overrides the region argument, fixed per account) which is not in the annotations or schema. The only missed item is return ordering/edge behavior when zero profiles exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and resource, then structured return fields, a bulleted use-case list, a frequency/response note, and a region block — easy to scan. It is somewhat long and the region section duplicates schema text, costing a point, but every other sentence carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read-only list tool with no output schema, the description supplies the return shape (the profile fields), response sizing (all rows, no pagination), why the tool exists, and the region caveat. An agent has everything needed to decide to call it and to interpret the result without opening anything else.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters carry enums with descriptions, so the schema does the heavy lifting. The description's region paragraph largely restates the schema's guidance (default kr, ask the user when ambiguous, see kollus://guidance/regions) and adds only the account-region precedence note, while the order parameter is never mentioned in the description at all. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: listing encoding/transcoding profiles registered to the service account, and pins the underlying endpoint (GET /media-profiles). It also enumerates the profile fields returned (container_format, video_codec, bitrate, resolution, is_default_preset, etc.), so an agent knows exactly what this resource is and can distinguish it from siblings like list_media_contents or get_content_detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives two explicit use cases: resolving profile_key required by the pass-through upload API, and auditing account-level profile settings for quality debugging. It also states a negative boundary — that which profile was applied to a specific video cannot be determined here or in get_content_detail — which prevents a plausible misfire. Region selection guidance is included with the instruction to ask the user when ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- First observed
create_support_ticket - First observed
get_content_detail - First observed
get_statistics_content_rank - First observed
get_statistics_summary_daily - First observed
list_docs_index - First observed
list_media_contents - First observed
search_docs - First observed
vod_category_list - First observed
vod_channel_list - First observed
vod_encoding_profile_list
Related MCP Connectors
Ask questions in plain language, get answers from your business database. No SQL required.
Query your SEO data in plain language: rankings, audits, backlinks, competitors and AI visibility.
Answer questions using your semantic layer and company knowledge graph.
Ask your organization's connected business data in plain language, with each person's permissions.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceEnables interaction with KDB.AI through natural language for vector database operations, similarity searches, hybrid search, and advanced data analysis.2Apache 2.0- AlicenseNot gradedqualityBmaintenanceSearch within videos by dialogue, on-screen visuals, and recurring faces using natural language - connected with your favorite agent (like Claude, Codex, Hermes).59MIT
- AlicenseNot gradedqualityDmaintenanceEnables read-only access to VortexIQ ecommerce AI data, including store audits, KPIs, alerts, brand DNA, and reports, through natural language queries.MIT
- AlicenseBqualityDmaintenanceEnables natural language interaction with Plausible Analytics data to query traffic, visitors, engagement, and more using conversational questions.41MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.