Server definition
- Hash
- sha256:dc5fb49561c1a74095ebde3b5160aaee3d96eb093fb869207b31eb50fc5b5a40
- What it is
- What a remote MCP server returned when asked what it offers: 16 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "새 게시글을 작성합니다. write:posts 권한이 필요합니다.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category_id": {
"description": "카테고리 UUID",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"content": {
"description": "게시글 내용 (마크다운 가능)",
"minLength": 10,
"type": "string"
},
"title": {
"description": "게시글 제목",
"maxLength": 200,
"minLength": 2,
"type": "string"
}
},
"required": [
"title",
"content",
"category_id"
],
"type": "object"
},
"name": "create_post",
"outputSchema": null
},
{
"description": "제주 병의원(1,046곳)·약국(321곳)을 검색합니다. 출처: 국립중앙의료원 공공데이터. open_now=true 로 '지금 영업중'(한국시간 기준 서버 판정), day='sun' 으로 일요일 진료를 필터할 수 있습니다. 각 결과에 요일별 진료시간·전화·좌표가 포함됩니다.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"day": {
"description": "해당 요일에 여는 곳만 (hol=공휴일)",
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun",
"hol"
],
"type": "string"
},
"emergency": {
"description": "응급의료기관만 (병원)",
"type": "boolean"
},
"kind": {
"description": "시설 종류 (생략 시 전체)",
"enum": [
"병원",
"약국"
],
"type": "string"
},
"limit": {
"description": "최대 결과 수 (기본 10)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"name": {
"description": "이름 부분 일치 (예: 온누리약국)",
"type": "string"
},
"open_now": {
"description": "지금 영업중만 (한국시간 기준)",
"type": "boolean"
},
"region": {
"description": "읍·면·동 이름 또는 '제주시'/'서귀포시' (예: 노형동, 애월읍)",
"type": "string"
}
},
"type": "object"
},
"name": "find_facilities",
"outputSchema": null
},
{
"description": "광고 성과 통계를 조회합니다. admin 권한이 필요합니다.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_ad_stats",
"outputSchema": null
},
{
"description": "제주돌담 최신 피드를 가져옵니다. 카테고리 필터 가능.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "카테고리 이름('부동산','구인구직' 등) 또는 UUID (선택)",
"type": "string"
},
"limit": {
"description": "결과 수 (기본 10)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"page": {
"description": "페이지 번호 (기본 1)",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "get_feed",
"outputSchema": null
},
{
"description": "게시글 ID로 전체 내용을 조회합니다.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "게시글 UUID",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_post",
"outputSchema": null
},
{
"description": "제주 아파트 실거래 시세 통계입니다. 근거는 국토교통부 실거래 신고 데이터(호가 아님). region 없이 호출하면 통계 제공 가능한 지역 목록을 반환합니다. 표본이 부족한 지역은 suppressed=true 와 사유·대안 지역(fallback_region)을 반환하니, 그 경우 \"데이터가 없다\"가 아니라 표본 부족을 안내하고 대안 지역으로 재질의하세요.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"region": {
"description": "동/읍/면 이름 또는 '제주시'/'서귀포시' (생략 시 지역 목록)",
"type": "string"
}
},
"type": "object"
},
"name": "get_price_stats",
"outputSchema": null
},
{
"description": "사이트 전체 통계 (사용자 수, 게시글 수, 댓글 수 등). admin 권한 필요.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_site_stats",
"outputSchema": null
},
{
"description": "공개 유저 프로필을 조회합니다 (이메일 등 개인정보 제외).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"user_id": {
"description": "사용자 UUID",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"user_id"
],
"type": "object"
},
"name": "get_user_profile",
"outputSchema": null
},
{
"description": "제주돌담의 카테고리 목록과 각 카테고리의 게시글 수를 반환합니다.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_categories",
"outputSchema": null
},
{
"description": "카테고리별 페르소나 계정 목록을 반환합니다. 각 페르소나의 오늘 포스팅 여부(posted_today)와 소속 카테고리 정보를 포함합니다. post_as_persona로 글을 올리기 전에 호출해 어떤 페르소나가 오늘 아직 포스팅하지 않았는지 파악하세요.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_personas",
"outputSchema": null
},
{
"description": "특정 페르소나 계정([email protected])으로 게시글을 작성합니다. admin 권한이 필요합니다. 먼저 list_personas로 페르소나 목록과 카테고리 UUID를 확인하세요. 자동 포스팅(Claude cowork) 전용 도구입니다.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category_id": {
"description": "카테고리 UUID (list_personas 또는 list_categories 참고)",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"content": {
"description": "게시글 내용 (자연스러운 한국어)",
"minLength": 10,
"type": "string"
},
"persona_email": {
"description": "페르소나 이메일 주소 ([email protected] 형식)",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"title": {
"description": "게시글 제목",
"maxLength": 200,
"minLength": 2,
"type": "string"
}
},
"required": [
"persona_email",
"title",
"content",
"category_id"
],
"type": "object"
},
"name": "post_as_persona",
"outputSchema": null
},
{
"description": "구조화된 제주 채용 공고를 필터로 검색합니다. 지역·직종·급여 필터 지원. 급여는 원(KRW) 단위이며 wage_type(시급/일급/월급/연봉)과 함께 해석됩니다. 급여 비공개 공고는 wage_type='협의' 입니다.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"include_closed": {
"description": "마감 공고 포함 (기본 false)",
"type": "boolean"
},
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"occupation": {
"description": "직종·업체명 부분 일치 (예: 서빙, 카페, 사무)",
"type": "string"
},
"region": {
"description": "읍·면·동 이름 또는 '제주시'/'서귀포시'",
"type": "string"
},
"wage_min": {
"description": "최소 급여 (원) — wage_type 과 함께 쓰세요",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"wage_type": {
"enum": [
"시급",
"일급",
"월급",
"연봉",
"협의"
],
"type": "string"
}
},
"type": "object"
},
"name": "search_jobs",
"outputSchema": null
},
{
"description": "제주돌담 게시글을 키워드로 검색합니다. 공백으로 구분된 여러 단어는 모두 포함(AND)으로 검색됩니다. 카테고리는 한글 이름 또는 UUID.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "카테고리 이름('부동산','구인구직' 등) 또는 UUID (선택)",
"type": "string"
},
"limit": {
"description": "최대 결과 수 (기본 10)",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "검색 키워드",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_posts",
"outputSchema": null
},
{
"description": "구조화된 제주 부동산 매물을 필터로 검색합니다. 지역·매물유형·거래유형·가격·면적 필터 지원. 금액은 원(KRW) 단위입니다 (3억 → 300000000). 지역은 한글 이름 ('노형동', '애월읍', '제주시'). 월세 상한은 monthly_max, 연세(제주 특유 연 단위 임차) 상한은 yearly_max 를 사용하세요.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"area_max": {
"description": "면적 상한",
"exclusiveMinimum": 0,
"type": "number"
},
"area_min": {
"description": "면적 하한",
"exclusiveMinimum": 0,
"type": "number"
},
"deal_type": {
"enum": [
"매매",
"전세",
"월세",
"연세",
"단기"
],
"type": "string"
},
"include_expired": {
"description": "만료 매물 포함 (기본 false)",
"type": "boolean"
},
"limit": {
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"monthly_max": {
"description": "월세 상한 (원)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"price_max": {
"description": "매매가/전세가 상한 (원)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"price_min": {
"description": "매매가/전세가 하한 (원)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"property_type": {
"enum": [
"아파트",
"오피스텔",
"빌라연립",
"단독다가구",
"원룸",
"상가",
"사무실",
"토지",
"기타"
],
"type": "string"
},
"region": {
"description": "읍·면·동 이름 또는 '제주시'/'서귀포시' (시 단위는 산하 전체 포함)",
"type": "string"
},
"sort": {
"enum": [
"latest",
"price_asc",
"price_desc"
],
"type": "string"
},
"unit": {
"description": "면적 단위 (기본 ㎡)",
"enum": [
"㎡",
"평"
],
"type": "string"
},
"yearly_max": {
"description": "연세 상한 (원)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"type": "object"
},
"name": "search_property_listings",
"outputSchema": null
},
{
"description": "채용 게시글의 구조화 데이터를 저장합니다 (admin 전용). post_as_persona 직후 호출하세요. 급여는 원(KRW) 단위 정수, 비공개면 wage_type=협의 로 보내고 금액은 생략합니다.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"closes_at": {
"description": "마감일 ISO8601 (알면)",
"type": "string"
},
"contact_phone": {
"maxLength": 30,
"type": "string"
},
"employer_name": {
"maxLength": 120,
"type": "string"
},
"employment_type": {
"description": "정규직/계약직/알바 등",
"maxLength": 20,
"type": "string"
},
"location_raw": {
"description": "근무지 원문 (예: '제주시 용담로 97')",
"type": "string"
},
"occupation": {
"description": "직종 (예: '정육점 판매·매장관리')",
"maxLength": 80,
"type": "string"
},
"post_id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"source_name": {
"maxLength": 60,
"type": "string"
},
"source_ref": {
"maxLength": 120,
"type": "string"
},
"source_url": {
"format": "uri",
"type": "string"
},
"wage_max_krw": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"wage_min_krw": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"wage_type": {
"enum": [
"시급",
"일급",
"월급",
"연봉",
"협의"
],
"type": "string"
},
"work_hours_text": {
"maxLength": 200,
"type": "string"
}
},
"required": [
"post_id",
"location_raw",
"occupation",
"wage_type",
"source_name"
],
"type": "object"
},
"name": "upsert_job_listing",
"outputSchema": null
},
{
"description": "부동산 게시글의 구조화 데이터를 저장합니다 (admin 전용). post_as_persona 로 글을 올린 직후 같은 필드를 이 도구로 보내세요. 금액은 전부 원(KRW) 단위 정수입니다 (7,300만원 → 73000000). source_url 은 내부 저장용이며 공개되지 않습니다.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"area_m2": {
"description": "전용/대지 면적 (㎡)",
"exclusiveMinimum": 0,
"type": "number"
},
"building_name": {
"maxLength": 120,
"type": "string"
},
"contact_phone": {
"maxLength": 30,
"type": "string"
},
"deal_type": {
"enum": [
"매매",
"전세",
"월세",
"연세",
"단기"
],
"type": "string"
},
"deposit_krw": {
"description": "보증금 (원)",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"features": {
"description": "특징 (예: ['급매','올리모델링'])",
"items": {
"type": "string"
},
"type": "array"
},
"floor": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"location_raw": {
"description": "위치 원문 (예: '제주시 애월읍 하귀1리')",
"type": "string"
},
"monthly_krw": {
"description": "월세 (원)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"post_id": {
"description": "post_as_persona 가 반환한 게시글 UUID",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"price_krw": {
"description": "매매가/전세가 (원)",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"property_type": {
"enum": [
"아파트",
"오피스텔",
"빌라연립",
"단독다가구",
"원룸",
"상가",
"사무실",
"토지",
"기타"
],
"type": "string"
},
"rooms": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"source_name": {
"description": "출처 매체명 (예: '오일장신문')",
"maxLength": 60,
"type": "string"
},
"source_ref": {
"description": "출처측 식별자 (예: num=43065)",
"maxLength": 120,
"type": "string"
},
"source_url": {
"description": "원문 URL — 내부 저장용, 공개 안 됨",
"format": "uri",
"type": "string"
},
"yearly_krw": {
"description": "연세 (원) — 제주 특유의 연 단위 임차",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"post_id",
"location_raw",
"property_type",
"deal_type",
"source_name"
],
"type": "object"
},
"name": "upsert_property_listing",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:dc5fb49561c1a74095ebde3b5160aaee3d96eb093fb869207b31eb50fc5b5a40 | sha256sum