Skip to main content
Glama

This Weekend (이번 주말)

Server Details

Festivals, shows and exhibitions across South Korea, searchable by date and area. No auth.

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
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 7 tools

Disambiguation4/5

Most tools target clearly distinct operations (id lookup, coverage metadata, report status, submit new event, report change to existing event). The only real overlap is ask_events vs search_events, both of which find events; the descriptions do mitigate this by explicitly saying search_events is more accurate when date/region are already known, but an agent still has to choose between two search entry points. submit_event vs report_event_change are distinguishable by 'new event' vs 'changed/cancelled existing event'.

Naming Consistency4/5

All names are snake_case verb_noun (get_event, search_events, submit_event, get_report_status), which is predictable. Minor deviations: ask_events uses a vaguer verb than search_events for a similar action, and report_event_change is a three-part name that breaks the two-token pattern.

Tool Count5/5

Seven tools is well within the ideal 3-15 range and each one covers a distinct facet: discovery (NL and structured), detail retrieval, data coverage, submission, correction, and report tracking. No tool feels redundant padding.

Completeness4/5

The surface covers the full user lifecycle for an events discovery service: find (ask/search), inspect (get_event), check data freshness (coverage), contribute (submit_event), correct (report_event_change), and track (get_report_status). Minor gaps: no way to list a user's own submissions or cancel/withdraw a pending report, and no browse-by-category without a query string.

Available Tools

7 tools
ask_events물어서 행사 찾기A
Read-onlyIdempotent
Inspect

한 문장으로 물으면(예: 이번 주말 부산 불꽃축제, 来週の土曜日 ソウル 展示, free concerts in Seoul on 2026-11-07) 그 말에서 날짜, 지역, 찾는 낱말을 읽어 행사를 찾습니다. 한국어, 영어, 일본어, 중국어로 물을 수 있습니다. 사이트 채팅과 같은 규칙과 뜻 검색으로 읽고 모델은 부르지 않으며, 어떻게 읽었는지 read에 적습니다. 날짜가 없으면 오늘부터 이번 주말까지 찾고, 그 사이에 없으면 60일 안에서 찾습니다. "다음 주는?"처럼 이어 묻는 질문은 앞 질문을 previous에 넣으면 빠진 주제, 지역, 날짜를 거기서 가져옵니다. 날짜와 지역을 이미 알면 search_events가 더 정확합니다.

NameRequiredDescriptionDefault
limitNo한 번에 받을 최대 개수. 1부터 20까지이고 기본값은 10입니다.
previousNo같은 대화에서 앞서 물은 질문들. 오래된 것부터 3개까지 넣습니다. 이번 질문에 없는 주제, 지역, 날짜는 그 말을 한 가장 최근 질문에서 가져옵니다.
questionYes묻고 싶은 말 한 문장(200자 이하). 날짜는 이번 주말, 11월 3일, 2026-11-07처럼 씁니다.

Output Schema

NameRequiredDescription
noteYes넓혀 찾았거나 답하지 못한 까닭을 한 문장으로 적습니다. 없으면 null입니다.
readYes질문을 어떻게 읽었는지입니다.
limitYes
rangeYes찾은 날짜 범위(한국 시간). 읽은 날짜가 없으면 null입니다.
totalYes질문에 맞는 행사 수. 가까운 순으로 고른 후보에서 세므로 최대 40입니다.
eventsYes
coverageYes모아 둔 자료의 날짜 범위와 마지막 수집 시각. stale이 true면 저장소 대신 예비 사본에서 읽은 자료입니다.
questionYes
returnedYes
elsewhereYes물은 지역에는 맞는 행사가 없고 다른 곳에는 있을 때만 붙습니다. places는 가까운 시·도부터 그곳 행사 수(count)를, total은 전국 행사 수를 적습니다. 아니면 null입니다.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safe-read profile, and the description adds real context beyond them: no model is called, matching uses the same rules and stemming as site chat, and the interpretation is reported back in a read field. It also discloses the date-fallback ladder, though it does not describe result shape or limit behavior.

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 core behavior and the sibling routing comes last, which is the right order. It is dense and slightly repetitive with three example sentences plus repeated language notes, but each sentence carries information an agent needs.

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?

A conversational, rule-based lookup tool with an output schema (including the read field the description references), full parameter documentation, and an explicit fallback policy. Everything needed to invoke it correctly is present.

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 genuine meaning for previous — that missing topic, region, and date are inherited from the most recent prior question — beyond the schema's own wording. It also clarifies what the single question string may contain across languages.

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: reads date, region, and keywords out of one sentence and finds events with it. It explicitly contrasts with search_events for the case where date and region are already known, so an agent can tell it apart from its siblings.

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 concrete when-to-use examples in four languages, says what happens when no date is present (today through weekend, then widening to 60 days), how to chain follow-up questions via previous, and names search_events as the alternative when date/region are known. 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.

get_event행사 상세A
Read-onlyIdempotent
Inspect

행사 id로 일정, 장소, 요금, 예약 안내, 출처 링크를 가져옵니다.

NameRequiredDescriptionDefault
idYessearch_events 결과에 있는 행사 id.

Output Schema

NameRequiredDescription
idYes
feeYes제공처가 적은 요금 안내 문구. 없으면 null입니다.
urlYes사람이 보는 이 사이트의 행사 상세 페이지 주소.
cityYes
freeYestrue는 무료, false는 유료, null은 모름. fee에 금액이 적혀 있으면 true로 두지 않습니다.
tagsYes행사 글에서 읽은 태그: 누구와(kids, family 등), 어디서(indoor, outdoor), 무엇을, 주제, 저녁(evening), 요금(free, partly-paid, paid), 들어가기(book-ahead, walk-in). 없는 태그는 모름입니다.
hoursYes
placeYes
titleYes
addressYes
bookingYes
endDateYes
sourcesYes
summaryYes
audienceYes
categoryYes
districtYes
imageUrlYes
latitudeYes
amenitiesYes판정 모델이 행사 글을 읽고 확실할 때만 붙이는 편의: parking(available 주차 가능, limited 주차 어려움), pets(allowed 반려동물 동반 가능, banned 동반 불가), rain(goesOn 비가 와도 진행, mayStop 비가 오면 취소·연기될 수 있음), access(offered 휠체어·유모차 이용 가능). 없는 항목은 모름이고, 하나도 없으면 null입니다.
longitudeYes
organizerYes
sourceUrlYes자료를 가져온 곳의 안내 주소.
startDateYes
sourceNameYes
imageCreditYes
officialUrlYes주최 측 공식 안내 주소. 공공데이터 목록 페이지는 넣지 않습니다.
locationNoteYes좌표가 행사 장소 자체가 아닐 때(읍·면·동 일대, 여러 곳 중 대표 위치) 붙는 안내 문구입니다. 그 밖에는 null입니다.
scheduleNeedsReviewYestrue면 날짜가 확실하지 않으니 공식 안내에서 날짜를 다시 확인해야 합니다.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, non-open-world, so the safety profile is fully covered elsewhere. The description's added value is limited to naming the categories of data returned, without saying anything about missing/expired events, freshness, or rate behavior.

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?

One compact sentence that front-loads the keying mechanism (id) and then lists the payload. Nothing is redundant or padded, though there is no structure beyond a single clause.

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 one required parameter at full schema coverage, an output schema, and rich annotations, the description needs to do little and it covers the essential what-and-by-what. A brief note on behavior for unknown or stale ids would close the remaining gap.

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 the single parameter already documents that the id comes from search_events results. The phrase '행사 id로' adds no syntax, format, or constraint information beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The description states a specific verb (가져옵니다 / fetch) and resource (행사 / event) and enumerates what is retrieved: schedule, venue, fees, reservation guidance, source links. It is clearly a single-record lookup, distinguishable in practice from search_events, though it never explicitly contrasts itself with that sibling.

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

Usage Guidelines3/5

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

Usage is only implied: 'by event id' suggests this is a detail fetch following a search, but the description never says to use it after search_events or when to prefer it over ask_events. The only workflow hint ('행사 id from search_events results') lives in the schema, not the description.

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

get_event_coverage수집 범위A
Read-onlyIdempotent
Inspect

지금 담긴 행사 자료의 날짜 범위와 마지막 수집 시각을 알려 줍니다. 검색 결과가 비었을 때 먼저 확인하세요.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
coverageYes모아 둔 자료의 날짜 범위와 마지막 수집 시각. stale이 true면 저장소 대신 예비 사본에서 읽은 자료입니다.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare this is a safe, read-only, idempotent, closed-world read, so the safety profile is covered. The description adds the key behavioral fact not in annotations: it exposes data freshness (last collection time) so the agent can judge staleness. Return formatting is left to the output schema, which is appropriate.

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?

Two short sentences: the first states what is returned, the second states the triggering condition. Nothing is wasted and the core purpose is front-loaded.

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 zero parameters, a full output schema, and rich annotations, the only thing the description must supply is purpose and when-to-call, both of which are present. An agent can invoke this correctly with no further information.

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?

The tool takes no parameters, so there is nothing for the description to disambiguate; the baseline for zero-param tools applies. The description correctly implies the call requires no input.

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 reports the date range of the event data currently collected plus the last collection timestamp. That is concrete and distinguishable from get_report_status or get_event, though it never names a sibling tool explicitly.

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 an explicit trigger — 'check this first when search results are empty' — which is a clear, actionable usage context tied to search_events. There are no stated exclusions or alternative-routing rules beyond that single condition.

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

get_report_status제보 검토 결과A
Read-onlyIdempotent
Inspect

보낸 제보가 검토 중인지, 반영됐는지, 반려됐는지 알려 줍니다. 반려됐으면 운영자가 적은 사유도 함께 줍니다. 제보할 때 받은 reportId와 editKey가 있어야 합니다.

NameRequiredDescriptionDefault
editKeyYes제보할 때 받은 editKey.
reportIdYes확인할 제보의 reportId.

Output Schema

NameRequiredDescription
toolYes이 제보를 고칠 때 부르는 도구.
fieldsYes지금 저장된 제보 내용.
reasonYes반려 사유. 반려됐을 때만 있고 아니면 null입니다.
eventIdYes반영된 행사의 id. 승인됐을 때만 있고 아니면 null입니다.
messageYes
reportIdYes제보의 접수 번호. 고쳐서 다시 접수한 제보면 가장 최근 접수 번호입니다.
canReviseYestrue면 tool에 적힌 도구에 reportId와 editKey를 넣어 고칠 수 있습니다.
revisionOfYes반려된 제보를 고쳐 다시 접수했다면 반려된 이전 접수 번호입니다. 아니면 null입니다.
reviewStatusYespending은 검토 전, approved는 반영됨, rejected는 반영하지 않음입니다. already_listed면 null입니다.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive, so safety is covered. The description adds real value by disclosing the three outcome states and that a rejection reason accompanies a rejected status, telling the agent what result shape to expect.

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?

Three short sentences with no waste; the core status-checking purpose is stated first, the rejection reason second, and the credential prerequisite last.

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 rich annotations, fully described parameters, and a separate output schema, the description only needs to frame purpose and outcome states, which it does. The only missing piece is any indication of error behavior for an invalid or expired editKey.

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%, so both parameters are already documented. The description only adds that the reportId and editKey are the ones received when filing the report, which is marginal provenance detail rather than a syntax or format clarification.

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 gives a specific verb and resource: it reports whether a submitted report is under review, accepted, or rejected, and returns the operator's reason when rejected. Its purpose is clearly distinct from siblings like submit_event and report_event_change, though it never names them explicitly.

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

Usage Guidelines3/5

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

It states the prerequisite that the caller must have the reportId and editKey handed out at submission time, which implies the tool is used after submitting a report. There is no explicit when-not guidance or routing to alternatives.

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

report_event_change행사 정정 제보A
Idempotent
Inspect

지도에 있는 행사의 일정, 장소, 요금, 예약 방식이 바뀌었거나 행사가 취소됐다고 알립니다. 바뀐 경우에는 운영자가 그대로 반영할 수 있도록 바뀐 값을 인자로 함께 넣습니다. 운영자가 승인한 뒤에만 반영합니다. 사용자가 제보하겠다고 할 때만 부르세요.

NameRequiredDescriptionDefault
feeNo요금이 바뀌었을 때 지금 요금. free는 무료, paid는 유료입니다.
urlYes바뀐 내용을 확인할 수 있는 http 또는 https 주소.
cityNo새 장소의 시·도 id. 장소가 바뀌었을 때 넣습니다.
typeYeschange는 일정, 장소, 요금, 예약 방식이 바뀐 경우이고 cancel은 행사가 취소된 경우입니다. change면 바뀐 값을 startDate, place, fee 같은 인자로 함께 넣습니다.
placeNo새 장소 이름. 장소가 바뀌었으면 city, district, address, latitude, longitude와 함께 넣습니다.
addressNo새 장소의 도로명 주소. 장소가 바뀌었을 때 넣습니다.
bookingNo예약 방식이 바뀌었을 때 지금 방식. none은 예약 없이 입장, optional은 예약을 받지만 필수는 아님, required는 예약 필수입니다.
editKeyNo제보를 처음 보냈을 때 받은 editKey. reportId와 함께 넣습니다.
endDateNo새 끝 날짜(YYYY-MM-DD). 날짜가 바뀌었으면 startDate와 함께 넣습니다.
endTimeNo새 끝 시간(HH:MM, 24시간제).
eventIdYes바뀐 행사의 id. search_events나 get_event 결과에 있습니다.
districtNo새 장소의 시·군·구 이름. 장소가 바뀌었을 때 넣습니다.
latitudeNo새 장소의 위도(WGS84). 장소가 바뀌었을 때 넣습니다.
reportIdNo이미 보낸 제보를 고칠 때 넣는 reportId. editKey와 함께 넣으면 새로 접수하지 않고 그 제보를 고칩니다. 검토 전이면 내용이 바로 바뀌고, 반려된 제보는 고친 내용으로 다시 접수합니다.
longitudeNo새 장소의 경도(WGS84). 장소가 바뀌었을 때 넣습니다.
startDateNo새 시작 날짜(YYYY-MM-DD). 날짜가 바뀌었으면 endDate와 함께 넣습니다.
startTimeNo새 시작 시간(HH:MM, 24시간제).
descriptionYes무엇이 어떻게 바뀌었는지 10자 이상. 예: 10월 12일 공연이 10월 19일로 미뤄졌습니다.

Output Schema

NameRequiredDescription
eventYes관련된 공개 행사. submit_event에서는 already_listed일 때만 들어 있습니다.
editKeyYes제보를 고치거나 검토 결과를 볼 때 쓰는 키. 새로 접수할 때 한 번만 알려 주니 reportId와 함께 사용자에게 전하거나 보관해 두세요. duplicate와 already_listed면 null입니다.
messageYes
outcomeYesreceived는 새로 접수함, updated는 검토 전인 제보를 고침, resubmitted는 반려된 제보를 고쳐 다시 접수함, duplicate는 같은 제보가 이미 있음, already_listed는 지도에 이미 있는 행사라 접수하지 않음입니다.
reportIdYes접수 번호. already_listed면 null입니다.
revisionOfYes반려된 제보를 고쳐 다시 접수했다면 반려된 이전 접수 번호입니다. 아니면 null입니다.
reviewStatusYespending은 검토 전, approved는 반영됨, rejected는 반영하지 않음입니다. already_listed면 null입니다.

TDQS

A4.1/5.0
Behavior4/5

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

The annotations already declare that this is a non-read-only, idempotent, non-destructive tool. The description adds important process context: changed values must be supplied as arguments, and the change is applied only after operator approval.

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?

The description is four sentences, front-loads the purpose, then covers changed-value inclusion, approval, and the call trigger. It is dense and free of repetition.

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?

Given the full schema, output schema, and annotations, the description supplies the key missing context: operator approval is required and the tool should be called only when the user intends to report. No essential invocation context is missing.

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 the schema already documents all 18 parameters in detail. The description reinforces that only changed values should be included, but adds little parameter-specific meaning beyond what the schema provides.

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 action and resource: reporting that a mapped event's schedule, place, fee, or booking changed, or that the event was cancelled. It clearly separates the change and cancellation cases, but does not explicitly distinguish this tool from siblings such as submit_event or get_report_status.

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 a clear trigger and a restriction: call only when the user says they will report an event change. It does not name the alternative tools for related tasks, so the routing guidance is strong but incomplete.

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

search_events행사 찾기A
Read-onlyIdempotent
Inspect

날짜, 지역, 검색어로 공개 행사를 찾습니다. 날짜를 비우면 이번 주말(한국 시간) 행사를 찾습니다. 결과가 limit보다 많으면 nextOffset을 offset에 넣어 이어서 받습니다. 검색어가 든 행사가 없으면 뜻이 비슷한 말로 한 번 더 찾고, 그때 쓴 말을 related에 적습니다.

NameRequiredDescriptionDefault
areaNo지역 이름. 시·도(서울, 부산)나 시·군·구(마포구, 전주시)를 넣습니다.
freeNotrue면 무료 행사만, false면 유료 행사만 찾습니다. 비우면 요금을 따지지 않습니다.
tagsNo이 태그가 모두 붙은 행사만 찾습니다. 태그는 행사 글에 적힌 말에서 읽은 것이라, 없으면 "아님"이 아니라 "모름"입니다. 쓸 수 있는 이름: kids, family, teens, adults, seniors, pets, indoor, outdoor, watch, hands-on, food, market, walk, learn, heritage, nature, science, lights, fireworks, books, seasonal, halloween, christmas, year-end, new-year, evening, free, partly-paid, paid, book-ahead, walk-in.
limitNo한 번에 받을 최대 개수. 1부터 50까지이고 기본값은 20입니다.
queryNo행사 이름, 장소, 분야, 주최에서 찾을 낱말.
offsetNo앞에서 건너뛸 개수. 이전 결과의 nextOffset을 넣으면 다음 묶음을 받습니다. 기본값은 0입니다.
endDateNo끝 날짜(YYYY-MM-DD). 비우면 시작 날짜 하루만 찾고, 시작 날짜도 비었으면 이번 주말 마지막 날까지 찾습니다.
startDateNo시작 날짜(YYYY-MM-DD). 비우면 이번 주말 첫날입니다.

Output Schema

NameRequiredDescription
limitYes
rangeYes찾은 날짜 범위(한국 시간). endDate가 null이면 끝을 정하지 않은 것이고, includePast=1로 찾으면 range 자체가 null입니다.
totalYes조건에 맞는 행사 전체 개수.
eventsYes
offsetYes
relatedNo검색어가 든 행사가 없어서 뜻이 비슷한 말로 다시 찾았을 때만 붙습니다. events는 groups의 묶음마다 한 낱말 이상이 맞는 행사입니다.
coverageYes모아 둔 자료의 날짜 범위와 마지막 수집 시각. stale이 true면 저장소 대신 예비 사본에서 읽은 자료입니다.
returnedYes
nextOffsetYes다음 묶음을 받을 때 offset에 넣을 값. 남은 행사가 없으면 null입니다.

TDQS

A3.8/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 safety profile is covered; the description adds genuinely new behavior — the automatic synonym re-search with the terms reported in related, and the offset/nextOffset continuation rule. It does not discuss rate limits or result ordering, so it is not 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?

Four short sentences, front-loaded with purpose, then defaults, then pagination, then the fallback path. Every sentence carries information, though the pagination sentence partially duplicates the offset field description.

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 shape need not be explained, yet the description still names nextOffset and related, tying them to the workflow. Defaults are fully documented, leaving only ranking and result ordering unaddressed.

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 the baseline is 3; however, the description adds cross-parameter semantics that the schema does not spell out: omitting the dates defaults to the Korean-time weekend, and pagination continues by feeding nextOffset back into offset. That goes beyond field-by-field documentation.

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?

It combines a specific verb (찾습니다) with the resource (공개 행사) and the three filter axes (날짜, 지역, 검색어), so the agent can tell it is a multi-filter search rather than a single-record lookup like get_event. It does not explicitly contrast itself with ask_events or get_event_coverage, which keeps it at 4 rather than 5.

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

Usage Guidelines3/5

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

The description clearly states default behavior when date fields are empty (this weekend, Korea time), which is a usage condition, but it never says when to pick this tool over ask_events or get_event. Usage is implied by the filter descriptions rather than by explicit routing guidance.

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

submit_event행사 제보A
Idempotent
Inspect

지도에 없는 행사를 운영자 검토 대기열에 올립니다. 운영자가 그대로 승인할 수 있도록 일정, 분야, 장소 이름·주소·좌표, 설명, 확인용 url을 모두 넣어야 하고, 승인하기 전에는 공개되지 않습니다. 이미 지도에 있는 행사면 새로 올리지 않고 그 행사를 알려 줍니다. 사용자가 제보하겠다고 할 때만 부르세요.

NameRequiredDescriptionDefault
feeNofree는 무료, paid는 유료, unknown은 모름입니다. 기본값은 unknown입니다.unknown
urlYes운영자가 행사를 확인할 수 있는 http 또는 https 주소. 주최 측 안내 페이지가 가장 좋습니다.
cityYes행사가 열리는 시·도 id(seoul, busan 등).
kindYes행사 종류. 맞는 값이 없으면 기타를 고르고 kindOther에 종류를 적습니다.
placeYes장소 이름(두 글자 이상).
titleYes행사 이름. 두 글자 이상.
topicYes분야나 주제(예: 사진, 재즈).
addressYes장소의 도로명 주소.
bookingNonone은 예약 없이 입장, optional은 예약을 받지만 필수는 아님, required는 예약 필수, unknown은 모름입니다. 기본값은 unknown입니다.unknown
editKeyNo제보를 처음 보냈을 때 받은 editKey. reportId와 함께 넣습니다.
endDateYes끝 날짜(YYYY-MM-DD). 하루짜리 행사면 startDate와 같은 날짜를 넣습니다. 이미 끝난 행사는 받지 않습니다.
endTimeNo끝 시간(HH:MM, 24시간제). 모르면 비웁니다.
districtYes시·군·구 이름(종로구, 해운대구, 수원시). 서울은 25개 구 이름 중 하나여야 합니다.
latitudeYes장소의 위도(WGS84, 예: 37.5796). 지도에 핀을 꽂는 데 씁니다.
reportIdNo이미 보낸 제보를 고칠 때 넣는 reportId. editKey와 함께 넣으면 새로 접수하지 않고 그 제보를 고칩니다. 검토 전이면 내용이 바로 바뀌고, 반려된 제보는 고친 내용으로 다시 접수합니다.
kindOtherNokind가 기타일 때 적는 종류 이름(두 글자 이상).
longitudeYes장소의 경도(WGS84, 예: 126.9770).
startDateYes시작 날짜(YYYY-MM-DD, 한국 시간).
startTimeNo시작 시간(HH:MM, 24시간제). 모르면 비웁니다.
descriptionYes행사 설명 10자 이상. 출처에서 확인한 대상이나 프로그램을 적습니다. 승인되면 행사 페이지의 설명으로 쓰입니다.
locationModeNooffline은 현장 행사, hybrid는 현장과 온라인을 함께 하는 행사입니다. 온라인으로만 열리는 행사는 지도에 올릴 수 없어 받지 않습니다. 기본값은 offline입니다.offline

Output Schema

NameRequiredDescription
eventYes관련된 공개 행사. submit_event에서는 already_listed일 때만 들어 있습니다.
editKeyYes제보를 고치거나 검토 결과를 볼 때 쓰는 키. 새로 접수할 때 한 번만 알려 주니 reportId와 함께 사용자에게 전하거나 보관해 두세요. duplicate와 already_listed면 null입니다.
messageYes
outcomeYesreceived는 새로 접수함, updated는 검토 전인 제보를 고침, resubmitted는 반려된 제보를 고쳐 다시 접수함, duplicate는 같은 제보가 이미 있음, already_listed는 지도에 이미 있는 행사라 접수하지 않음입니다.
reportIdYes접수 번호. already_listed면 null입니다.
revisionOfYes반려된 제보를 고쳐 다시 접수했다면 반려된 이전 접수 번호입니다. 아니면 null입니다.
reviewStatusYespending은 검토 전, approved는 반영됨, rejected는 반영하지 않음입니다. already_listed면 null입니다.

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare readOnly=false, idempotent=true, destructive=false; the description adds the substantive behavior: submissions land in a review queue and stay unpublished until an operator approves them, and duplicate detection returns the existing event instead of writing. Both are consistent with the idempotent and non-read-only hints.

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?

Four short sentences, purpose front-loaded, each carrying distinct information (queue target, required payload, approval gating, duplicate behavior, invocation condition). No filler, though the required-field enumeration partially restates what the schema mandates.

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?

For a 21-parameter, 13-required tool the description covers the create path well, and an output schema exists so return values needn't be explained. However it never mentions the second mode — editing a prior submission via reportId + editKey — nor the offline/hybrid restriction, both of which affect whether the agent should call this tool.

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 coverage is 100%, so the schema already explains every field, including enums, formats, and bounds. The description enumerates the required set (schedule, topic, venue, coordinates, description, url) and explains why completeness matters for approval, but adds no format or usage detail beyond the schema; baseline 3 applies.

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?

States a specific verb and resource ('지도에 없는 행사를 운영자 검토 대기열에 올립니다') and scopes it to events not already on the map. It doesn't name the sibling report_event_change, which handles corrections to existing events, so the boundary with that sibling must be inferred.

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 an explicit gating condition, and the duplicate clause tells the agent not to create a new entry for already-mapped events. Missing is a named alternative (e.g. report_event_change for change requests), so the routing rule is clear but incomplete.

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. 7 tool updates
    • First observedask_events
    • First observedget_event
    • First observedget_event_coverage
    • First observedget_report_status
    • First observedreport_event_change
    • First observedsearch_events
    • First observedsubmit_event

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    Provides access to performance and festival information across South Korea using the KOPIS (Korea Performance Information System) API. Supports multiple platform integrations including KakaoTalk and web APIs through a modular adapter architecture.
    -
  • F
    license
    B
    quality
    Not graded
    maintenance
    Enables access to South Korea's Ministry of Gender Equality and Family youth activity information through public data API, supporting regional searches, keyword filtering, and activity discovery for youth programs.
    6
    4 npm
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources