Skip to main content
Glama

BoxTier Basketball Receipt

BoxTier 농구 영수증 PNG 만들기

create_basketball_receipt

박스티어(BoxTier) 스타일의 농구 경기 영수증 PNG를 만든다. 이 출력에는 BoxTier API만 사용한다. 성공 시 완성된 최종 PNG 한 장은 tool result의 content[0]에 type=image, mimeType=image/png, raw Base64 data로 직접 첨부되고, structuredContent.downloadUrl에는 동일 PNG 원본을 내려받는 단기 만료 링크가 제공된다. API가 반환한 PNG 원본만 사용자에게 그대로 전달하고 재합성·재렌더·임의 편집하지 않는다. 별도 위젯을 열지 않고 처리 중·완료 문구를 별도로 반복하지 않는다. 반환된 image content 또는 downloadUrl을 영수증 결과로 사용자에게 직접 제시하고 metadata만으로 완료 처리하지 않는다. structuredContent는 첨부 여부·바이트 길이·실제 크기·SHA-256 검증값을 제공한다. 네이티브 대화 이미지 첨부 여부와 기본 도구 실행 UI는 MCP 클라이언트가 결정한다. 사용자가 ‘박스티어로 영수증 만들어줘’, 농구 감열지 영수증, basketball game receipt, score receipt를 요청했고 팀명·최종 점수·경기 날짜·장소·경기 형식을 모두 실제 값으로 제공했을 때만 사용한다. 사용자가 엠블럼 이미지를 첨부하면 홈·원정에 맞춰 homeEmblemFile·awayEmblemFile로 전달한다. 원형 파일은 강제하지 않는다. 가능하면 투명 배경 정사각형 캔버스에 실제 도안만 담고 원형 테두리·회색 원판은 미리 넣지 않는다. 서버가 알파 전경의 실제 경계와 중심을 계산해 원형 안전영역 안에 비율 유지·자동 중앙 정렬하고 스타일 변환하며 저장하지 않는다. 경기사진은 지원하지 않으므로 boxtier.kr 영수증 페이지 이용을 안내한다. 누락값을 추측하지 말고 먼저 사용자에게 물어본다. 농구 외 경기, 허위 경기 기록, 상거래 영수증에는 사용하지 않는다.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
styleNo영수증 스타일. 감열지 영수증은 thermal, 스코어 포스터는 score.thermal
venueYes경기 장소.
formatYes경기 형식.
localeNo영수증 언어.ko
presetNoPNG 출력 형식. thermal story는 종이 경계만 내보내며 찢긴 상·하단 바깥은 완전 투명하다. feed는 1080x1350 배경을 포함한다. score story는 1080x1920이다.story
commentNo짧은 영수증 문구.
awayTeamYes원정팀 이름.
homeTeamYes홈팀 이름.
playedOnYes경기 날짜, YYYY-MM-DD.
awayScoreYes원정팀 최종 점수.
homeScoreYes홈팀 최종 점수.
awayEmblemNo선택 원정 엠블럼. 투명 배경 정사각형 캔버스에 실제 도안만 넣어 전달하는 것을 권장하며 원형 테두리·회색 원판을 미리 합성하지 않는다. 서버가 알파 전경의 실제 경계와 중심을 계산해 원형 안전영역 안에 비율 유지·자동 중앙 정렬하고, thermal은 전경만 4단계 회색조로 변환한다. 생략하면 중립 엠블럼을 사용한다.
homeEmblemNo선택 홈 엠블럼. 투명 배경 정사각형 캔버스에 실제 도안만 넣어 전달하는 것을 권장하며 원형 테두리·회색 원판을 미리 합성하지 않는다. 서버가 알파 전경의 실제 경계와 중심을 계산해 원형 안전영역 안에 비율 유지·자동 중앙 정렬하고, thermal은 전경만 4단계 회색조로 변환한다. 생략하면 중립 엠블럼을 사용한다.
playedTimeNo경기 시각, HH:mm.20:30
debugBase64No개발 확인용. true이면 생성된 PNG의 base64 문자열을 structuredContent에도 포함한다.
matchNatureNo경기 성격.competitive
periodScoresNo쿼터·하프·연장별 점수. 합계는 최종 점수와 같아야 함.
awayEmblemFileNoChatGPT에 첨부한 원정팀 엠블럼. 투명 배경 정사각형 캔버스를 권장하고 원형 테두리·회색 원판은 미리 넣지 않는다. 서버가 실제 알파 전경을 원형 안전영역에 자동 중앙 정렬한다. awayEmblem과 동시에 전달하지 않는다.
homeEmblemFileNoChatGPT에 첨부한 홈팀 엠블럼. 투명 배경 정사각형 캔버스를 권장하고 원형 테두리·회색 원판은 미리 넣지 않는다. 서버가 실제 알파 전경을 원형 안전영역에 자동 중앙 정렬한다. homeEmblem과 동시에 전달하지 않는다.
tournamentNameNo대회명.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only provide generic false hints, so the description carries the full burden and does so exceptionally. It discloses the exact output routing (content[0] type=image, mimeType=image/png, raw Base64), the short-lived downloadUrl in structuredContent, the SHA-256 verification value, the requirement to pass the original PNG through without editing/compositing, and the behavior of not opening widgets or repeating status messages. This goes far beyond what annotations provide.

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 description is long but every section earns its place with non-obvious behavioral details. It is front-loaded with the core purpose and output format, then moves to constraints and exclusions. The main downside is the lack of paragraph breaks, making it a wall of text that slightly reduces scanability. Still, no repetitive filler.

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 tool with 20 parameters, nested objects, and an output schema, the description is remarkably complete. It covers trigger conditions, input completeness, output delivery, structuredContent contents, emblem handling rules, forbidden use cases, and fallback guidance for unsupported game photos. The output schema exists, so return values do not need explanation, and nothing important appears 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%, so the schema documents all parameters well. The description still adds value by clarifying when to use homeEmblemFile vs awayEmblemFile (when user attaches emblems), how to handle transparent backgrounds and round files, and the distinction between thermal and score presets. It does not defer all param meaning to the schema, though it leaves some param-specific details to the schema's already-rich descriptions.

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 creates a BoxTier-style basketball game receipt PNG. It distinguishes itself from siblings like fetch, search, and list_my_match_records by explicitly saying this is the BoxTier receipt generator and even restricts usage to basketball receipts only. The scope is unambiguous.

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?

The description provides explicit when-to-use conditions: only when the user requests a BoxTier receipt and provides all required real values (team names, final score, date, venue, format). It also gives explicit when-not-to-use guidance: no non-basketball games, fake records, or commercial receipts; for game photos it instructs to direct the user to the boxtier.kr page. It also says to ask the user for missing values rather than guessing, which directly helps an agent choose correct behavior.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct job: searching, fetching one match detail, checking account state, listing personal match records, and generating the receipt. Even though search and fetch are related, their boundary—list vs. detail-by-id—is explicit and unlikely to cause selection errors.

Naming Consistency3/5

Three tools follow the verb_noun pattern (create_basketball_receipt, get_my_boxtier_account, list_my_match_records), but 'search' and especially the generic 'fetch' deviate by having no object or domain qualifier. The set is still readable, but it is not a consistent naming convention.

Tool Count5/5

Five tools form a well-rim scope for the server's dual purpose of discovering/matching rooms and generating receipts from user or match data. There are no redundant or decorative tools, and each tool occupies a necessary step in the intended workflows.

Completeness4/5

The main flows are covered: login/limit check → list personal matches or search rooms → receipt creation. The only notable gap is the lack of a way to retrieve or manage previously generated receipts, but users can still be re-run receipt generation from existing match records, so workaround exists.