MCP 서버 (Claude Desktop / Code / Cursor)

MCP 호환 클라이언트에서 Entity Enricher를 사용해 model 지식과 문서를 구조화된 데이터로 전환하세요. schema를 설계하고, 여러 언어로 entity를 enrichment하고, model을 fusion하고, semantic ID를 큐레이션하고, 품질을 benchmark하고, 관계형 테이블을 자체 데이터베이스에 동기화할 수 있습니다.

Schema 검증과 model 간 일치는 사실의 정확성이나 최신성을 보장하지 않습니다. 소스, 실패 항목, 부분적인 데이터베이스 결과를 확인하세요. MCP는 대화형 액세스를 제공하며, n8n과 Make는 동일한 서비스에 대한 워크플로 자동화를 제공합니다.

빠른 시작

옵션 1 — OAuth(권장)

claude.ai, Claude Code, Cursor, 그리고 표준 OAuth 흐름을 지원하는 모든 MCP 클라이언트에 사용합니다. 생성하거나 붙여넣을 API 키가 없으며, 클라이언트가 인증 서버를 자동으로 검색합니다.

  1. Entity Enricher를 커넥터로 추가하세요(claude.ai에서: Settings → Connectors → Add custom connector, 또는 디렉터리에서 선택). URL은 https://entityenricher.ai/api/mcp/입니다.
  2. 브라우저에서 Entity Enricher 동의 화면이 열립니다. 필요하면 로그인한 후 Authorize를 클릭하세요. 이 연결은 사용자 본인의 역할로 사용자를 대신하여 작동합니다.
  3. API Keys → Connected Apps에서 언제든지 연결을 관리하거나 해지할 수 있으며, 해지하면 즉시 접근이 차단됩니다.
  1. 1권한이 적용되는 조직
  2. 2연결은 항상 본인의 역할로 동작하며, 그보다 넓은 권한으로는 동작하지 않습니다
  3. 3연결된 앱에서 언제든지 해지할 수 있습니다
OAuth 경로에서 볼 수 있는 유일한 Entity Enricher 화면입니다. 권한이 적용되는 조직과 그 권한이 사용할 역할 — 바로 사용자 본인의 역할 — 을 알려 줍니다.

옵션 2 — API 키(정적 JSON 구성)

대화형 로그인이 아니라 JSON 파일로 구성하는 클라이언트(Claude Desktop, Continue, Zed)에 사용합니다.

  1. 1. API 키 만들기
    Entity Enricher 웹 UI에서: 설정 → API 키 → 새 조직 액세스 키. 역할을 선택하세요(주로 읽기용은 operator, 스키마 생성/편집은 editor, 전체 제어는 owner). ent_… 값을 복사하세요. 한 번만 표시됩니다.
  2. 2. MCP 클라이언트에 등록하기

    Claude Desktop의 경우 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS) 또는 %APPDATA%\Claude\claude_desktop_config.json(Windows)을 편집하세요:

    {
      "mcpServers": {
        "entityenricher": {
          "url": "https://entityenricher.ai/api/mcp/",
          "headers": { "X-API-Key": "ent_your_key_here" }
        }
      }
    }

    위의 엔드포인트와 헤더를 클라이언트의 원격 MCP 구성에 사용하세요. 구성 문법과 HTTP 전송 지원 여부는 클라이언트에 따라 다릅니다.

사용해 보기

새 채팅에서: "내 Entity Enricher 스키마를 나열한 다음, Claude Sonnet을 사용해 제약회사 스키마를 기준으로 Sanofi를 보강해 주세요."클라이언트는 도구를 검색해 스키마를 선택하고 보강을 실행할 수 있습니다. 확인 프롬프트, 진행 상황 표시, 리소스 접근 방식은 클라이언트에 따라 다릅니다.

도구

58개 도구가 스키마 작성, 보강, 벤치마크, 데이터베이스 동기화, 시맨틱 아이덴티티를 다룹니다. 이 도구들은 검증, 결제, 처리를 위해 백엔드 서비스를 재사용합니다. 각 도구는 자체적으로 지원하는 매개변수를 노출합니다. 장시간 실행되는 작업(배치 보강, 샘플 생성, 벤치마크 실행)은 비동기로 처리됩니다. 시작 도구가 job_id를 반환하면 클라이언트가 get_job_status를 폴링하여 생성된 레코드나 벤치마크 결과를 읽습니다. 성공을 보고하기 전에 실패와 부분 결과를 확인하세요.

범주도구설명
검색list_models사용 가능한 모델 키, 명목 성능, 언어, 전략, 자동 선택된 기본값 및 조직 profile_limits를 나열합니다.
스키마generate_sample스키마 작성을 위해 자유 텍스트 요청에서 편집 가능한 샘플 JSON을 생성합니다.
스키마list_schemas조직에 저장된 스키마를 고정된 항목부터 나열합니다.
스키마get_schema저장된 스키마를 속성, 주석 및 input_contract와 함께 확인합니다.
스키마create_schema_from_sample검토된 샘플에서 스키마를 생성해 자동 저장하고, schema_id, 스키마 내용, 레코드 링크를 반환합니다.
스키마save_schema직접 작성한 schema를 저장하고 해당 ID와 링크를 반환합니다.
스키마update_schemaLLM 호출 없이 저장된 스키마의 메타데이터를 편집하거나 schema_content 전체를 교체합니다.
스키마get_schema_part편집에 필요한 스키마 조각만 확인합니다.
스키마get_enum_candidates각 개방형 열거형의 현재 어휘에 없는 관측 값을 최근 보강 레코드의 건수와 함께 나열합니다.
스키마update_schema_property전체 스키마를 교체하지 않고 경로를 지정해 속성 하나를 편집하거나 제거합니다.
스키마add_schema_property루트(parent_path='), 객체 경로 또는 '$defs.X' 아래에 속성을 추가합니다.
스키마move_schema_property속성 하나를 루트, 객체 경로 또는 '$defs.X'로 이동하며 해당 플래그와 전문 영역 설정을 유지합니다.
스키마resolve_unify_proposalget_schema에서 대기 중인 엔터티 유형 통합 제안 하나를 처리합니다.
스키마nest_schema_regionget_schema의 x-entityMap에 있는 평면 엔티티 영역을 해당 필드를 담고 있는 객체의 하위 객체로 중첩합니다. 영역의 평면 멤버(예: 주문의 product_id, product_name…
스키마publish_schema데이터베이스에 연결된 스키마의 작업 사본을 보강 및 복제본이 사용하는 계약으로 게시합니다.
스키마delete_schemaUUID로 저장된 스키마를 소프트 삭제합니다.
스키마analyze_sample스키마 생성 전에 샘플의 속성 모호성과 관계 아이덴티티 범위를 분석합니다.
스키마analyze_schema저장된 스키마의 속성 모호성과 관계 아이덴티티 범위를 분석하고, 주석을 스키마에 기록합니다.
보강 및 융합start_batch_enrichmentschema_id 또는 target_schema 중 정확히 하나를 기준으로 entity 목록에 대한 요금이 부과되는 비동기 enrichment를 시작합니다.
보강 및 융합fetch_entities서버 측 GET을 사용해 외부 REST API에서 엔터티를 가져옵니다.
보강 및 융합enrich_entityschema_id 또는 target_schema 중 정확히 하나를 기준으로 엔터티 하나를 보강하고, 구조화된 출력, record_id, 비용, 데이터베이스 결과를 반환합니다.
보강 및 융합retry_expertises기존 레코드에서 실패한 전문 영역만 재시도한 뒤 출력을 업데이트하고 해당 실행의 융합/동기화를 시도합니다.
보강 및 융합merge_records동일한 엔터티의 레코드 두 개 이상을 새 중재 레코드로 융합합니다.
작업 제어get_job_status작업의 상태, 진행률과 저장된 레코드 ID가 포함된 간략한 최종 요약을 확인합니다.
작업 제어cancel_job대기 중, 실행 중 또는 일시 중지된 LLM 작업의 취소를 요청합니다.
작업 제어answer_job_question일시 중지 시 반환된 질문에 답변하여 중지된 작업을 재개합니다.
레코드 및 통계list_records조직의 레코드를 최신순으로 간략하게 페이지 단위로 나열합니다.
레코드 및 통계get_record저장된 레코드 하나의 structured_output, entity_input_data, 검증 오류, 전문 영역 판정 및 지표를 확인합니다.
레코드 및 통계get_stats조직 전체의 레코드 총계, 성공률, 토큰 및 비용 요약을 확인합니다.
벤치마크list_benchmark_scenarios간략한 벤치마크 시나리오 요약과 총계를 나열합니다.
벤치마크get_benchmark_scenario벤치마크 시나리오 하나를 모델별 품질, 비용, 속도 결과와 함께 확인합니다.
벤치마크get_benchmark_scenario_results시나리오의 모델별 벤치마크 결과를 필터링, 정렬, 제한합니다.
벤치마크create_benchmark_scenario필수 채점 판정기를 포함한 재사용 가능한 벤치마크를 만듭니다.
벤치마크update_benchmark_scenario벤치마크의 테스트 정의 또는 채점 구성을 편집합니다.
벤치마크set_benchmark_referenceenrichment 또는 schema 생성 benchmark의 기준 정답(gold reference)을 저장합니다.
벤치마크delete_benchmark_scenario벤치마크 시나리오와 저장된 결과를 삭제합니다.
벤치마크run_benchmarkbenchmark의 요금이 부과되는 비동기 실행 및 채점을 시작합니다.
첨부 파일upload_attachmentbase64 파일 바이트를 재사용 가능한 소스 자료로 업로드합니다. id와 requires_capability를 반환합니다.
첨부 파일delete_attachment조직의 첨부 파일을 저장된 파일까지 포함해 영구적으로 삭제합니다.
Database Synclist_database_syncs저장된 스키마의 데이터베이스 등록, 연결된 스키마, 옵션 및 동기화 호스트를 나열합니다.
Database Synclist_entity_states실행별 레코드가 아니라 스키마의 현재 병합된 엔터티 행을 조회합니다.
Database Synccreate_database_sync저장된 스키마를 PostgreSQL, MySQL 또는 SQLite로의 관계형 동기화 대상으로 등록합니다.
Database Syncassign_sync_host데이터베이스 동기화를 프로비저닝하는 호스트를 지정하거나 해제합니다.
Database Syncclassify_database_model연결된 schema에 대해 database key, SQL 타입, 인덱스, 관계 소유권을 제안하는 요금이 부과되는 분석을 시작합니다.
Database Syncdelete_database_sync데이터베이스 등록과 대기 중인 델타를 삭제하여 해당 피드를 중단합니다.
Database Synccreate_database_credential일회용 동기화 클라이언트 자격 증명과 설치/페어링/실행 명령 제안을 발급합니다.
Database Syncfetch_database_deltas데이터베이스 동기화의 다음 순서 구간에 해당하는 SQL 델타와 정규 페이로드를 확인합니다.
Database Syncack_database_deltas적용에 성공한 후 up_to_id를 통해 모든 델타를 확인 처리하여 리스를 해제합니다.
Database Syncsync_records_to_database저장되었거나 제공된 enrichment 출력을 검증하여 entity 계층과 연결된 동기화에 주입합니다.
시맨틱 IDlist_semantic_concepts별칭, 사용 횟수, 유형/모델 패싯과 함께 조직 개념을 조회합니다.
시맨틱 IDget_semantic_concept개념 하나의 별칭, 아이덴티티 소스 키, 연결된 레코드 및 동일한 유형/모델 구간 내 최근접 이웃을 확인합니다.
시맨틱 IDprobe_semantic_concept개념을 추가하거나 사용 횟수를 늘리지 않고 아이덴티티 해석 결과를 미리 봅니다.
시맨틱 IDadd_semantic_concept사용 횟수 0인 아이덴티티 개념을 추가하거나, alias_of를 사용해 텍스트를 별칭으로 추가합니다.
시맨틱 IDupdate_concept_aliasget_semantic_concept에서 얻은 별칭 ID로 개념 별칭을 제거하거나 승격합니다.
시맨틱 IDimport_semantic_concepts하나의 개념 유형에 대해 텍스트 1~1000개를 해석합니다.
시맨틱 IDmerge_semantic_concepts탈락 개념을 승자 개념으로 병합합니다.
시맨틱 IDdelete_semantic_conceptsids, concept_types 또는 unused_only로 선택한 개념을 삭제합니다.
시맨틱 IDmigrate_semantic_embeddings조직의 개념 임베딩 공간을 검사하거나 마이그레이션합니다.

필요할 때 로드되는 워크플로 가이드

서버 지침은 사용 가능한 워크플로를 설명하고, 도구 설명은 개별 호출을 설명합니다. 모델링을 결정하거나 복구해야 할 때는 클라이언트에서 enricher://docs의 가이드 색인을 읽고 MCP 리소스를 통해 가이드를 선택할 수 있습니다. 가이드를 읽어도 model이 실행되지는 않습니다. 아래 링크는 공개 저장소에 있는 동일한 영문 가이드를 엽니다.

리소스

리소스는 스키마와 레코드 데이터, 그리고 워크플로 가이드를 Markdown으로 제공합니다. 탐색 및 로드 방식은 클라이언트가 선택하며, 리소스 콘텐츠도 모델 컨텍스트를 소비할 수 있습니다.

URI 템플릿설명
enricher://docs워크플로 가이드 색인이며, 각 항목은 표시된 리소스 URI에서 확인할 수 있습니다.
enricher://schemas/{schema_id}저장된 스키마 작업 사본을 Markdown으로 제공합니다. 활성 연결 계약을 보려면 version="published"로 get_schema를 사용하세요.
enricher://records/{record_id}Markdown으로 렌더링된 과거 강화 레코드 — 메타데이터 + 구조화된 출력 + 검증 오류.

대화형 분류 처리

enrich_entity에 분류 모델을 사용하도록 요청했는데 엔티티가 스키마 유형과 일치하지 않으면, 도구는 구조화된 세부 정보와 함께 오류가 아닌 응답을 반환합니다. Claude가 이를 읽어 근거를 사용자에게 제시하고, (사용자 확인 시) force_after_classification_warning=true로 재시도합니다 — 이 경우 재시도에서 분류기를 제거합니다.

{
  "success": false,
  "error_code": "classification_warning",
  "message": "Pre-flight classification rejected the entity. ...",
  "classification": {
    "status": "mismatch",
    "reasoning": "Titan is a moon of Saturn, not a planet.",
    "confidence": 0.97
  },
  "job_id": "..."
}

MCP 응답은 classification 세부 정보를 유지하므로, 클라이언트가 새 호출을 시작하기 전에 그 판단 근거를 설명할 수 있습니다.

동일한 대화형 기능이 두 번째 흐름을 지원합니다: generate_sample이 원본 문서와 함께 실행되면, 플래너가 구조적 설명 요청 질문과 함께 일시 중지될 수 있습니다. Claude가 이를 사용자에게 전달하고 answer_job_question으로 작업을 재개합니다 — 샘플이 생성될 때까지 반복적으로 진행됩니다.

오류 코드

대부분의 도구 오류는 error_code 필드가 포함된 구조화된 객체를 반환하므로 클라이언트가 할당량, 분류, 시간 초과, 제공자 오류를 구분할 수 있습니다. 일부 이전 응답에는 error 또는 message 필드만 포함되므로 전송 상태뿐 아니라 실제 결과도 확인하세요.

error_code시점
invalid_request잘못된 형식의 UUID, 상호 배타적인 인수(schema_id + target_schema), 또는 요청 본문 검증 실패.
prompt_limit_reached일별/주별/월별 prompt 할당량이 소진되었습니다(HTTP 402). 본문에 기간, 한도, 사용량, 필요량이 포함됩니다.
insufficient_creditsorganization에 결제가 활성화되어 있으나 credit 잔액이 너무 적어 작업을 시작할 수 없습니다(HTTP 402). 본문에 잔액과 구매 URL이 포함됩니다.
model_limit_exceeded요금제가 허용하는 것보다 많은 모델을 요청했습니다(HTTP 402). 한도와 요청 수를 반환합니다.
language_limit_exceeded요금제가 허용하는 것보다 많은 언어를 요청했습니다(HTTP 402).
concurrent_job_limit_reached이 organization에 활성 enrichment 작업이 너무 많습니다. 기다리거나 요금제를 업그레이드하세요.
classification_warning⚡ 오류 아님: 사전 검사 classifier가 entity를 거부했습니다. 응답에 classification 컨텍스트가 포함되어 있어 Claude가 사용자에게 확인을 요청하고 force_after_classification_warning=true로 재시도할 수 있습니다.
benchmarks_not_in_plan현재 organization 요금제에는 Model Benchmarks가 포함되어 있지 않습니다(HTTP 403). benchmark를 변경하는 도구는 소유자 역할도 확인합니다.
ambiguity_check_disabled모호성 검사가 꺼져 있는 스키마에 대해 analyze_schema가 호출되었습니다(HTTP 400). 먼저 update_schema에서 ambiguity_check_enabled=true로 설정해 다시 활성화하세요.
enrichment_timeout작업이 timeout_seconds를 초과했습니다. 모델 수를 줄이거나 엔터티를 분할하는 것을 권장합니다.
schema_generation_timeout스키마 생성이 timeout_seconds를 초과했습니다.
schema_generation_failed스키마 생성 중 업스트림 LLM 오류가 발생했습니다 (HTTP 502).
model_output_invalidmodel이 schema와 일치하지 않는 출력을 반환했습니다(HTTP 502). 본문에는 model, 문제가 되는 속성 경로, retryable: true가 명시되어 있습니다 — 도구를 다시 호출하거나 더 강력한 model을 선택하세요.
cancelled작업이 실행 도중 취소되었습니다(HTTP 499).
not_found스키마 또는 레코드 ID가 조직에 존재하지 않습니다.
http_error구조화된 세부 정보 본문이 없는 HTTP 오류에 대한 포괄 처리입니다.

의도적 생략

함께 보기