jejusns

Jeju (Korea) local data: real-estate & job listings, hospitals & pharmacies with hours, price stats

사용해야 할까요

품질 및 안전성

B
설명 품질
66%
스키마 완전성
77%
이름 품질
96%
오염 위험
80%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (10)

  • HIGHTool poisoning patterns detected
  • LOWTool 'search_posts' description lacks action verbsearch_posts에서
  • LOWTool 'get_post' description lacks action verbget_post에서
  • LOWTool 'get_feed' description lacks action verbget_feed에서
  • LOWTool 'list_personas' description lacks action verblist_personas에서
  • LOWTool 'list_categories' description lacks action verblist_categories에서
  • LOWTool 'get_user_profile' description lacks action verbget_user_profile에서
  • LOWTool 'search_jobs' description lacks action verbsearch_jobs에서
  • LOWTool 'get_price_stats' description lacks action verbget_price_stats에서
  • INFOTool description contains placeholder or incomplete textpost_as_persona에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~4,529토큰 (도구 정의)
~1.5 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.54%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "jejusns": {
      "url": "https://jejusns.com/mcp"
    }
  }
}

원격 엔드포인트

https://jejusns.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (16)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_posts(query, category, limit)

제주돌담 게시글을 키워드로 검색합니다. 공백으로 구분된 여러 단어는 모두 포함(AND)으로 검색됩니다. 카테고리는 한글 이름 또는 UUID.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "검색 키워드"
    },
    "category": {
      "description": "카테고리 이름('부동산','구인구직' 등) 또는 UUID (선택)",
      "type": "string"
    },
    "limit": {
      "description": "최대 결과 수 (기본 10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡get_post(id)

게시글 ID로 전체 내용을 조회합니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "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)$",
      "description": "게시글 UUID"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_feed(category, limit, page)

제주돌담 최신 피드를 가져옵니다. 카테고리 필터 가능.

입력 스키마

{
  "type": "object",
  "properties": {
    "category": {
      "description": "카테고리 이름('부동산','구인구직' 등) 또는 UUID (선택)",
      "type": "string"
    },
    "limit": {
      "description": "결과 수 (기본 10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "page": {
      "description": "페이지 번호 (기본 1)",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡post_as_persona(persona_email, title, content, category_id)

특정 페르소나 계정([email protected])으로 게시글을 작성합니다. admin 권한이 필요합니다. 먼저 list_personas로 페르소나 목록과 카테고리 UUID를 확인하세요. 자동 포스팅(Claude cowork) 전용 도구입니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "persona_email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "페르소나 이메일 주소 ([email protected] 형식)"
    },
    "title": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200,
      "description": "게시글 제목"
    },
    "content": {
      "type": "string",
      "minLength": 10,
      "description": "게시글 내용 (자연스러운 한국어)"
    },
    "category_id": {
      "type": "string",
      "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)$",
      "description": "카테고리 UUID (list_personas 또는 list_categories 참고)"
    }
  },
  "required": [
    "persona_email",
    "title",
    "content",
    "category_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_post(title, content, category_id)

새 게시글을 작성합니다. write:posts 권한이 필요합니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200,
      "description": "게시글 제목"
    },
    "content": {
      "type": "string",
      "minLength": 10,
      "description": "게시글 내용 (마크다운 가능)"
    },
    "category_id": {
      "type": "string",
      "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)$",
      "description": "카테고리 UUID"
    }
  },
  "required": [
    "title",
    "content",
    "category_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡list_personas

카테고리별 페르소나 계정 목록을 반환합니다. 각 페르소나의 오늘 포스팅 여부(posted_today)와 소속 카테고리 정보를 포함합니다. post_as_persona로 글을 올리기 전에 호출해 어떤 페르소나가 오늘 아직 포스팅하지 않았는지 파악하세요.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢list_categories

제주돌담의 카테고리 목록과 각 카테고리의 게시글 수를 반환합니다.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_user_profile(user_id)

공개 유저 프로필을 조회합니다 (이메일 등 개인정보 제외).

입력 스키마

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "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)$",
      "description": "사용자 UUID"
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_ad_stats

광고 성과 통계를 조회합니다. admin 권한이 필요합니다.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟢get_site_stats

사이트 전체 통계 (사용자 수, 게시글 수, 댓글 수 등). admin 권한 필요.

입력 스키마

{
  "type": "object",
  "properties": {}
}
🟡upsert_property_listing(post_id, location_raw, property_type, deal_type, price_krw, ...)

부동산 게시글의 구조화 데이터를 저장합니다 (admin 전용). post_as_persona 로 글을 올린 직후 같은 필드를 이 도구로 보내세요. 금액은 전부 원(KRW) 단위 정수입니다 (7,300만원 → 73000000). source_url 은 내부 저장용이며 공개되지 않습니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "post_id": {
      "type": "string",
      "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)$",
      "description": "post_as_persona 가 반환한 게시글 UUID"
    },
    "location_raw": {
      "type": "string",
      "description": "위치 원문 (예: '제주시 애월읍 하귀1리')"
    },
    "property_type": {
      "type": "string",
      "enum": [
        "아파트",
        "오피스텔",
        "빌라연립",
        "단독다가구",
        "원룸",
        "상가",
        "사무실",
        "토지",
        "기타"
      ]
    },
    "deal_type": {
      "type": "string",
      "enum": [
        "매매",
        "전세",
        "월세",
        "연세",
        "단기"
      ]
    },
    "price_krw": {
      "description": "매매가/전세가 (원)",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "deposit_krw": {
      "description": "보증금 (원)",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "monthly_krw": {
      "description": "월세 (원)",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "yearly_krw": {
      "description": "연세 (원) — 제주 특유의 연 단위 임차",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "area_m2": {
      "description": "전용/대지 면적 (㎡)",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "floor": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "rooms": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "building_name": {
      "type": "string",
      "maxLength": 120
    },
    "features": {
      "description": "특징 (예: ['급매','올리모델링'])",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "contact_phone": {
      "type": "string",
      "maxLength": 30
    },
    "source_name": {
      "type": "string",
      "maxLength": 60,
      "description": "출처 매체명 (예: '오일장신문')"
    },
    "source_url": {
      "description": "원문 URL — 내부 저장용, 공개 안 됨",
      "type": "string",
      "format": "uri"
    },
    "source_ref": {
      "description": "출처측 식별자 (예: num=43065)",
      "type": "string",
      "maxLength": 120
    }
  },
  "required": [
    "post_id",
    "location_raw",
    "property_type",
    "deal_type",
    "source_name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡upsert_job_listing(post_id, location_raw, employer_name, occupation, employment_type, ...)

채용 게시글의 구조화 데이터를 저장합니다 (admin 전용). post_as_persona 직후 호출하세요. 급여는 원(KRW) 단위 정수, 비공개면 wage_type=협의 로 보내고 금액은 생략합니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "post_id": {
      "type": "string",
      "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)$"
    },
    "location_raw": {
      "type": "string",
      "description": "근무지 원문 (예: '제주시 용담로 97')"
    },
    "employer_name": {
      "type": "string",
      "maxLength": 120
    },
    "occupation": {
      "type": "string",
      "maxLength": 80,
      "description": "직종 (예: '정육점 판매·매장관리')"
    },
    "employment_type": {
      "description": "정규직/계약직/알바 등",
      "type": "string",
      "maxLength": 20
    },
    "wage_type": {
      "type": "string",
      "enum": [
        "시급",
        "일급",
        "월급",
        "연봉",
        "협의"
      ]
    },
    "wage_min_krw": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "wage_max_krw": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "work_hours_text": {
      "type": "string",
      "maxLength": 200
    },
    "contact_phone": {
      "type": "string",
      "maxLength": 30
    },
    "closes_at": {
      "description": "마감일 ISO8601 (알면)",
      "type": "string"
    },
    "source_name": {
      "type": "string",
      "maxLength": 60
    },
    "source_url": {
      "type": "string",
      "format": "uri"
    },
    "source_ref": {
      "type": "string",
      "maxLength": 120
    }
  },
  "required": [
    "post_id",
    "location_raw",
    "occupation",
    "wage_type",
    "source_name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_property_listings(region, property_type, deal_type, price_min, price_max, ...)

구조화된 제주 부동산 매물을 필터로 검색합니다. 지역·매물유형·거래유형·가격·면적 필터 지원. 금액은 원(KRW) 단위입니다 (3억 → 300000000). 지역은 한글 이름 ('노형동', '애월읍', '제주시'). 월세 상한은 monthly_max, 연세(제주 특유 연 단위 임차) 상한은 yearly_max 를 사용하세요.

입력 스키마

{
  "type": "object",
  "properties": {
    "region": {
      "description": "읍·면·동 이름 또는 '제주시'/'서귀포시' (시 단위는 산하 전체 포함)",
      "type": "string"
    },
    "property_type": {
      "type": "string",
      "enum": [
        "아파트",
        "오피스텔",
        "빌라연립",
        "단독다가구",
        "원룸",
        "상가",
        "사무실",
        "토지",
        "기타"
      ]
    },
    "deal_type": {
      "type": "string",
      "enum": [
        "매매",
        "전세",
        "월세",
        "연세",
        "단기"
      ]
    },
    "price_min": {
      "description": "매매가/전세가 하한 (원)",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "price_max": {
      "description": "매매가/전세가 상한 (원)",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "monthly_max": {
      "description": "월세 상한 (원)",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "yearly_max": {
      "description": "연세 상한 (원)",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "area_min": {
      "description": "면적 하한",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "area_max": {
      "description": "면적 상한",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "unit": {
      "description": "면적 단위 (기본 ㎡)",
      "type": "string",
      "enum": [
        "㎡",
        "평"
      ]
    },
    "include_expired": {
      "description": "만료 매물 포함 (기본 false)",
      "type": "boolean"
    },
    "sort": {
      "type": "string",
      "enum": [
        "latest",
        "price_asc",
        "price_desc"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢search_jobs(region, occupation, wage_type, wage_min, include_closed, ...)

구조화된 제주 채용 공고를 필터로 검색합니다. 지역·직종·급여 필터 지원. 급여는 원(KRW) 단위이며 wage_type(시급/일급/월급/연봉)과 함께 해석됩니다. 급여 비공개 공고는 wage_type='협의' 입니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "region": {
      "description": "읍·면·동 이름 또는 '제주시'/'서귀포시'",
      "type": "string"
    },
    "occupation": {
      "description": "직종·업체명 부분 일치 (예: 서빙, 카페, 사무)",
      "type": "string"
    },
    "wage_type": {
      "type": "string",
      "enum": [
        "시급",
        "일급",
        "월급",
        "연봉",
        "협의"
      ]
    },
    "wage_min": {
      "description": "최소 급여 (원) — wage_type 과 함께 쓰세요",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "include_closed": {
      "description": "마감 공고 포함 (기본 false)",
      "type": "boolean"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_facilities(kind, region, name, open_now, day, ...)

제주 병의원(1,046곳)·약국(321곳)을 검색합니다. 출처: 국립중앙의료원 공공데이터. open_now=true 로 '지금 영업중'(한국시간 기준 서버 판정), day='sun' 으로 일요일 진료를 필터할 수 있습니다. 각 결과에 요일별 진료시간·전화·좌표가 포함됩니다.

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "description": "시설 종류 (생략 시 전체)",
      "type": "string",
      "enum": [
        "병원",
        "약국"
      ]
    },
    "region": {
      "description": "읍·면·동 이름 또는 '제주시'/'서귀포시' (예: 노형동, 애월읍)",
      "type": "string"
    },
    "name": {
      "description": "이름 부분 일치 (예: 온누리약국)",
      "type": "string"
    },
    "open_now": {
      "description": "지금 영업중만 (한국시간 기준)",
      "type": "boolean"
    },
    "day": {
      "description": "해당 요일에 여는 곳만 (hol=공휴일)",
      "type": "string",
      "enum": [
        "mon",
        "tue",
        "wed",
        "thu",
        "fri",
        "sat",
        "sun",
        "hol"
      ]
    },
    "emergency": {
      "description": "응급의료기관만 (병원)",
      "type": "boolean"
    },
    "limit": {
      "description": "최대 결과 수 (기본 10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_price_stats(region)

제주 아파트 실거래 시세 통계입니다. 근거는 국토교통부 실거래 신고 데이터(호가 아님). region 없이 호출하면 통계 제공 가능한 지역 목록을 반환합니다. 표본이 부족한 지역은 suppressed=true 와 사유·대안 지역(fallback_region)을 반환하니, 그 경우 "데이터가 없다"가 아니라 표본 부족을 안내하고 대안 지역으로 재질의하세요.

입력 스키마

{
  "type": "object",
  "properties": {
    "region": {
      "description": "동/읍/면 이름 또는 '제주시'/'서귀포시' (생략 시 지역 목록)",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 16개
검증됨버전이 기록되지 않음도구 16개
검증됨버전이 기록되지 않음도구 16개