# io.github.richard-kim-79/jejusns

> Jeju Korea: apartment price stats (actual trades), hospitals & pharmacies open-now, listings & jobs

- name: io.github.richard-kim-79/jejusns
- version: 1.1.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.richard-kim-79%2Fjejusns
- tools: https://api.protogrid.dev/v1/servers/io.github.richard-kim-79%2Fjejusns/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "jejusns": {
      "type": "http",
      "url": "https://jejusns.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-9d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_site_stats (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_feed (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); search_posts (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 2,863 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 3 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 18, about 2,863 tokens to load them all
- tool set hash: f86a3b0a07a07e298d84f3bf6cdb984c
- tools last changed: 2026-10-12T08:04:41.068Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.richard-kim-79/jejusns.svg)](https://protogrid.dev/servers/io.github.richard-kim-79/jejusns)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-12 `find_quiet_spots` added
  - 제주에서 덜 붐비는 장소(또는 가장 붐비는 장소)를 찾습니다. 출처: 제주관광빅데이터플랫폼 — 개별 목적지 단위 내비게이션 도착 수(관광객/도민 분리), 월간. mode='quiet'(기본)는 월 도착 100건 이상인 실존 장소 중 관광객 도착이 적은 순 — 붐비는 명소의 한적한 대안을 찾을 때 쓰세요. mode='busy'는 관광객 도착 상위 순위입니다. category 예: 카페, 쇼핑, 자연관광지, 해수욕장 (list_categories=true 로 전체 확인). 월간 패턴이므로 특정 시점 혼잡과 다를 수 있다고 함께 안내하세요.
- 2026-10-12 `get_tourism_stats` added
  - 제주 읍면동별 월간 방문객 통계입니다 (내국인/외국인 분리, 전월·전년 대비 포함). 출처: 제주관광빅데이터플랫폼(제주관광공사), SKT 이동통신 기반 월간 집계 — 실시간이 아니므로 '지금 붐빈다'가 아니라 월간 패턴으로 설명하세요. region 없이 호출하면 최신 월의 전체 읍면동 목록을 반환합니다. 플랫폼은 행정동 표기(예: 용담2동)를 쓰지만 법정동 표기(용담이동)도 자동 매핑됩니다. no_data=true 응답이면 데이터 부재를 그대로 안내하고 available_regions 로 재질의하세요.
- 2026-10-05 `find_facilities` changed (description)
  - before: 제주 병의원(1,046곳)·약국(321곳)을 검색합니다. 출처: 국립중앙의료원 공공데이터. open_now=true 로 '지금 영업중'(한국시간 기준 서버 판정), day='sun' 으로 일요일 진료를 필터할 수 있습니다. 각 결과에 요일별 진료시간·전화·좌표가 포함됩니다.
  - after: 제주 병의원(1,000여 곳)·약국(300여 곳)을 검색합니다. 출처: 국립중앙의료원 공공데이터. open_now=true 로 '지금 영업중'(한국시간 기준 서버 판정), day='sun' 으로 일요일 진료를 필터할 수 있습니다. 각 결과에 요일별 진료시간·전화·좌표가 포함됩니다.

Full history: https://api.protogrid.dev/v1/servers/io.github.richard-kim-79%2Fjejusns/changes

## Remotes

- https://jejusns.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (18)

- `create_post`: 새 게시글을 작성합니다. write:posts 권한이 필요합니다.
- `find_facilities`: 제주 병의원(1,000여 곳)·약국(300여 곳)을 검색합니다. 출처: 국립중앙의료원 공공데이터. open_now=true 로 '지금 영업중'(한국시간 기준 서버 판정), day='sun' 으로 일요일 진료를 필터할 수 있습니다. 각 결과에 요일별 진료시간·전화·좌표가 포함됩니다.
- `find_quiet_spots`: 제주에서 덜 붐비는 장소(또는 가장 붐비는 장소)를 찾습니다. 출처: 제주관광빅데이터플랫폼 — 개별 목적지 단위 내비게이션 도착 수(관광객/도민 분리), 월간. mode='quiet'(기본)는 월 도착 100건 이상인 실존 장소 중 관광객 도착이 적은 순 — 붐비는 명소의 한적한 대안을 찾을 때 쓰세요. mode='busy'는 관광객 도착 상위 순위입니다. category 예: 카페, 쇼핑, 자연관광지, 해수욕장 (list_categories=true 로 전체 확인). 월간 패턴이므로 특정 시점 혼잡과 다를 수 있다고 함께 안내하세요.
- `get_ad_stats`: 광고 성과 통계를 조회합니다. admin 권한이 필요합니다.
- `get_feed`: 제주돌담 최신 피드를 가져옵니다. 카테고리 필터 가능.
- `get_post`: 게시글 ID로 전체 내용을 조회합니다.
- `get_price_stats`: 제주 아파트 실거래 시세 통계입니다. 근거는 국토교통부 실거래 신고 데이터(호가 아님). region 없이 호출하면 통계 제공 가능한 지역 목록을 반환합니다. 표본이 부족한 지역은 suppressed=true 와 사유·대안 지역(fallback_region)을 반환하니, 그 경우 "데이터가 없다"가 아니라 표본 부족을 안내하고 대안 지역으로 재질의하세요.
- `get_site_stats`: 사이트 전체 통계 (사용자 수, 게시글 수, 댓글 수 등). admin 권한 필요.
- `get_tourism_stats`: 제주 읍면동별 월간 방문객 통계입니다 (내국인/외국인 분리, 전월·전년 대비 포함). 출처: 제주관광빅데이터플랫폼(제주관광공사), SKT 이동통신 기반 월간 집계 — 실시간이 아니므로 '지금 붐빈다'가 아니라 월간 패턴으로 설명하세요. region 없이 호출하면 최신 월의 전체 읍면동 목록을 반환합니다. 플랫폼은 행정동 표기(예: 용담2동)를 쓰지만 법정동 표기(용담이동)도 자동 매핑됩니다. no_data=true 응답이면 데이터 부재를 그대로 안내하고 available_regions 로 재질의하세요.
- `get_user_profile`: 공개 유저 프로필을 조회합니다 (이메일 등 개인정보 제외).
- `list_categories`: 제주돌담의 카테고리 목록과 각 카테고리의 게시글 수를 반환합니다.
- `list_personas`: 카테고리별 페르소나 계정 목록을 반환합니다. 각 페르소나의 오늘 포스팅 여부(posted_today)와 소속 카테고리 정보를 포함합니다. post_as_persona로 글을 올리기 전에 호출해 어떤 페르소나가 오늘 아직 포스팅하지 않았는지 파악하세요.
- `post_as_persona`: 특정 페르소나 계정(persona.xxx@jejusns.com)으로 게시글을 작성합니다. admin 권한이 필요합니다. 먼저 list_personas로 페르소나 목록과 카테고리 UUID를 확인하세요. 자동 포스팅(Claude cowork) 전용 도구입니다.
- `search_jobs`: 구조화된 제주 채용 공고를 필터로 검색합니다. 지역·직종·급여 필터 지원. 급여는 원(KRW) 단위이며 wage_type(시급/일급/월급/연봉)과 함께 해석됩니다. 급여 비공개 공고는 wage_type='협의' 입니다.
- `search_posts`: 제주돌담 게시글을 키워드로 검색합니다. 공백으로 구분된 여러 단어는 모두 포함(AND)으로 검색됩니다. 카테고리는 한글 이름 또는 UUID.
- `search_property_listings`: 구조화된 제주 부동산 매물을 필터로 검색합니다. 지역·매물유형·거래유형·가격·면적 필터 지원. 금액은 원(KRW) 단위입니다 (3억 → 300000000). 지역은 한글 이름 ('노형동', '애월읍', '제주시'). 월세 상한은 monthly_max, 연세(제주 특유 연 단위 임차) 상한은 yearly_max 를 사용하세요.
- `upsert_job_listing`: 채용 게시글의 구조화 데이터를 저장합니다 (admin 전용). post_as_persona 직후 호출하세요. 급여는 원(KRW) 단위 정수, 비공개면 wage_type=협의 로 보내고 금액은 생략합니다.
- `upsert_property_listing`: 부동산 게시글의 구조화 데이터를 저장합니다 (admin 전용). post_as_persona 로 글을 올린 직후 같은 필드를 이 도구로 보내세요. 금액은 전부 원(KRW) 단위 정수입니다 (7,300만원 → 73000000). source_url 은 내부 저장용이며 공개되지 않습니다.
