다정키 (Dajungkey)
An MCP server that rewrites couple messages to be warmer and prevents fights, with tools for tone adjustment and cooldown suggestions.
README
다정키 (Dajungkey)
커플이 싸우기 전에 말투를 한 번 더 다정하게 바꿔주는 AI 커플 말투 도구.
카카오 AGENTIC PLAYER 10 예선 제출용 remote MCP 서버 (TypeScript + @modelcontextprotocol/sdk + Streamable HTTP).
서비스 소개·데모 시나리오는 docs/SUBMISSION.md, 기획 전문은 docs/SPEC.md 참고.
실행 방법
npm install
# 개발 (파일 변경 감지)
npm run dev
# 프로덕션
npm run build
NODE_ENV=production npm start
# 테스트 (API key 불필요 — mock provider로 동작)
npm test
환경변수
.env.example을 복사해 .env를 만들고 채운다. .env는 절대 커밋하지 않는다.
| 변수 | 필수 | 설명 |
|---|---|---|
ANTHROPIC_API_KEY |
아니오 | Claude API key. 없으면 local fallback mode로 동작 (로컬 결정적 응답). 개발용이며, 실제 심사용 배포에서는 설정을 권장한다. fallback 응답에도 mock/디버그 문구는 사용자에게 노출되지 않는다 |
MODEL_NAME |
key 설정 시 필수 | 런타임 모델명 (예: claude-opus-4-8). 코드에 하드코딩하지 않는다 |
PORT |
아니오 | 서버 포트 (기본 3000) |
엔드포인트
| 메서드·경로 | 용도 |
|---|---|
POST /mcp |
MCP Streamable HTTP 엔드포인트 (PlayMCP 등록 대상) |
GET /health |
헬스 체크 ({"ok":true}) |
완전 무상태 서버: 세션·DB 없음, 요청마다 MCP 서버 인스턴스를 만들고 응답 후 폐기한다.
응답 지연 보호: LLM 응답이 2.5초를 넘거나 실패하면 local fallback 결과로 즉시 응답한다 (PlayMCP 툴 응답 p99 3,000ms 요건 대응).
MCP Tools
| tool | 역할 |
|---|---|
fight_prevention_rewrite |
날카로운 문장을 감정은 유지한 채 완충 (싸움 방지모드) |
warm_tone_rewrite |
무뚝뚝한 문장을 다정하게 |
apply_couple_tonepack |
애칭·이모지·선호 말투 반영 (말투팩은 매 호출 전달, 무저장) |
cooldown_message |
격앙된 문장을 잠깐 멈추자는 메시지로 전환 |
공통 출력: { rewritten, safety_action, note? } — safety_action은 none | softened | cooldown_suggested | refused. 상세 스키마는 docs/TOOL_SCHEMA.md.
데이터 정책 (요약)
- 원문·변환 결과·말투팩을 저장하지 않고 로그에도 남기지 않는다. 로그는 메타데이터만(tool명, 성공 여부, 지연시간, safety_action).
- LLM 호출 실패 시 원문을 그대로 반환하지 않는다 — 실패 안내만 반환.
- 배포 시
NODE_ENV=production권장 (프레임워크 기본 에러 로깅 억제). - 전문:
docs/PRIVACY.md
검증
npm test— local fallback 기반 smoke test (tool 4개 + annotations + red-team G28·G30 + 지연시간 보호 + 에러 계약)- 배포 전
docs/GOLDEN_CASES.md의 red-team 케이스(G27~G30)를 실제 LLM으로 수동 검수한다.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.