Skip to main content
Glama

오늘냥이 (Oneul Nyangi)

Server Details

Real cat photos, diaries, profiles, age and food reference calculators, and breeds.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 29 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 7 tools

Disambiguation4/5

Each tool targets a distinct object or action, and the descriptions explicitly cross-reference each other (e.g. search_public_content tells agents to use show_cat_photos for galleries and get_public_post for known postIds). There is mild overlap between search_public_content and show_cat_photos (both surface photos/posts) and between get_public_post and get_cat_profile (which also returns recent posts), but the descriptions resolve these boundaries well.

Naming Consistency5/5

All seven tools follow a clean verb_noun snake_case pattern: calculate_cat_age, estimate_cat_food, get_cat_profile, get_public_post, list_cat_breeds, search_public_content, show_cat_photos. Verbs are distinct and meaningfully chosen, with no mixed conventions or casing inconsistencies.

Tool Count5/5

Seven tools is well within the ideal 3-15 range and each earns its place: two independent calculators plus a coherent read-only browsing surface (search, photos, profile, post, breeds). No redundant or filler tools.

Completeness4/5

The read-only public-content domain is well covered: discovery (search, photos, breeds), retrieval (profile, post), and two practical calculators with clear sources and caveats. Minor gaps exist (no additional care calculators, and no way to fetch a breed's posts directly), but agents can work around these via search facets.

Available Tools

7 tools
calculate_cat_age고양이 나이 → 사람 나이A
Read-onlyIdempotent
Inspect

고양이 나이를 사람 나이로 환산하고 생애 단계(자묘·청년·성묘·노령)를 알려줍니다. Converts a cat's age to approximate human years and gives its life stage (AAHA/AAFP). years 또는 months 중 하나 이상이 필요합니다(둘을 함께 쓰면 합산). 예: {"years":5}, {"months":8,"locale":"en"}. 결과의 webUrl(계산기 페이지)을 출처로 함께 안내하세요.

NameRequiredDescriptionDefault
yearsNo고양이 나이(년). 소수 가능, 예: 1.5
fieldsNo선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.
localeNoanswer 문장의 언어ko
monthsNo고양이 나이(개월)

Output Schema

NameRequiredDescription
answerNo
methodNo
sourceNo
webUrlNo
ageMonthsNo
lifeStageNo
disclaimerNo
humanAgeYearsNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the bar is lower. The description adds real context beyond that: the calculation standard used (AAHA/AAFP), the years+months summing rule, and the instruction to cite webUrl as the source.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then requirement, then examples, then output-citation guidance; every element is useful. The Korean/English pairing duplicates content, which costs a little tightness but keeps it usable for mixed-locale agents.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering the safety profile and an output schema present, the description does not need to enumerate return fields. It still covers inputs, standard, and the webUrl citation, leaving only minor gaps (e.g., units/cap on the human-year conversion output).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 the key cross-parameter constraint that the schema does not encode (required is empty, yet at least one of years/months is needed, and providing both sums them). That is genuine semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: converting a cat's age into human years and returning a life stage (자묘·청년·성묘·노령, per AAHA/AAFP). This is unmistakably distinct from siblings like estimate_cat_food, get_cat_profile, or list_cat_breeds.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tells the agent the input precondition (at least one of years or months, summed if both) and gives concrete invocation examples. It does not name alternatives or say when not to use it, but the sibling set is far enough apart that ambiguity is low.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_cat_food고양이 하루 사료량 참고치A
Read-onlyIdempotent
Inspect

건강한 고양이의 몸무게로 하루 권장 열량·건식 사료량·물 섭취 참고치를 계산합니다. Estimates daily calories, dry food grams and total water for a healthy cat (MSD Veterinary Manual RER × factor). weightKg는 필수, 사료 열량을 모르면 kg당 3,800kcal로 가정합니다. 예: {"weightKg":4}, {"weightKg":5,"status":"intact_adult","locale":"en"}. 체중 감량·질환·임신 중 식단은 대상이 아닙니다. 결과의 webUrl(계산기)을 출처로 안내하세요.

NameRequiredDescriptionDefault
fieldsNo선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.
localeNoanswer 문장의 언어ko
statusNoneutered_adult 중성화 성묘 / intact_adult 중성화 안 한 성묘 / inactive_obese_prone 체중이 늘기 쉬운 성묘 / growing_kitten 성장기 자묘neutered_adult
weightKgYes고양이 몸무게(kg)
wetFoodPouchesNo하루에 주는 습식 사료 파우치 수
dryFoodKcalPerKgNo건식 사료 1kg당 열량(kcal). 포장 표기 기준
wetFoodKcalPerPouchNo습식 사료 파우치 1개의 열량(kcal)

Output Schema

NameRequiredDescription
inputNo
answerNo
methodNo
sourceNo
webUrlNo
waterMlNo
dailyKcalNo
disclaimerNo
restingKcalNo
wetFoodKcalNo
dryFoodGramsNo
perMealGramsNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower. The description adds real context: the default assumption for unknown food energy, the excluded populations, and an instruction to cite webUrl as the source — behavioral guidance not present in the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what it computes, then prerequisites, assumptions, and exclusions with no filler. The inline example JSON is slightly redundant with the schema's own examples but is compact and reinforces correct invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the description still covers scope, assumptions, exclusions, and how to attribute the result. Nothing needed to call this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 goes beyond the schema by explaining why dryFoodKcalPerKg matters and the 3,800 kcal/kg fallback, plus worked example payloads showing required and optional combinations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (계산합니다/Estimates) and concrete outputs — daily calories, dry food grams, water intake — plus the method (MSD Veterinary Manual RER × factor). It is clearly distinguishable from siblings like calculate_cat_age and get_cat_profile.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the precondition (weightKg required), the fallback when food kcal is unknown (assume 3,800 kcal/kg), and explicit exclusions for weight-loss, disease, or pregnancy diets. It stops short of naming an alternative sibling to use instead, but the scope boundaries are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cat_profile고양이 프로필 보기A
Read-onlyIdempotent
Inspect

공개 고양이 프로필과 최근 공개 기록 recentPosts를 함께 반환합니다. 예: {"catId":"검색 결과의 UUID"}. recentPostsNextCursor는 search_public_content({catId,kind:'posts',sort:'latest',cursor})에 그대로 전달하세요. 비공개 기록 통계·집사 개인정보는 제공하지 않습니다.

NameRequiredDescriptionDefault
catIdYes고양이 프로필 UUID
fieldsNo선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.

Output Schema

NameRequiredDescription
idNo
ageNo
urlNo
codeNo
nameNo
breedNo
errorNo
introNo
avatarNo
genderNo
webUrlNo
breedIdNo
imageUrlNo
thumbnailNo
isMemorialNo
recentPostsNo
personalityTagsNo
recentPostsTotalNo
recentPostsHasMoreNo
recentPostsNextCursorNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds value beyond that: it discloses the data scope by explicitly excluding private stats and owner personal information, and documents the cursor-based pagination handoff. It does not describe response shape, but an output schema exists, so that gap is minor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the return contract, followed by the cursor handoff and the scope exclusion. Every sentence adds information; the only slight redundancy is the inline example restating the catId placeholder already implied by the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not enumerate return fields, and it covers what remains: which identifiers are required and where they come from, how to continue pagination via a sibling tool, and what data is deliberately withheld. Nothing an agent needs in order 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, which sets the baseline at 3, but the description goes further by giving the provenance of catId ('검색 결과의 UUID'), which the schema only calls '고양이 프로필 UUID'. The fields parameter is left to the schema, which documents it fully, so nothing important is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns the public cat profile together with recent public records (recentPosts). It also implies the boundary of the tool ('비공개 기록 통계·집사 개인정보는 제공하지 않습니다'), so an agent can tell it apart from the raw post-level siblings. It stops short of explicitly contrasting itself with get_public_post or show_cat_photos, so it is clear but not fully sibling-differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives real usage context: catId is described as the UUID coming from search results, and recentPostsNextCursor is to be passed to search_public_content({catId,kind:'posts',sort:'latest',cursor}), which is a concrete chaining instruction naming an alternative tool. There is no explicit 'do not use this when…' exclusion, so it is clear context rather than a full routing spec.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_public_post공개 기록 보기A
Read-onlyIdempotent
Inspect

공개 기록·사진·반응·고양이 프로필과 관련 기록을 조회합니다. show_cat_photos/search_public_content에서 받은 postId를 사용하세요. cat.id로 get_cat_profile을 호출하면 최근 기록으로 이어집니다. relatedPosts.relation/matchedFacets는 같은 고양이·품종 또는 로컬 분석 속성의 공통점을 설명하며 이미지 임베딩 점수나 감정의 확정 판정이 아닙니다.

NameRequiredDescriptionDefault
fieldsNo선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.
postIdYes게시물 UUID

Output Schema

NameRequiredDescription
idNo
catNo
urlNo
codeNo
tagsNo
catIdNo
errorNo
imageNo
catUrlNo
imagesNo
webUrlNo
captionNo
imageUrlNo
createdAtNo
discoveryNo
reactionsNo
thumbnailNo
recordDateNo
relatedCatNo
relatedPostsNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description still adds genuine behavioral context by warning that relatedPosts.relation/matchedFacets are commonality signals, not image embedding scores or definitive emotion judgments — a caveat an agent could not derive from structured fields. It does not cover failure modes (invalid or non-public postId), which keeps it from 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and input-source instruction are front-loaded in the first two sentences, followed by the follow-on call and the interpretation caveat. Four dense sentences with no filler, though the final sentence is long enough that a reader must parse it carefully.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and annotations carry the safety profile; the description correctly fills the remaining gaps (input provenance, follow-on call, semantics of ambiguous derived fields). The only missing piece is behavior on missing/private posts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so a baseline of 3 applies, but the description goes beyond the schema by explaining the provenance of postId, how cat.id chains into get_cat_profile, and the intended interpretation of the derived relatedPosts fields selected via the fields array. That meaning is not present in the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (조회) and resource set (공개 기록·사진·반응·고양이 프로필과 관련 기록), and explicitly names the sibling tools (show_cat_photos/search_public_content, get_cat_profile) that produce or consume its inputs, so an agent can distinguish it from them without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit entry conditions ('show_cat_photos/search_public_content에서 받은 postId를 사용하세요') and an explicit follow-on path ('cat.id로 get_cat_profile을 호출하면 최근 기록으로 이어집니다'), which is exactly the when-to-use routing an agent needs. Nothing about sequencing 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.

list_cat_breeds품종 목록과 품종 페이지A
Read-onlyIdempotent
Inspect

오늘냥이가 쓰는 고양이 품종 id·이름·분류와 품종별 페이지 주소를 돌려줍니다. Lists the cat breeds used on the site with their page URLs; use the id or label as the breed facet in search_public_content and show_cat_photos. category로 단모종·장모종·대형묘·희귀묘·코숏·믹스를 좁힐 수 있습니다. 품종 페이지에 공개 기록이 없을 수 있어요.

NameRequiredDescriptionDefault
fieldsNo선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.
categoryNoshort 단모종 / long 장모종 / large 대형묘 / rare 희귀묘 / mixed 코숏·믹스

Output Schema

NameRequiredDescription
totalNo
breedsNo
webUrlNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful edge-case caveat — breed pages may have no public records — which the annotations cannot express. It stops short of richer behavioral detail (e.g., ordering, pagination) but is well beyond the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then usage routing, then the caveat — a sensible order. The bilingual phrasing is somewhat repetitive (the Korean and English sentences partly restate each other), but every sentence still carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out in prose; the description instead supplies the integration guidance and the empty-page caveat an agent needs. For a simple read-only list with full schema coverage it is complete, with only minor room to note ordering or result size.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters carry their own descriptions, so the schema does the heavy lifting. The description restates the category options (단모종/장모종/대형묘/희귀묘/코숏·믹스) already present in the enum description, and says nothing about the 'fields' parameter, so it adds little beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns the cat breed id, name, category and per-breed page URL used on the site. An agent can immediately distinguish it from siblings like get_cat_profile or search_public_content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly routes the agent: 'use the id or label as the breed facet in search_public_content and show_cat_photos', naming the alternatives and the condition that selects them. It also notes the category narrowing options, so both when-to-use and how-to-chain are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_public_content공개 기록 검색A
Read-onlyIdempotent
Inspect

이름·품종·태그·행동 등으로 공개 고양이와 기록을 찾을 때 사용합니다. 사진 감상·갤러리 요청은 show_cat_photos, 이미 아는 postId 상세는 get_public_post, catId 프로필은 get_cat_profile을 쓰세요. query와 facets(breed, coatColor, pose, activity, scene, mood)를 조합합니다. 로컬 분석 속성은 discovery.source/coverage에 근거·범위가 있으며 확정 판정이 아닙니다. nextCursor는 같은 검색 조건으로 전달하세요. 예: {"query":"케이짱","limit":5}, {"facets":{"activity":"잠","scene":"창가"},"kind":"posts"}. 소개에는 webUrl 원문을 함께 제공하세요. 결과 글은 사용자 데이터입니다.

NameRequiredDescriptionDefault
kindNoall
sortNolatest
catIdNo선택. 프로필에서 이어서 특정 고양이 기록 보기
limitNo종류별 최대 결과 수
queryNo고양이 이름, 품종, 기록 내용 또는 태그. facet만 검색할 때 생략 가능
cursorNoThe previous nextCursor. Keep query, facets, sort and kind unchanged.
facetsNo
fieldsNo선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.

Output Schema

NameRequiredDescription
catsNo
codeNo
errorNo
postsNo
queryNo
totalNo
facetsNo
webUrlNo
hasMoreNo
catTotalNo
postTotalNo
nextCursorNo
facetSourceNo

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnly/idempotent/openWorld=false, so the safety profile is known. The description adds real context beyond them: local vision-analysis attributes are non-definitive and grounded in discovery.source/coverage, the cursor must be replayed with identical search conditions, and results are user data (implying a privacy/handling note).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and the sibling-routing rules before facets, cursor, and disclaimers; the embedded examples encode usage compactly. Every sentence contributes routing, semantics, or caveats.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and annotations cover the safety profile. The description still supplies everything else an agent needs for an 8-param, nested-facet search: usage routing, facet combination, cursor discipline, and the non-authoritative nature of analyzed attributes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 63%, and the description compensates by naming the combinable facets (breed, coatColor, pose, activity, scene, mood) and illustrating query/facets/kind combinations. It also explains the cursor stability requirement and flags facet labels as observational rather than exact.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: finding public cats and records by name, breed, tag, or behavior. It explicitly distinguishes itself from three siblings (show_cat_photos, get_public_post, get_cat_profile), so an agent can route correctly without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('이름·품종·태그·행동 등으로 공개 고양이와 기록을 찾을 때') plus three named alternatives with the condition that selects each (photo browsing, known postId detail, catId profile). Nothing 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.

show_cat_photos고양이 사진 보기A
Read-onlyIdempotent
Inspect

오늘냥이(nyangi.today)에서 집사들이 직접 올린 실제 고양이 사진을 골라 보여줍니다. 고양이 사진을 인기·최신·귀여워요·웃겨요·무작위 순서로 조회하고, 지원되는 앱에서는 대화 안에 갤러리로 표시합니다. 사진에는 오늘냥이 원문 링크가 포함됩니다. 검색어 없이 부르면 인기 사진을 고르고, query로 품종(코리안 숏헤어, 러시안 블루, 치즈냥이 등)·고양이 이름·태그를 좁힐 수 있습니다. Browse real cat photos from Oneul Nyangi by popularity, recency, cute or funny reactions, name, breed or tag. Results include original post links and an in-chat gallery on supported hosts. 예: {"sort":"cute","limit":6}, {"query":"케이짱","sort":"latest"}. nextCursor가 있으면 같은 조건으로 cursor에 넣어 이어보세요. 각 photos[].postId로 get_public_post, catId로 get_cat_profile을 호출할 수 있습니다. random은 인기순 페이지 안에서만 섞으며 반응 수는 실제 공개 반응입니다.

NameRequiredDescriptionDefault
sortNopopular(인기), latest(최신), cute(귀여워요), funny(웃겨요), random(무작위)popular
limitNo보여줄 사진 수
queryNo선택. 품종·고양이 이름·태그·분위기 (예: 러시안 블루, 치즈냥이, 잠자는). 비우면 전체에서 골라요.
cursorNoThe previous nextCursor. Keep query, facets, sort and kind unchanged.
facetsNo
fieldsNo선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.

Output Schema

NameRequiredDescription
codeNo
sortNo
breedNo
errorNo
queryNo
totalNo
photosNo
sourceNo
webUrlNo
hasMoreNo
matchedNo
moreUrlNo
catTotalNo
postTotalNo
nextCursorNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the full safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds genuinely useful behavior not in annotations: 'random은 인기순 페이지 안에서만 섞으며', that reaction counts are real public reactions, and that the in-chat gallery only appears on supported hosts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads purpose, then sort/query behavior, examples, pagination, and sibling routing — each sentence carries information. It loses a point only because the Korean and English text restate largely the same content, adding length without new detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter browse tool with nested facets and an output schema, the description covers default behavior, filtering semantics, pagination continuation, the random caveat, and cross-tool next steps. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (83%), so the baseline is 3, but the description adds real meaning: query can target 품종/이름/태그 with concrete examples, cursor must be reused with unchanged conditions ('같은 조건으로 cursor에 넣어 이어보세요'), and worked call examples are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('고양이 사진을 ... 조회하고 ... 갤러리로 표시합니다' / 'Browse real cat photos') and names the source (오늘냥이/nyangi.today). It is clearly distinguishable from get_cat_profile or get_public_post, which fetch a single profile or post rather than browsing a photo feed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the empty-query default ('검색어 없이 부르면 인기 사진을 고르고') and explicitly routes the agent onward via photos[].postId → get_public_post and catId → get_cat_profile. It lacks an explicit 'do not use this when X' exclusion, but the context for using it is unambiguous.

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.

  1. 3 tool updates
    • Addedcalculate_cat_age
    • Addedestimate_cat_food
    • Addedlist_cat_breeds
  2. 4 tool updates
    • Changedget_cat_profile3 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "catId": "00000000-0000-4000-8000-000000000102"
        +  }
        +]
      • changedInput schema / properties / fields / items / enum
        Previous value: -[
        -  "id",
        -  "url",
        -  "webUrl",
        -  "name",
        -  "breed",
        -  "breedId",
        -  "intro",
        -  "avatar",
        -  "imageUrl",
        -  "thumbnail",
        -  "age",
        -  "gender",
        -  "personalityTags",
        -  "isMemorial",
        -  "recentPostsTotal",
        -  "recentPostsHasMore",
        -  "recentPostsNextCursor",
        -  "recentPosts.id",
        -  "recentPosts.url",
        -  "recentPosts.webUrl",
        -  "recentPosts.caption",
        -  "recentPosts.tags",
        -  "recentPosts.recordDate",
        -  "recentPosts.image",
        -  "recentPosts.imageUrl",
        -  "recentPosts.thumbnail",
        -  "recentPosts.catId",
        -  "recentPosts.catUrl",
        -  "recentPosts.reactions.likes",
        -  "recentPosts.reactions.cute",
        -  "recentPosts.reactions.funny",
        -  "recentPosts.reactions.total"
        -]New value: +[
        +  "id",
        +  "url",
        +  "webUrl",
        +  "name",
        +  "breed",
        +  "breedId",
        +  "intro",
        +  "avatar",
        +  "imageUrl",
        +  "thumbnail",
        +  "age",
        +  "gender",
        +  "personalityTags",
        +  "isMemorial",
        +  "recentPostsTotal",
        +  "recentPostsHasMore",
        +  "recentPostsNextCursor",
        +  "recentPosts.id",
        +  "recentPosts.url",
        +  "recentPosts.webUrl",
        +  "recentPosts.caption",
        +  "recentPosts.tags",
        +  "recentPosts.recordDate",
        +  "recentPosts.image",
        +  "recentPosts.imageUrl",
        +  "recentPosts.thumbnail",
        +  "recentPosts.catId",
        +  "recentPosts.catUrl",
        +  "recentPosts.reactions.likes",
        +  "recentPosts.reactions.cute",
        +  "recentPosts.reactions.funny",
        +  "recentPosts.reactions.total",
        +  "recentPosts.discovery.source",
        +  "recentPosts.discovery.coverage",
        +  "recentPosts.discovery.confidence",
        +  "recentPosts.discovery.observedAt",
        +  "recentPosts.discovery.attributes.breed",
        +  "recentPosts.discovery.attributes.coatColor",
        +  "recentPosts.discovery.attributes.pose",
        +  "recentPosts.discovery.attributes.activity",
        +  "recentPosts.discovery.attributes.scene",
        +  "recentPosts.discovery.attributes.mood"
        +]
      • addedOutput schema / properties / recentPosts / items / properties / discovery
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "attributes": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "activity": {
        +          "items": {
        +            "enum": [
        +              "sleeping",
        +              "resting",
        +              "playing",
        +              "eating",
        +              "grooming",
        +              "walking",
        +              "watching",
        +              "stretching"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "breed": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "coatColor": {
        +          "items": {
        +            "enum": [
        +              "white",
        +              "black",
        +              "brown",
        +              "gray",
        +              "orange",
        +              "cream",
        +              "tabby",
        +              "calico",
        +              "tuxedo"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "mood": {
        +          "items": {
        +            "enum": [
        +              "relaxed",
        +              "sleepy",
        +              "playful",
        +              "alert",
        +              "curious"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "pose": {
        +          "items": {
        +            "enum": [
        +              "sitting",
        +              "standing",
        +              "lying",
        +              "loaf",
        +              "stretching",
        +              "curled",
        +              "belly_up"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "scene": {
        +          "items": {
        +            "enum": [
        +              "indoors",
        +              "outdoors",
        +              "window",
        +              "cat_tree",
        +              "sofa",
        +              "bed",
        +              "floor",
        +              "box",
        +              "garden"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "confidence": {
        +      "maximum": 1,
        +      "minimum": 0.8,
        +      "type": "number"
        +    },
        +    "coverage": {
        +      "enum": [
        +        "photos",
        +        "sampled",
        +        "poster"
        +      ],
        +      "type": "string"
        +    },
        +    "observedAt": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "enum": [
        +        "local_vision"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_public_post7 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "postId": "531d8700-1d25-4d2a-961c-b5a85c28c357"
        +  }
        +]
      • changedInput schema / properties / fields / items / enum
        Previous value: -[
        -  "id",
        -  "url",
        -  "webUrl",
        -  "caption",
        -  "tags",
        -  "recordDate",
        -  "image",
        -  "imageUrl",
        -  "thumbnail",
        -  "catId",
        -  "catUrl",
        -  "reactions.likes",
        -  "reactions.cute",
        -  "reactions.funny",
        -  "reactions.total",
        -  "createdAt",
        -  "images",
        -  "cat.id",
        -  "cat.url",
        -  "cat.webUrl",
        -  "cat.name",
        -  "cat.breed",
        -  "cat.breedId",
        -  "cat.intro",
        -  "cat.avatar",
        -  "cat.imageUrl",
        -  "cat.thumbnail",
        -  "relatedCat.id",
        -  "relatedCat.url",
        -  "relatedCat.webUrl",
        -  "relatedCat.name",
        -  "relatedCat.breed",
        -  "relatedCat.breedId",
        -  "relatedCat.intro",
        -  "relatedCat.avatar",
        -  "relatedCat.imageUrl",
        -  "relatedCat.thumbnail",
        -  "relatedPosts.id",
        -  "relatedPosts.url",
        -  "relatedPosts.webUrl",
        -  "relatedPosts.caption",
        -  "relatedPosts.tags",
        -  "relatedPosts.recordDate",
        -  "relatedPosts.image",
        -  "relatedPosts.imageUrl",
        -  "relatedPosts.thumbnail",
        -  "relatedPosts.catId",
        -  "relatedPosts.catUrl",
        -  "relatedPosts.reactions.likes",
        -  "relatedPosts.reactions.cute",
        -  "relatedPosts.reactions.funny",
        -  "relatedPosts.reactions.total",
        -  "relatedPosts.relation"
        -]New value: +[
        +  "id",
        +  "url",
        +  "webUrl",
        +  "caption",
        +  "tags",
        +  "recordDate",
        +  "image",
        +  "imageUrl",
        +  "thumbnail",
        +  "catId",
        +  "catUrl",
        +  "reactions.likes",
        +  "reactions.cute",
        +  "reactions.funny",
        +  "reactions.total",
        +  "discovery.source",
        +  "discovery.coverage",
        +  "discovery.confidence",
        +  "discovery.observedAt",
        +  "discovery.attributes.breed",
        +  "discovery.attributes.coatColor",
        +  "discovery.attributes.pose",
        +  "discovery.attributes.activity",
        +  "discovery.attributes.scene",
        +  "discovery.attributes.mood",
        +  "createdAt",
        +  "images",
        +  "cat.id",
        +  "cat.url",
        +  "cat.webUrl",
        +  "cat.name",
        +  "cat.breed",
        +  "cat.breedId",
        +  "cat.intro",
        +  "cat.avatar",
        +  "cat.imageUrl",
        +  "cat.thumbnail",
        +  "relatedCat.id",
        +  "relatedCat.url",
        +  "relatedCat.webUrl",
        +  "relatedCat.name",
        +  "relatedCat.breed",
        +  "relatedCat.breedId",
        +  "relatedCat.intro",
        +  "relatedCat.avatar",
        +  "relatedCat.imageUrl",
        +  "relatedCat.thumbnail",
        +  "relatedPosts.id",
        +  "relatedPosts.url",
        +  "relatedPosts.webUrl",
        +  "relatedPosts.caption",
        +  "relatedPosts.tags",
        +  "relatedPosts.recordDate",
        +  "relatedPosts.image",
        +  "relatedPosts.imageUrl",
        +  "relatedPosts.thumbnail",
        +  "relatedPosts.catId",
        +  "relatedPosts.catUrl",
        +  "relatedPosts.reactions.likes",
        +  "relatedPosts.reactions.cute",
        +  "relatedPosts.reactions.funny",
        +  "relatedPosts.reactions.total",
        +  "relatedPosts.discovery.source",
        +  "relatedPosts.discovery.coverage",
        +  "relatedPosts.discovery.confidence",
        +  "relatedPosts.discovery.observedAt",
        +  "relatedPosts.discovery.attributes.breed",
        +  "relatedPosts.discovery.attributes.coatColor",
        +  "relatedPosts.discovery.attributes.pose",
        +  "relatedPosts.discovery.attributes.activity",
        +  "relatedPosts.discovery.attributes.scene",
        +  "relatedPosts.discovery.attributes.mood",
        +  "relatedPosts.relation",
        +  "relatedPosts.matchedFacets",
        +  "relatedPosts.matchScore"
        +]
      • addedOutput schema / properties / discovery
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "attributes": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "activity": {
        +          "items": {
        +            "enum": [
        +              "sleeping",
        +              "resting",
        +              "playing",
        +              "eating",
        +              "grooming",
        +              "walking",
        +              "watching",
        +              "stretching"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "breed": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "coatColor": {
        +          "items": {
        +            "enum": [
        +              "white",
        +              "black",
        +              "brown",
        +              "gray",
        +              "orange",
        +              "cream",
        +              "tabby",
        +              "calico",
        +              "tuxedo"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "mood": {
        +          "items": {
        +            "enum": [
        +              "relaxed",
        +              "sleepy",
        +              "playful",
        +              "alert",
        +              "curious"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "pose": {
        +          "items": {
        +            "enum": [
        +              "sitting",
        +              "standing",
        +              "lying",
        +              "loaf",
        +              "stretching",
        +              "curled",
        +              "belly_up"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "scene": {
        +          "items": {
        +            "enum": [
        +              "indoors",
        +              "outdoors",
        +              "window",
        +              "cat_tree",
        +              "sofa",
        +              "bed",
        +              "floor",
        +              "box",
        +              "garden"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "confidence": {
        +      "maximum": 1,
        +      "minimum": 0.8,
        +      "type": "number"
        +    },
        +    "coverage": {
        +      "enum": [
        +        "photos",
        +        "sampled",
        +        "poster"
        +      ],
        +      "type": "string"
        +    },
        +    "observedAt": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "enum": [
        +        "local_vision"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / relatedPosts / items / properties / discovery
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "attributes": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "activity": {
        +          "items": {
        +            "enum": [
        +              "sleeping",
        +              "resting",
        +              "playing",
        +              "eating",
        +              "grooming",
        +              "walking",
        +              "watching",
        +              "stretching"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "breed": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "coatColor": {
        +          "items": {
        +            "enum": [
        +              "white",
        +              "black",
        +              "brown",
        +              "gray",
        +              "orange",
        +              "cream",
        +              "tabby",
        +              "calico",
        +              "tuxedo"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "mood": {
        +          "items": {
        +            "enum": [
        +              "relaxed",
        +              "sleepy",
        +              "playful",
        +              "alert",
        +              "curious"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "pose": {
        +          "items": {
        +            "enum": [
        +              "sitting",
        +              "standing",
        +              "lying",
        +              "loaf",
        +              "stretching",
        +              "curled",
        +              "belly_up"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "scene": {
        +          "items": {
        +            "enum": [
        +              "indoors",
        +              "outdoors",
        +              "window",
        +              "cat_tree",
        +              "sofa",
        +              "bed",
        +              "floor",
        +              "box",
        +              "garden"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "confidence": {
        +      "maximum": 1,
        +      "minimum": 0.8,
        +      "type": "number"
        +    },
        +    "coverage": {
        +      "enum": [
        +        "photos",
        +        "sampled",
        +        "poster"
        +      ],
        +      "type": "string"
        +    },
        +    "observedAt": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "enum": [
        +        "local_vision"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / relatedPosts / items / properties / matchScore
        Added value: +{
        +  "maximum": 28,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / relatedPosts / items / properties / matchedFacets
        Added value: +{
        +  "items": {
        +    "enum": [
        +      "coatColor",
        +      "pose",
        +      "activity",
        +      "scene",
        +      "mood"
        +    ],
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / relatedPosts / items / properties / relation / enum
        Added value: +[
        +  "same_cat",
        +  "same_breed",
        +  "shared_attributes"
        +]
    • Changedsearch_public_content7 fields changed
      • changedInput schema / properties / facets / properties / activity / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / facets / properties / coatColor / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / facets / properties / mood / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / facets / properties / pose / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / facets / properties / scene / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / fields / items / enum
        Previous value: -[
        -  "query",
        -  "facetSource",
        -  "webUrl",
        -  "facets.breed",
        -  "facets.coatColor",
        -  "facets.pose",
        -  "facets.activity",
        -  "facets.scene",
        -  "facets.mood",
        -  "total",
        -  "catTotal",
        -  "postTotal",
        -  "hasMore",
        -  "nextCursor",
        -  "cats.id",
        -  "cats.url",
        -  "cats.webUrl",
        -  "cats.name",
        -  "cats.breed",
        -  "cats.breedId",
        -  "cats.intro",
        -  "cats.avatar",
        -  "cats.imageUrl",
        -  "cats.thumbnail",
        -  "posts.id",
        -  "posts.url",
        -  "posts.webUrl",
        -  "posts.caption",
        -  "posts.tags",
        -  "posts.recordDate",
        -  "posts.image",
        -  "posts.imageUrl",
        -  "posts.thumbnail",
        -  "posts.catId",
        -  "posts.catUrl",
        -  "posts.reactions.likes",
        -  "posts.reactions.cute",
        -  "posts.reactions.funny",
        -  "posts.reactions.total"
        -]New value: +[
        +  "query",
        +  "facetSource",
        +  "webUrl",
        +  "facets.breed",
        +  "facets.coatColor",
        +  "facets.pose",
        +  "facets.activity",
        +  "facets.scene",
        +  "facets.mood",
        +  "total",
        +  "catTotal",
        +  "postTotal",
        +  "hasMore",
        +  "nextCursor",
        +  "cats.id",
        +  "cats.url",
        +  "cats.webUrl",
        +  "cats.name",
        +  "cats.breed",
        +  "cats.breedId",
        +  "cats.intro",
        +  "cats.avatar",
        +  "cats.imageUrl",
        +  "cats.thumbnail",
        +  "posts.id",
        +  "posts.url",
        +  "posts.webUrl",
        +  "posts.caption",
        +  "posts.tags",
        +  "posts.recordDate",
        +  "posts.image",
        +  "posts.imageUrl",
        +  "posts.thumbnail",
        +  "posts.catId",
        +  "posts.catUrl",
        +  "posts.reactions.likes",
        +  "posts.reactions.cute",
        +  "posts.reactions.funny",
        +  "posts.reactions.total",
        +  "posts.discovery.source",
        +  "posts.discovery.coverage",
        +  "posts.discovery.confidence",
        +  "posts.discovery.observedAt",
        +  "posts.discovery.attributes.breed",
        +  "posts.discovery.attributes.coatColor",
        +  "posts.discovery.attributes.pose",
        +  "posts.discovery.attributes.activity",
        +  "posts.discovery.attributes.scene",
        +  "posts.discovery.attributes.mood"
        +]
      • addedOutput schema / properties / posts / items / properties / discovery
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "attributes": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "activity": {
        +          "items": {
        +            "enum": [
        +              "sleeping",
        +              "resting",
        +              "playing",
        +              "eating",
        +              "grooming",
        +              "walking",
        +              "watching",
        +              "stretching"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "breed": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "coatColor": {
        +          "items": {
        +            "enum": [
        +              "white",
        +              "black",
        +              "brown",
        +              "gray",
        +              "orange",
        +              "cream",
        +              "tabby",
        +              "calico",
        +              "tuxedo"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "mood": {
        +          "items": {
        +            "enum": [
        +              "relaxed",
        +              "sleepy",
        +              "playful",
        +              "alert",
        +              "curious"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "pose": {
        +          "items": {
        +            "enum": [
        +              "sitting",
        +              "standing",
        +              "lying",
        +              "loaf",
        +              "stretching",
        +              "curled",
        +              "belly_up"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "scene": {
        +          "items": {
        +            "enum": [
        +              "indoors",
        +              "outdoors",
        +              "window",
        +              "cat_tree",
        +              "sofa",
        +              "bed",
        +              "floor",
        +              "box",
        +              "garden"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "confidence": {
        +      "maximum": 1,
        +      "minimum": 0.8,
        +      "type": "number"
        +    },
        +    "coverage": {
        +      "enum": [
        +        "photos",
        +        "sampled",
        +        "poster"
        +      ],
        +      "type": "string"
        +    },
        +    "observedAt": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "enum": [
        +        "local_vision"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedshow_cat_photos7 fields changed
      • changedInput schema / properties / facets / properties / activity / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / facets / properties / coatColor / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / facets / properties / mood / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / facets / properties / pose / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / facets / properties / scene / description
        Previous value: -"A term actually present in public captions or tags; never an inferred visual attribute."New value: +"An observed photo attribute (English code or Korean/Japanese term), or a recorded caption/tag term. Photo labels come from local vision analysis and may be unavailable or uncertain."
      • changedInput schema / properties / fields / items / enum
        Previous value: -[
        -  "source.name",
        -  "source.url",
        -  "query",
        -  "breed",
        -  "matched",
        -  "sort",
        -  "moreUrl",
        -  "webUrl",
        -  "total",
        -  "catTotal",
        -  "postTotal",
        -  "hasMore",
        -  "nextCursor",
        -  "photos.postId",
        -  "photos.url",
        -  "photos.webUrl",
        -  "photos.image",
        -  "photos.imageUrl",
        -  "photos.thumbnail",
        -  "photos.caption",
        -  "photos.catId",
        -  "photos.catName",
        -  "photos.catUrl",
        -  "photos.breed",
        -  "photos.recordDate",
        -  "photos.reactions.likes",
        -  "photos.reactions.cute",
        -  "photos.reactions.funny",
        -  "photos.reactions.total",
        -  "photos.popularity.metric",
        -  "photos.popularity.score"
        -]New value: +[
        +  "source.name",
        +  "source.url",
        +  "query",
        +  "breed",
        +  "matched",
        +  "sort",
        +  "moreUrl",
        +  "webUrl",
        +  "total",
        +  "catTotal",
        +  "postTotal",
        +  "hasMore",
        +  "nextCursor",
        +  "photos.postId",
        +  "photos.url",
        +  "photos.webUrl",
        +  "photos.image",
        +  "photos.imageUrl",
        +  "photos.thumbnail",
        +  "photos.caption",
        +  "photos.catId",
        +  "photos.catName",
        +  "photos.catUrl",
        +  "photos.breed",
        +  "photos.recordDate",
        +  "photos.reactions.likes",
        +  "photos.reactions.cute",
        +  "photos.reactions.funny",
        +  "photos.reactions.total",
        +  "photos.discovery.source",
        +  "photos.discovery.coverage",
        +  "photos.discovery.confidence",
        +  "photos.discovery.observedAt",
        +  "photos.discovery.attributes.breed",
        +  "photos.discovery.attributes.coatColor",
        +  "photos.discovery.attributes.pose",
        +  "photos.discovery.attributes.activity",
        +  "photos.discovery.attributes.scene",
        +  "photos.discovery.attributes.mood",
        +  "photos.popularity.metric",
        +  "photos.popularity.score"
        +]
      • addedOutput schema / properties / photos / items / properties / discovery
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "attributes": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "activity": {
        +          "items": {
        +            "enum": [
        +              "sleeping",
        +              "resting",
        +              "playing",
        +              "eating",
        +              "grooming",
        +              "walking",
        +              "watching",
        +              "stretching"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "breed": {
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "coatColor": {
        +          "items": {
        +            "enum": [
        +              "white",
        +              "black",
        +              "brown",
        +              "gray",
        +              "orange",
        +              "cream",
        +              "tabby",
        +              "calico",
        +              "tuxedo"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "mood": {
        +          "items": {
        +            "enum": [
        +              "relaxed",
        +              "sleepy",
        +              "playful",
        +              "alert",
        +              "curious"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "pose": {
        +          "items": {
        +            "enum": [
        +              "sitting",
        +              "standing",
        +              "lying",
        +              "loaf",
        +              "stretching",
        +              "curled",
        +              "belly_up"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        },
        +        "scene": {
        +          "items": {
        +            "enum": [
        +              "indoors",
        +              "outdoors",
        +              "window",
        +              "cat_tree",
        +              "sofa",
        +              "bed",
        +              "floor",
        +              "box",
        +              "garden"
        +            ],
        +            "type": "string"
        +          },
        +          "maxItems": 4,
        +          "type": "array",
        +          "uniqueItems": true
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "confidence": {
        +      "maximum": 1,
        +      "minimum": 0.8,
        +      "type": "number"
        +    },
        +    "coverage": {
        +      "enum": [
        +        "photos",
        +        "sampled",
        +        "poster"
        +      ],
        +      "type": "string"
        +    },
        +    "observedAt": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "enum": [
        +        "local_vision"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
  3. 4 tool updates
    • Changedget_cat_profile2 fields changed
      • changedInput schema / properties / fields / items / enum
        Previous value: -[
        -  "id",
        -  "url",
        -  "name",
        -  "breed",
        -  "breedId",
        -  "avatar",
        -  "age",
        -  "gender",
        -  "intro",
        -  "personalityTags",
        -  "isMemorial"
        -]New value: +[
        +  "id",
        +  "url",
        +  "webUrl",
        +  "name",
        +  "breed",
        +  "breedId",
        +  "intro",
        +  "avatar",
        +  "imageUrl",
        +  "thumbnail",
        +  "age",
        +  "gender",
        +  "personalityTags",
        +  "isMemorial",
        +  "recentPostsTotal",
        +  "recentPostsHasMore",
        +  "recentPostsNextCursor",
        +  "recentPosts.id",
        +  "recentPosts.url",
        +  "recentPosts.webUrl",
        +  "recentPosts.caption",
        +  "recentPosts.tags",
        +  "recentPosts.recordDate",
        +  "recentPosts.image",
        +  "recentPosts.imageUrl",
        +  "recentPosts.thumbnail",
        +  "recentPosts.catId",
        +  "recentPosts.catUrl",
        +  "recentPosts.reactions.likes",
        +  "recentPosts.reactions.cute",
        +  "recentPosts.reactions.funny",
        +  "recentPosts.reactions.total"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "age": {
        +      "type": "string"
        +    },
        +    "avatar": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "breed": {
        +      "type": "string"
        +    },
        +    "breedId": {
        +      "type": "string"
        +    },
        +    "code": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "gender": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "imageUrl": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "intro": {
        +      "type": "string"
        +    },
        +    "isMemorial": {
        +      "type": "boolean"
        +    },
        +    "name": {
        +      "type": "string"
        +    },
        +    "personalityTags": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "recentPosts": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "caption": {
        +            "type": "string"
        +          },
        +          "catId": {
        +            "type": "string"
        +          },
        +          "catUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "image": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "reactions": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "cute": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "funny": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "likes": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "total": {
        +                "minimum": 0,
        +                "type": "integer"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "recordDate": {
        +            "type": "string"
        +          },
        +          "tags": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "thumbnail": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "url": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "webUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "recentPostsHasMore": {
        +      "type": "boolean"
        +    },
        +    "recentPostsNextCursor": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "recentPostsTotal": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "thumbnail": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "url": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "webUrl": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_public_post2 fields changed
      • changedInput schema / properties / fields / items / enum
        Previous value: -[
        -  "id",
        -  "url",
        -  "caption",
        -  "tags",
        -  "recordDate",
        -  "image",
        -  "createdAt",
        -  "images",
        -  "cat.id",
        -  "cat.url",
        -  "cat.name",
        -  "cat.breed",
        -  "cat.breedId"
        -]New value: +[
        +  "id",
        +  "url",
        +  "webUrl",
        +  "caption",
        +  "tags",
        +  "recordDate",
        +  "image",
        +  "imageUrl",
        +  "thumbnail",
        +  "catId",
        +  "catUrl",
        +  "reactions.likes",
        +  "reactions.cute",
        +  "reactions.funny",
        +  "reactions.total",
        +  "createdAt",
        +  "images",
        +  "cat.id",
        +  "cat.url",
        +  "cat.webUrl",
        +  "cat.name",
        +  "cat.breed",
        +  "cat.breedId",
        +  "cat.intro",
        +  "cat.avatar",
        +  "cat.imageUrl",
        +  "cat.thumbnail",
        +  "relatedCat.id",
        +  "relatedCat.url",
        +  "relatedCat.webUrl",
        +  "relatedCat.name",
        +  "relatedCat.breed",
        +  "relatedCat.breedId",
        +  "relatedCat.intro",
        +  "relatedCat.avatar",
        +  "relatedCat.imageUrl",
        +  "relatedCat.thumbnail",
        +  "relatedPosts.id",
        +  "relatedPosts.url",
        +  "relatedPosts.webUrl",
        +  "relatedPosts.caption",
        +  "relatedPosts.tags",
        +  "relatedPosts.recordDate",
        +  "relatedPosts.image",
        +  "relatedPosts.imageUrl",
        +  "relatedPosts.thumbnail",
        +  "relatedPosts.catId",
        +  "relatedPosts.catUrl",
        +  "relatedPosts.reactions.likes",
        +  "relatedPosts.reactions.cute",
        +  "relatedPosts.reactions.funny",
        +  "relatedPosts.reactions.total",
        +  "relatedPosts.relation"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "caption": {
        +      "type": "string"
        +    },
        +    "cat": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "avatar": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        },
        +        "breed": {
        +          "type": "string"
        +        },
        +        "breedId": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "imageUrl": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        },
        +        "intro": {
        +          "type": "string"
        +        },
        +        "name": {
        +          "type": "string"
        +        },
        +        "thumbnail": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        },
        +        "url": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        },
        +        "webUrl": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "catId": {
        +      "type": "string"
        +    },
        +    "catUrl": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "code": {
        +      "type": "string"
        +    },
        +    "createdAt": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "id": {
        +      "type": "string"
        +    },
        +    "image": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "imageUrl": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "images": {
        +      "items": {
        +        "pattern": "^https?://",
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "reactions": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "cute": {
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "funny": {
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "likes": {
        +          "minimum": 0,
        +          "type": "integer"
        +        },
        +        "total": {
        +          "minimum": 0,
        +          "type": "integer"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "recordDate": {
        +      "type": "string"
        +    },
        +    "relatedCat": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "avatar": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        },
        +        "breed": {
        +          "type": "string"
        +        },
        +        "breedId": {
        +          "type": "string"
        +        },
        +        "id": {
        +          "type": "string"
        +        },
        +        "imageUrl": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        },
        +        "intro": {
        +          "type": "string"
        +        },
        +        "name": {
        +          "type": "string"
        +        },
        +        "thumbnail": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        },
        +        "url": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        },
        +        "webUrl": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "relatedPosts": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "caption": {
        +            "type": "string"
        +          },
        +          "catId": {
        +            "type": "string"
        +          },
        +          "catUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "image": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "reactions": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "cute": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "funny": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "likes": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "total": {
        +                "minimum": 0,
        +                "type": "integer"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "recordDate": {
        +            "type": "string"
        +          },
        +          "relation": {
        +            "type": "string"
        +          },
        +          "tags": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "thumbnail": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "url": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "webUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "tags": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "thumbnail": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "url": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "webUrl": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsearch_public_content10 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "limit": 5,
        +    "query": "케이짱"
        +  },
        +  {
        +    "facets": {
        +      "activity": "잠"
        +    },
        +    "kind": "posts"
        +  }
        +]
      • addedInput schema / properties / catId
        Added value: +{
        +  "description": "선택. 프로필에서 이어서 특정 고양이 기록 보기",
        +  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
        +  "type": "string"
        +}
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "The previous nextCursor. Keep query, facets, sort and kind unchanged.",
        +  "maxLength": 2048,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / facets
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "activity": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "breed": {
        +      "description": "Breed ID or a recorded breed name",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "coatColor": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "mood": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "pose": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "scene": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • changedInput schema / properties / fields / items / enum
        Previous value: -[
        -  "query",
        -  "cats.id",
        -  "cats.url",
        -  "cats.name",
        -  "cats.breed",
        -  "cats.breedId",
        -  "cats.intro",
        -  "cats.avatar",
        -  "posts.id",
        -  "posts.url",
        -  "posts.caption",
        -  "posts.tags",
        -  "posts.recordDate",
        -  "posts.image"
        -]New value: +[
        +  "query",
        +  "facetSource",
        +  "webUrl",
        +  "facets.breed",
        +  "facets.coatColor",
        +  "facets.pose",
        +  "facets.activity",
        +  "facets.scene",
        +  "facets.mood",
        +  "total",
        +  "catTotal",
        +  "postTotal",
        +  "hasMore",
        +  "nextCursor",
        +  "cats.id",
        +  "cats.url",
        +  "cats.webUrl",
        +  "cats.name",
        +  "cats.breed",
        +  "cats.breedId",
        +  "cats.intro",
        +  "cats.avatar",
        +  "cats.imageUrl",
        +  "cats.thumbnail",
        +  "posts.id",
        +  "posts.url",
        +  "posts.webUrl",
        +  "posts.caption",
        +  "posts.tags",
        +  "posts.recordDate",
        +  "posts.image",
        +  "posts.imageUrl",
        +  "posts.thumbnail",
        +  "posts.catId",
        +  "posts.catUrl",
        +  "posts.reactions.likes",
        +  "posts.reactions.cute",
        +  "posts.reactions.funny",
        +  "posts.reactions.total"
        +]
      • addedInput schema / properties / kind
        Added value: +{
        +  "default": "all",
        +  "enum": [
        +    "all",
        +    "posts",
        +    "cats"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / query / description
        Previous value: -"고양이 이름, 품종, 기록 내용 또는 태그"New value: +"고양이 이름, 품종, 기록 내용 또는 태그. facet만 검색할 때 생략 가능"
      • addedInput schema / properties / sort
        Added value: +{
        +  "default": "latest",
        +  "enum": [
        +    "latest",
        +    "popular",
        +    "cute",
        +    "funny"
        +  ],
        +  "type": "string"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "query"
        -]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "catTotal": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "cats": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "avatar": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "breed": {
        +            "type": "string"
        +          },
        +          "breedId": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "intro": {
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "thumbnail": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "url": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "webUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "code": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "facetSource": {
        +      "type": "string"
        +    },
        +    "facets": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "activity": {
        +          "type": "string"
        +        },
        +        "breed": {
        +          "type": "string"
        +        },
        +        "coatColor": {
        +          "type": "string"
        +        },
        +        "mood": {
        +          "type": "string"
        +        },
        +        "pose": {
        +          "type": "string"
        +        },
        +        "scene": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "nextCursor": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "postTotal": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "posts": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "caption": {
        +            "type": "string"
        +          },
        +          "catId": {
        +            "type": "string"
        +          },
        +          "catUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "image": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "reactions": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "cute": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "funny": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "likes": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "total": {
        +                "minimum": 0,
        +                "type": "integer"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "recordDate": {
        +            "type": "string"
        +          },
        +          "tags": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "thumbnail": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "url": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "webUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "webUrl": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedshow_cat_photos5 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "limit": 6,
        +    "sort": "cute"
        +  },
        +  {
        +    "query": "케이짱",
        +    "sort": "latest"
        +  }
        +]
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "The previous nextCursor. Keep query, facets, sort and kind unchanged.",
        +  "maxLength": 2048,
        +  "minLength": 1,
        +  "type": "string"
        +}
      • addedInput schema / properties / facets
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "activity": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "breed": {
        +      "description": "Breed ID or a recorded breed name",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "coatColor": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "mood": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "pose": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "scene": {
        +      "description": "A term actually present in public captions or tags; never an inferred visual attribute.",
        +      "maxLength": 40,
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • changedInput schema / properties / fields / items / enum
        Previous value: -[
        -  "source.name",
        -  "source.url",
        -  "query",
        -  "breed",
        -  "matched",
        -  "sort",
        -  "moreUrl",
        -  "photos.postId",
        -  "photos.url",
        -  "photos.image",
        -  "photos.thumbnail",
        -  "photos.caption",
        -  "photos.catName",
        -  "photos.catUrl",
        -  "photos.breed",
        -  "photos.recordDate"
        -]New value: +[
        +  "source.name",
        +  "source.url",
        +  "query",
        +  "breed",
        +  "matched",
        +  "sort",
        +  "moreUrl",
        +  "webUrl",
        +  "total",
        +  "catTotal",
        +  "postTotal",
        +  "hasMore",
        +  "nextCursor",
        +  "photos.postId",
        +  "photos.url",
        +  "photos.webUrl",
        +  "photos.image",
        +  "photos.imageUrl",
        +  "photos.thumbnail",
        +  "photos.caption",
        +  "photos.catId",
        +  "photos.catName",
        +  "photos.catUrl",
        +  "photos.breed",
        +  "photos.recordDate",
        +  "photos.reactions.likes",
        +  "photos.reactions.cute",
        +  "photos.reactions.funny",
        +  "photos.reactions.total",
        +  "photos.popularity.metric",
        +  "photos.popularity.score"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "breed": {
        +      "type": "string"
        +    },
        +    "catTotal": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "code": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "hasMore": {
        +      "type": "boolean"
        +    },
        +    "matched": {
        +      "type": "boolean"
        +    },
        +    "moreUrl": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    },
        +    "nextCursor": {
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "photos": {
        +      "items": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "breed": {
        +            "type": "string"
        +          },
        +          "caption": {
        +            "type": "string"
        +          },
        +          "catId": {
        +            "type": "string"
        +          },
        +          "catName": {
        +            "type": "string"
        +          },
        +          "catUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "image": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "imageUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "popularity": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "metric": {
        +                "type": "string"
        +              },
        +              "score": {
        +                "minimum": 0,
        +                "type": "integer"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "postId": {
        +            "type": "string"
        +          },
        +          "reactions": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "cute": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "funny": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "likes": {
        +                "minimum": 0,
        +                "type": "integer"
        +              },
        +              "total": {
        +                "minimum": 0,
        +                "type": "integer"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "recordDate": {
        +            "type": "string"
        +          },
        +          "thumbnail": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "url": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          },
        +          "webUrl": {
        +            "pattern": "^https?://",
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "postTotal": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "sort": {
        +      "type": "string"
        +    },
        +    "source": {
        +      "additionalProperties": false,
        +      "properties": {
        +        "name": {
        +          "type": "string"
        +        },
        +        "url": {
        +          "pattern": "^https?://",
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "total": {
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "webUrl": {
        +      "pattern": "^https?://",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
  4. 4 tool updates
    • Changedget_cat_profile1 field changed
      • addedInput schema / properties / fields
        Added value: +{
        +  "description": "선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.",
        +  "items": {
        +    "enum": [
        +      "id",
        +      "url",
        +      "name",
        +      "breed",
        +      "breedId",
        +      "avatar",
        +      "age",
        +      "gender",
        +      "intro",
        +      "personalityTags",
        +      "isMemorial"
        +    ],
        +    "type": "string"
        +  },
        +  "maxItems": 32,
        +  "minItems": 1,
        +  "type": "array",
        +  "uniqueItems": true
        +}
    • Changedget_public_post1 field changed
      • addedInput schema / properties / fields
        Added value: +{
        +  "description": "선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.",
        +  "items": {
        +    "enum": [
        +      "id",
        +      "url",
        +      "caption",
        +      "tags",
        +      "recordDate",
        +      "image",
        +      "createdAt",
        +      "images",
        +      "cat.id",
        +      "cat.url",
        +      "cat.name",
        +      "cat.breed",
        +      "cat.breedId"
        +    ],
        +    "type": "string"
        +  },
        +  "maxItems": 32,
        +  "minItems": 1,
        +  "type": "array",
        +  "uniqueItems": true
        +}
    • Changedsearch_public_content1 field changed
      • addedInput schema / properties / fields
        Added value: +{
        +  "description": "선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.",
        +  "items": {
        +    "enum": [
        +      "query",
        +      "cats.id",
        +      "cats.url",
        +      "cats.name",
        +      "cats.breed",
        +      "cats.breedId",
        +      "cats.intro",
        +      "cats.avatar",
        +      "posts.id",
        +      "posts.url",
        +      "posts.caption",
        +      "posts.tags",
        +      "posts.recordDate",
        +      "posts.image"
        +    ],
        +    "type": "string"
        +  },
        +  "maxItems": 32,
        +  "minItems": 1,
        +  "type": "array",
        +  "uniqueItems": true
        +}
    • Changedshow_cat_photos2 fields changed
      • addedInput schema / properties / fields
        Added value: +{
        +  "description": "선택. 필요한 공개 결과 필드만 반환합니다. 배열 안 필드는 photos.url처럼 지정합니다.",
        +  "items": {
        +    "enum": [
        +      "source.name",
        +      "source.url",
        +      "query",
        +      "breed",
        +      "matched",
        +      "sort",
        +      "moreUrl",
        +      "photos.postId",
        +      "photos.url",
        +      "photos.image",
        +      "photos.thumbnail",
        +      "photos.caption",
        +      "photos.catName",
        +      "photos.catUrl",
        +      "photos.breed",
        +      "photos.recordDate"
        +    ],
        +    "type": "string"
        +  },
        +  "maxItems": 32,
        +  "minItems": 1,
        +  "type": "array",
        +  "uniqueItems": true
        +}
      • changedInput schema / properties / query / maxLength
        Previous value: -40New value: +80
  5. 4 tool updates
    • First observedget_cat_profile
    • First observedget_public_post
    • First observedsearch_public_content
    • First observedshow_cat_photos

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI models to retrieve random or specified numbers of fictional cats with names, descriptions, and images.
    -
  • A
    license
    A
    quality
    D
    maintenance
    Global reptile & exotic pet knowledge base. 633 species, AI identification, genetics calculator, 12-dimension care, health diagnosis, pricing, provenance. Free 9 tools, 10 req/min.
    9
    2
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Veterinary clinic network in Moscow (20 clinics, open 24/7). Find a clinic with live ratings, check live prices for 900+ services, see open appointment slots, book a real visit, run a vet-approved symptom triage, check pet food safety, and query a knowledge base of 3,700+ vet-reviewed Q&As. Remote Streamable HTTP server at https://bio.vet/mcp, no auth required. Tools operate in Russian.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources