sync.day

MCP 서버

sync.day는 공개 MCP(Model Context Protocol) 서버입니다. Claude, Cursor, ChatGPT나 직접 만든 봇에 연결하면 AI가 일정을 만들고, 대신 시간을 입력하고, 누가 언제 가능한지 확인할 수 있습니다.

접속 주소

https://sync.day/mcp/mcp

Streamable HTTP, 무상태, 로그인과 API 키 불필요. CORS 허용. IP당 분당 60회 요청. 예전 SSE 전송(/mcp/sse)은 지원하지 않습니다.

도구

create_event
일정을 만들고 공유 링크, 주최자 링크, adminKey를 돌려줍니다
parse_event_text
한 문장(“다음 주 토요일 오후 저녁 모임, 3시간”)을 create_event 입력으로 변환합니다. 만들지는 않습니다
get_event
일정 읽기: 설정, 날짜별 후보 시작 시간, 응답한 사람, 인원이 많은 상위 10개 시작 시간, 모두 가능한 시간과 투표, 확정된 시간
submit_availability
한 사람이 가능한 시작 시간을 저장 (identity로 사람을 구분, 같은 identity면 덮어씀). 최신 순위를 돌려줌
vote_time
한 사람이 괜찮은 시작 시간을 한꺼번에 등록 (identity로 구분, 여러 개 가능, 다시 보내면 전체 교체. 먼저 시간을 입력해야 함)
decide_time
주최자가 시간을 확정합니다(adminKey 필요, null이면 취소). 확정 후에는 선택과 투표가 잠깁니다
remove_participant
주최자가 참여자를 삭제합니다(adminKey 필요)
update_event
주최자가 일정 설정을 변경합니다(adminKey 필요, 생략한 항목은 그대로)

시간 키는 2026-09-05T14:00 같은 후보 시작 시간이며 get_event의 startOptions에서 가져옵니다. adminKey는 주최자 전용이니 단체방에 올리지 마세요.

submit_availability와 vote_time의 identity는 사람마다 직접 생성해 보관하는 무작위의 추측하기 어려운 비밀 문자열입니다 (16자 이상, 예: 16진수 32자). 일반 사용자 id나 이름은 쓰지 마세요. 추측한 사람이 모든 이벤트에서 그 사람 행세를 할 수 있습니다. 서버는 해시만 저장합니다. 같은 identity는 같은 사람이고, 이름은 표시용이라 겹쳐도 됩니다.

Claude Code

claude mcp add --transport http syncday https://sync.day/mcp/mcp

Claude Desktop

설정 → Connectors에서 URL을 추가하거나 claude_desktop_config.json에 적습니다:

{
  "mcpServers": {
    "syncday": {
      "url": "https://sync.day/mcp/mcp"
    }
  }
}

Cursor

프로젝트의 .cursor/mcp.json(또는 전역 ~/.cursor/mcp.json):

{
  "mcpServers": {
    "syncday": {
      "url": "https://sync.day/mcp/mcp"
    }
  }
}

curl로 해 보기

# initialize
curl -s https://sync.day/mcp/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'

# tools/list
curl -s https://sync.day/mcp/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

응답은 SSE 형식(event: messagedata: 줄)이고 안에 JSON-RPC가 들어 있습니다.

대화 예시

“다음 주 토요일이나 일요일 오후에 저녁 모임 3시간으로 잡아 줘” → AI가 parse_event_text 다음 create_event를 호출하고 링크를 건네줍니다. “민수 토요일 14:00와 15:00 가능으로 넣어 줘” → submit_availability. “지금 어느 시간이 가장 많이 모여?” → get_event. “민수는 토요일 15:00에 투표” → vote_time. “토요일 15:00로 확정” → decide_time.

홈으로

MCP · sync.day