CharCount Keeper

CharCount Keeper

Accurately counts characters, bytes, and manuscript paper based on Unicode grapheme clusters, and provides deterministic feedback to help AI meet exact length limits for self-introductions or school records.

Category
Visit Server

README

CharCount Keeper (글자수 지킴이)

AI가 쓴 글의 글자수를 정확히 세고, 목표 글자수에 정확히 맞추도록 결정론적 피드백을 주는 MCP 서버.

LLM은 토큰 단위로 텍스트를 처리하기 때문에 글자수를 정확히 셀 수 없습니다. 자기소개서 700자, 생활기록부 바이트 제한처럼 글자수가 곧 합격/불합격인 상황에서 AI는 반드시 틀립니다. 이 서버는 유니코드 표준(UAX #29 grapheme cluster) 기반으로 글자수·바이트·원고지 매수를 정확히 계산하고, 목표 대비 정확한 초과/부족량과 어디를 고칠지를 알려줘 AI가 스스로 글자수를 맞추게 합니다.

툴 (7개)

툴 설명
count_text 공백 포함/제외 글자수, UTF-8·EUC-KR 바이트, 어절/문장/줄/문단, 한글 음절·자모, 원고지 매수, X 가중길이 + 숨은 함정 경고(NFD 자소분리·제로폭 문자·CRLF)
check_limit 제한 대비 판정 + 정확한 초과/부족량 (LLM 수정용 델타)
count_by_segment 문장/문단/줄별 글자수 + 누적 — 어디를 고칠지 판단용
plan_trim 결정론적 감량 계획: 절단 지점, 최장 문장, 공백 정리량, 군더더기 표현 횟수
diff_count 수정 전후 글자수 비교
validate_platform X/인스타/유튜브/SEO 제한 일괄 검증
list_presets 지원 프리셋 목록 (자소서·NEIS·원고지·SNS)

정확성 원칙

  • 글자 = grapheme cluster (Intl.Segmenter, UAX #29): 👨‍👩‍👧‍👦 = 1자 (JS .length는 11)
  • NFC 정규화 기본: macOS 자소분리(NFD) 텍스트도 올바르게 계산 + 경고
  • CRLF → LF 정규화: Windows 텍스트의 줄바꿈 부풀림 방지 + 경고
  • 공백 3기준 동시 제공: 공백 포함 / 공백 제외(줄바꿈 포함 제외) / 스페이스만 제외 — 기관별 기준 차이 대응
  • 바이트 2기준: UTF-8(한글 3B, 4세대 NEIS) / EUC-KR(한글 2B, 구형 시스템)
  • 외부 API 의존 0 · 무상태 · 본문 저장/로깅 없음

개발

npm install
npm test        # 골든 테스트 26개
npm run build
npm start       # PORT 환경변수 (기본 8080), MCP 엔드포인트: POST / 또는 /mcp

로컬 확인:

curl http://localhost:8080/health
npx @modelcontextprotocol/inspector   # Streamable HTTP → http://localhost:8080/mcp

PlayMCP 배포 (AGENTIC PLAYER 10)

  1. PlayMCP in KC (https://playmcp.kakaocloud.io) 로그인 → "새 MCP 서버 등록"
    • Git 소스 빌드: 이 저장소를 GitHub(public)에 푸시 → Git URL 입력, 브랜치 main, Dockerfile 경로 기본값 (루트에 Dockerfile 있음 ✔)
    • 또는 이미지 등록: docker build --platform linux/amd64 -t <registry>/<image>:<tag> . 후 레지스트리 푸시
  2. Status Active 확인 → Endpoint URL 복사
  3. PlayMCP 개발자 콘솔 (https://playmcp.kakao.com/console) → "새로운 MCP 서버 등록" → Endpoint URL 입력 → "정보 불러오기" 성공 확인
  4. "임시 등록" → "MCP 상세 미리보기" → "도구함에 추가" → AI 채팅에서 충분히 테스트
  5. "심사 요청" (통상 1~2영업일, 최대 7영업일)
  6. 승인 후 공개 상태를 **"전체 공개"**로 전환 → MCP 상세페이지 URL 복사
  7. 공모전 페이지에서 "Player 예선 참여" 비즈폼 접수 (~7/14 마감)

PlayMCP 개발가이드 준수 체크리스트

  • ✅ MCP 스펙 2025-03-26 ~ 2025-11-25 (양쪽 협상 확인)
  • ✅ Streamable HTTP 전용, Remote, 무상태(no session)
  • ✅ 공식 TypeScript SDK (@modelcontextprotocol/sdk)
  • ✅ 서버명/툴명에 "kakao" 미포함
  • ✅ 툴 7개 (권장 3~10개)
  • ✅ 툴 이름 [A-Za-z0-9_-], 전 툴 annotations 5종(title/readOnlyHint/destructiveHint/openWorldHint/idempotentHint) 명시
  • ✅ description 영문 + 서비스명 영문·국문 병기("CharCount Keeper(글자수 지킴이)") + 1,024자 이내
  • ✅ 결과는 정제된 마크다운, 최소 크기
  • ✅ 응답속도: 전형 입력 평균 ~33ms (요구: 평균 100ms), 최대 입력(10만 자) ~350ms (요구: p99 3,000ms)
  • ✅ 광고 없음, 인증 불필요(개인정보 미취급)

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured