@alexiatv666/td-trans-mcp
v1.3.0
Published
zh-CN ↔ ko-KR/en-US/ja-JP localization glossary MCP — Feishu Sheet 백엔드(언어별 분리 시트 key-join). lookup/search/list/add_term + glossary 프롬프트.
Maintainers
Readme
td-trans-mcp
ThinkingData 현지화(localization) 용어집 MCP 서버 — zh-CN ↔ ko-KR / en-US / ja-JP 용어 조회/검색/추가. 백엔드는 Feishu Sheet이며, 번역 작업 시 용어 일관성을 보장한다.
데이터 구조 (중요)
용어집은 언어별로 분리된 시트로 저장된다. 하나의 스프레드시트 안에 시트 4개:
| 시트 title | 내용 |
|---|---|
| zh | 중국어 용어 (필수) |
| ko | 한국어 용어 (필수) |
| en | 영어 (선택 — 있으면 join/upsert, 없으면 skip) |
| ja | 일본어 (선택 — 있으면 join/upsert, 없으면 skip) |
각 시트 헤더(컬럼 위치 무관, 이름으로 인식):
key | term | context | definition | relatedkey— 언어 공통 식별자(영문 슬러그, 예:event-analysis). 시트 간 join 기준.term— 해당 언어의 용어 표기context— 짧은 사용 맥락definition— 긴 정의/설명
용어집은 zh/ko/en/ja 시트를 key로 join하여 만든다.
zh_CN = zh 시트의 term, ko_KR = ko, en_US = en, ja_JP = ja 시트의 term.
맥락/정의는 번역 기준 언어인 ko 시트를 우선한다(없으면 zh 폴백). en/ja 시트가 없거나 매칭이 없으면 해당 언어만 빈 값.
added_by/added_at은 시트에 해당 컬럼이 있을 때만 기록된다(없으면 무시).
환경변수
| 변수 | 필수 | 설명 |
|---|---|---|
| FEISHU_APP_ID | ✅ | Feishu 앱 ID |
| FEISHU_APP_SECRET | ✅ | Feishu 앱 시크릿 (셸 env 경유, 하드코딩 금지) |
| FEISHU_SHEET_TOKEN | ✅ | 스프레드시트 token (URL의 /sheets/{TOKEN} 부분) |
FEISHU_SHEET_ID는 불필요 — 시트는 title(zh/ko/en/ja)로 자동 발견한다.
도구
| 도구 | 설명 |
|---|---|
| lookup_term | 중국어 용어(zh_CN)로 번역 단건 조회 (ko/en/ja 함께 표시) |
| search_terms | 키워드로 검색(zh_CN/ko_KR/en_US/ja_JP/맥락 부분 일치) |
| list_terms | 전체 용어 목록 (4개 언어 컬럼) |
| add_term | 용어 추가/수정 — key 기준으로 zh·ko·en·ja 시트에 동시 upsert. 표기(ko_KR/en_US/ja_JP)와 언어별 정의(notes_zh/notes_ko/notes_en/notes_ja)는 호출 어시스턴트가 zh_CN 기반으로 채움. context/related 는 언어 무관 공통값으로 4개 시트에 동일 기록 |
프롬프트
glossary— 전체 용어집을 컨텍스트에 주입(번역 세션 시작 시 1회 권장)
테스트
npm test # 순수 변환 로직 단위 테스트
# 쓰기 e2e (실제 Feishu 시트 — 테스트 행 추가 후 자동 삭제):
FEISHU_APP_ID=.. FEISHU_SHEET_TOKEN=.. node test/e2e-write.mjs외부 사용자용 설치 (npx)
이 패키지는 Feishu Sheet를 백엔드로 쓰는 범용 zh↔ko/en/ja 용어집 도구입니다. 직접 쓰려면 본인 소유의 Feishu 앱·시트와 시크릿이 필요합니다(내부 용어집 데이터는 포함되지 않음).
Claude Code MCP 설정(.mcp.json 또는 claude mcp add) 예시:
{
"mcpServers": {
"trans": {
"command": "npx",
"args": ["-y", "@alexiatv666/td-trans-mcp"],
"env": {
"FEISHU_APP_ID": "cli_...",
"FEISHU_APP_SECRET": "${FEISHU_APP_SECRET}",
"FEISHU_SHEET_TOKEN": "..."
}
}
}
}본인 Feishu 스프레드시트에 title이
zh/ko(필수) 및en/ja(선택)인 시트를 만들고, 각 시트 헤더를key, term, context, definition, related로 구성하면 됩니다.
ThinkingData 내부 용어집(554개)을 바로 쓰려면 npx 대신 SSE 커넥터를 사용하세요:
https://mcp.apps.thinkingai.io/api/trans-mcp/sse
실행 (로컬 개발)
npm start # stdio MCP 서버