# APICK Identity (remote · apick.app)

Korean ID document verification and PII masking APIs

- Trust score: 67/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-19

## Components

- remote · `apick.app`: 67/100 (this document), [markdown](https://verifymcp.io/servers/app-apick-identity/mcp-identity.md), [page](https://verifymcp.io/servers/app-apick-identity/mcp-identity)

## Channel facts

- Endpoint: `https://apick.app/mcp/identity`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.2.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-19.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 16 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2946 tokens (~184/item across 16 items; 16 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### Claude

```bash
claude mcp add --transport http app-apick-identity https://apick.app/mcp/identity
```

### Codex

```toml
[mcp_servers.app-apick-identity]
url = "https://apick.app/mcp/identity"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-apick-identity": {
      "type": "remote",
      "url": "https://apick.app/mcp/identity",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-apick-identity --url https://apick.app/mcp/identity --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-apick-identity:
    url: "https://apick.app/mcp/identity"
```

### Other

```json
{
  "mcpServers": {
    "app-apick-identity": {
      "type": "http",
      "url": "https://apick.app/mcp/identity"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-19 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-17 (score 66, +1)

- [security] Tool “identity_document_driver_license” rewrote its description, which is the text the model reads
- [security] Tool “identity_document_id_card” rewrote its description, which is the text the model reads
- [security] Tool “identity_document_passport” rewrote its description, which is the text the model reads
- [security] Tool “identity_document_residence_card” rewrote its description, which is the text the model reads
- [security] Tool “name_rrn_auth” rewrote its description, which is the text the model reads

### 2026-08-15 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-13 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-11 (score 63, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-08-10 (score 61)

First indexed and scored.

## MCP tools (16)

### `identi_card1` (~180 tokens)

[Text] 주민등록증 진위 확인

Verify the authenticity of a Korean resident registration card (jumin-deungnokjeung) using text input. 주민등록증의 기재 정보를 입력해 진위 여부를 확인합니다. name, rrn1, rrn2, date 네 항목을 모두 입력해야 하며, date는 숫자만 허용됩니다(예: 20230101). 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]

Input parameters:

- `date` (string, required): 발급일자 (숫자만, 예: 20230101)
- `name` (string, required): 성명
- `rrn1` (string, required): 주민등록번호 앞 6자리
- `rrn2` (string, required): 주민등록번호 뒤 7자리

### `identi_card2` (~348 tokens)

[Text] 운전면허증 진위 확인

Verify the authenticity of a Korean driver license using text input. 운전면허증의 기재 정보를 입력해 진위 여부를 확인합니다. birth_y, birth_m, birth_d, name과 면허번호 4구획(licen_no0~licen_no3)은 모두 필수이며, ghost_num(식별번호)과 rrn1, rrn2는 선택 입력입니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]

Input parameters:

- `birth_d` (string, required): 생년월일 - 일 (예: 01)
- `birth_m` (string, required): 생년월일 - 월 (예: 01)
- `birth_y` (string, required): 생년월일 - 년 (예: 2000)
- `ghost_num` (string): 식별번호 (면허증 우측 표기, 예: 8H1X3Y)
- `licen_no0` (string, required): 면허번호 1구획 (예: 21)
- `licen_no1` (string, required): 면허번호 2구획 (예: 19)
- `licen_no2` (string, required): 면허번호 3구획 (예: 174133)
- `licen_no3` (string, required): 면허번호 4구획 (예: 01)
- `name` (string, required): 성명
- `rrn1` (string): 주민등록번호 앞 6자리 (선택)
- `rrn2` (string): 주민등록번호 뒤 7자리 (선택)

### `identi_card3` (~211 tokens)

[Text] 여권 진위 확인

Verify the authenticity of a Korean passport using text input. 여권의 기재 정보를 입력해 진위 여부를 확인합니다. name, pass_num, made_date, exp_date, birth_date 다섯 항목을 모두 입력해야 하며, 일자 세 항목은 숫자만 허용됩니다(예: 20230101). 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]

Input parameters:

- `birth_date` (string, required): 생년월일 (숫자만, 예: 20000101)
- `exp_date` (string, required): 만료일자 (숫자만, 예: 20330101)
- `made_date` (string, required): 발급일자 (숫자만, 예: 20230101)
- `name` (string, required): 성명
- `pass_num` (string, required): 여권번호 (예: M00000000)

### `identi_card4` (~254 tokens)

[Text] 주민등록등본 진위 확인

Verify the authenticity of a Korean resident registration certificate (jumin-deungnok-deungbon) using text input. 주민등록등본의 문서확인번호로 진위 여부를 확인합니다. 문서확인번호 16자리를 4자리씩 나눈 doc_num1~doc_num4와 발급 종류 type(1: 정부24 발급, 2: 기타 발급)은 필수이며, name(성명)은 선택 입력입니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]

Input parameters:

- `doc_num1` (string, required): 문서확인번호 1구획 (4자리)
- `doc_num2` (string, required): 문서확인번호 2구획 (4자리)
- `doc_num3` (string, required): 문서확인번호 3구획 (4자리)
- `doc_num4` (string, required): 문서확인번호 4구획 (4자리)
- `name` (string): 성명
- `type` (string, required): 발급 종류 (1: 정부24 발급, 2: 기타 발급)

### `identi_card5` (~230 tokens)

[Text] 외국인등록증 진위 확인

Verify the authenticity of a Korean alien registration card (residence card) using text input. 외국인등록증의 기재 정보를 입력해 진위 여부를 확인합니다. rrn(외국인등록번호 13자리)과 made_date(발급일자 10자리, 예: 2020-01-01)는 필수이며, card_sn(뒷면 일련번호)은 입력 시 11자리여야 하고 2011-01-01 이후 발급된 등록증은 필수입니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 40포인트]

Input parameters:

- `card_sn` (string): 뒷면 일련번호 (11자리). 2011-01-01 이후 발급분은 필수
- `made_date` (string, required): 발급일자 (10자리, 예: 2020-01-01)
- `rrn` (string, required): 외국인등록번호 (숫자 13자리)

### `identi_card_image1` (~128 tokens)

[Image/PDF] 주민등록증 진위 확인

Verify the authenticity of a Korean resident registration card from an image or PDF file. 주민등록증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 25MB)

### `identi_card_image2` (~129 tokens)

[Image/PDF] 운전면허증 진위 확인

Verify the authenticity of a Korean driver license from an image or PDF file. 운전면허증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 25MB)

### `identi_card_image3` (~129 tokens)

[Image/PDF] 여권 진위 확인

Verify the authenticity of a Korean passport from an image or PDF file. 여권 인적사항면 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 25MB)

### `identi_card_image4` (~135 tokens)

[Image/PDF] 주민등록등본 진위 확인

Verify the authenticity of a Korean resident registration certificate from an image or PDF file. 주민등록등본 이미지 또는 PDF 파일을 업로드하면 문서확인번호 등 기재 정보를 자동 인식해 진위 여부를 확인합니다. 텍스트 입력 없이 파일 하나만 전달하면 됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 25MB)

### `identi_card_image5` (~192 tokens)

[Image/PDF] 외국인등록증 진위 확인

Verify the authenticity of a Korean alien registration card (residence card) from an image or PDF file. 외국인등록증 이미지 또는 PDF 파일을 업로드하면 기재 정보를 자동 인식해 진위 여부를 확인합니다. card_sn(뒷면 일련번호 11자리)은 선택 입력이며, 2011-01-01 이후 발급된 등록증은 필수입니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 60포인트]

Input parameters:

- `card_sn` (string): 뒷면 일련번호 (11자리). 2011-01-01 이후 발급분은 필수
- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png, application/pdf) (최대 25MB)

### `name_rrn_auth` (~151 tokens)

성명/주민등록번호 실명확인

Verify that a Korean name and resident registration number (RRN) match a real registered person. 성명과 주민등록번호의 일치 여부(실명 존재 여부)를 확인합니다. name, rrn1(앞 6자리), rrn2(뒤 7자리)를 모두 입력해야 합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 50포인트]

Input parameters:

- `name` (string, required): 한글 성명
- `rrn1` (string, required): 주민등록번호 앞 6자리 숫자
- `rrn2` (string, required): 주민등록번호 뒤 7자리 숫자

### `hide_rrn` (~207 tokens)

개인정보 마스킹(주민등록번호)

Mask resident registration numbers found in an image and return the masked image. 이미지에서 주민등록번호를 인식해 지정한 방식으로 가린 이미지를 반환합니다. 이미지 파일과 type(1: 주민등록번호 전체 가림, 2: 뒷자리 전체 가림, 3: 뒷자리 첫 숫자 제외 가림, 4: 주민등록번호와 주소 가림)을 모두 입력해야 합니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 20포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 25MB)
- `type` (string, required): 가림 처리 타입 (1: 주민등록번호 전체, 2: 뒷자리 전체, 3: 뒷자리 첫 숫자 제외, 4: 주민등록번호+주소)

### `identity_document_residence_card` (~164 tokens)

외국인등록증 개인정보 마스킹

Extract key fields from a Korean alien registration card (residence card) image and mask the last 6 digits of the registration number. 외국인등록증 이미지에서 지정 정보를 추출하고 등록번호 뒷자리 6자리를 마스킹한 이미지를 함께 반환합니다. PNG 또는 JPEG 이미지 파일 하나만 전달하면 되며, 마스킹된 이미지는 JSON 응답의 masked_image 필드에 base64로 포함됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 30포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 20MB)

### `identity_document_passport` (~164 tokens)

여권 개인정보 마스킹

Extract key fields from a passport image and mask the passport number and MRZ area. 여권 인적사항면 이미지에서 지정 정보를 추출하고 여권번호 및 MRZ 영역을 마스킹한 이미지를 함께 반환합니다. MRZ 2줄이 포함되도록 촬영한 PNG 또는 JPEG 이미지 파일 하나만 전달하면 되며, 마스킹된 이미지는 JSON 응답의 masked_image 필드에 base64로 포함됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 30포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 20MB)

### `identity_document_id_card` (~157 tokens)

주민등록증 개인정보 마스킹

Extract key fields from a Korean resident registration card image and mask the last 6 digits of the RRN. 주민등록증 이미지에서 지정 정보를 추출하고 주민등록번호 뒷자리 6자리를 마스킹한 이미지를 함께 반환합니다. PNG 또는 JPEG 이미지 파일 하나만 전달하면 되며, 마스킹된 이미지는 JSON 응답의 masked_image 필드에 base64로 포함됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 30포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 20MB)

### `identity_document_driver_license` (~167 tokens)

운전면허증 개인정보 마스킹

Extract key fields from a Korean driver license image and mask the last 6 digits of the RRN. 운전면허증(주민등록번호 표기형) 이미지에서 지정 정보를 추출하고 주민등록번호 뒷자리 6자리를 마스킹한 이미지를 함께 반환합니다. PNG 또는 JPEG 이미지 파일 하나만 전달하면 되며, 마스킹된 이미지는 JSON 응답의 masked_image 필드에 base64로 포함됩니다. 정보주체의 동의 등 적법한 처리 근거를 확보한 경우에만 사용하십시오. [호출당 30포인트]

Input parameters:

- `image_url` (string, required): 다운로드 가능한 https URL (허용 형식: image/jpeg, image/png) (최대 20MB)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/app-apick-identity/mcp-identity#diagnostics

## Score history

- 2026-08-19: 67
- 2026-08-18: 66
- 2026-08-17: 66
- 2026-08-16: 65
- 2026-08-15: 65
- 2026-08-14: 64
- 2026-08-13: 64
- 2026-08-12: 63
- 2026-08-11: 63
- 2026-08-10: 61

## Links

- Remote endpoint: https://apick.app/mcp/identity
- Repository: https://github.com/lead788/apick-mcp
- Website: https://apick.app/dev_guide/mcp
- Changelog RSS feed: https://verifymcp.io/servers/app-apick-identity/mcp-identity.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-apick-identity/mcp-identity.json
- HTML version of this page: https://verifymcp.io/servers/app-apick-identity/mcp-identity
