TODO MCP CLI 및 서버
이 저장소에는 다음을 포함하여 할 일 목록 애플리케이션을 위한 최소 MCP(모델 컨텍스트 프로토콜) 구현이 포함되어 있습니다.
FastAPI 서버 (
server/): 도구 검색을 위한/tools엔드포인트와 JSON-RPC 호출을 위한/rpc엔드포인트를 노출하여 작업에 대한 작업을 수행합니다.CLI 클라이언트 (
client/cli.py): LLM(OpenAI를 통해) 및 MCP 서버와 상호 작용하여 함수 호출을 사용하여 작업을 생성, 나열 및 완료하는 Python 명령줄 인터페이스입니다.
특징
제목, 내용 및 선택적 마감일이 있는 작업 추가
모든 작업 나열
작업을 완료된 것으로 표시
서버 측 작업 ID 생성
도구 호출을 위한 JSON-RPC 2.0 준수
필수 조건
파이썬 3.10+
가상 환경을 위한 pipenv 또는
venvOpenAI API 키
설치
저장소를 복제합니다.
지엑스피1
가상 환경을 만들고 활성화하세요.
python3 -m venv .venv source .venv/bin/activate종속성 설치:
pip install -r requirements.txt프로젝트 루트에
.env만듭니다.OPENAI_API_KEY=sk-... MCP_SERVER=http://127.0.0.1:8000
디렉토리 구조
todoMCP/
├── client/ # CLI client code
│ └── cli.py # Main entrypoint for the MCP-CLI
├── server/ # FastAPI server code
│ ├── handlers.py # Business logic for add, list, complete
│ ├── tools.py # JSON-Schema tool manifest
│ └── main.py # FastAPI app with /tools and /rpc
├── .env # Environment variables (not committed)
├── requirements.txt # Python dependencies
└── README.md # This file
서버 실행
fastapi dev server/main.py
대화형 API 문서는 http://127.0.0.1:8000/docs 에서 확인하세요.
CLI 실행
프로젝트 루트에서:
python -m client.cli
프롬프트에 자연어 명령을 입력하세요. 예:
> Create a task titled "Write blog post" with content "Outline first draft" due 2025-05-20
> List my tasks
> Mark the first task as done
> Thanks!
> exit
CLI는 도구 호출과 LLM 응답을 인쇄합니다.