MCP 시간 서버( mcp-time-srv )
TypeScript로 구현된 간단한 모델 컨텍스트 프로토콜(MCP) 서버로, 다양한 시간대의 현재 시간을 가져오고 시간대 간의 시간을 변환하는 등 시간 관련 쿼리를 위한 도구를 제공합니다.
이 서버는 최신 Streamable HTTP와 기존 HTTP+SSE MCP 전송 프로토콜을 모두 지원합니다.
특징
다음 MCP 도구를 제공합니다.
get_current_time: 지정된 IANA 시간대의 현재 시간을 반환합니다.convert_time: 주어진 시간을 소스 IANA 시간대에서 대상 IANA 시간대로 변환합니다.
Related MCP server: Time MCP Server
필수 조건
설정
저장소를 복제합니다(아직 복제하지 않았다면):
지엑스피1
종속성 설치:
npm install
지역적으로 실행
TypeScript 코드를 작성합니다.
npm run build이렇게 하면
src/에 있는 TypeScript 소스가dist/에 있는 JavaScript로 컴파일됩니다.서버 실행:
ts-node(개발용)를 사용하여 서버를 실행할 수도 있고, 빌드한 후node사용하여 직접 실행할 수도 있습니다.ts-nodenpx ts-node src/server.tsnodenode dist/server.js
서버는 일반적으로 포트 3000에서 수신 대기하며 시작됩니다.
Docker로 실행하기(선택 사항)
Dockerfile 은 컨테이너에서 서버를 빌드하고 실행하기 위해 제공됩니다.
Docker 이미지를 빌드합니다.
docker build -t mcp-time-srv .컨테이너를 실행합니다.
docker run -d -p 3000:3000 --name my-mcp-server mcp-time-srv-d: 분리 모드(백그라운드)로 실행합니다.-p 3000:3000: 호스트의 포트 3000을 컨테이너의 포트 3000에 매핑합니다.--name my-mcp-server: 컨테이너에 이름을 지정하여 관리를 용이하게 합니다.
서버는 컨테이너 내부에서 실행되며 http://localhost:3000 에서 접근할 수 있습니다.
컨테이너를 멈추려면:
로그를 보려면:
클라이언트 테스트
서버 도구와의 상호 작용을 보여주기 위해 간단한 테스트 클라이언트 스크립트( src/client.ts )가 포함되었습니다.
서버가 실행 중인지 확인하세요 (로컬 또는 Docker에서).
클라이언트를 실행합니다:
npx ts-node src/client.ts
클라이언트는 서버에 연결하고(기본적으로 SSE 전송을 사용하여), 사용 가능한 도구를 나열하고, 예제 인수(일부는 오류 처리 테스트를 위해 설계됨)를 사용하여 각 도구를 호출하고, 결과를 인쇄합니다.
도구 세부 정보
get_current_time
지정된 시간대의 현재 시간을 반환합니다.
입력 인수:
timezone(문자열, 선택 사항): IANA 시간대 이름(예:America/New_York,Europe/London). 생략하면 서버의 로컬 시간대가 기본값으로 사용됩니다.
출력: 다음을 포함하는 JSON 객체:
timezone(문자열): 사용되는 유효 시간대입니다.datetime(문자열): 오프셋이 포함된 ISO 8601 형식의 현재 시간(예:2025-04-26T01:39:15Z).
convert_time
소스 시간대의 시간을 대상 시간대로 변환합니다.
입력 인수:
source_timezone(문자열, 선택 사항): 소스 IANA 시간대 이름입니다. 생략 시 서버의 로컬 시간대가 기본값으로 사용됩니다.time(문자열, 필수): 24시간 HH:MM 형식으로 변환할 시간(예:14:30).target_timezone(문자열, 선택 사항): 대상 IANA 시간대 이름입니다. 생략 시 서버의 로컬 시간대가 기본값으로 사용됩니다.
출력: 다음을 포함하는 JSON 객체:
source(객체): 소스 시간대(timezone,datetime)의 시간 세부 정보입니다.target(객체): 대상 시간대(timezone,datetime)로 변환된 시간의 세부 정보입니다.time_difference(문자열): 대상 및 소스 시간대 오프셋 간의 차이(예:+8h,-5h,+5.75h).
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.