Python MCP 도구 작성
함수에 @mcp.tool()을 적용하면 함수 이름, Docstring, 타입 힌트가 각각 도구 이름, 설명, 입력 스키마가 된다.
그래프로 흐름을 짜는 LangGraph와 도구를 잇는 MCP 사용법.
함수에 @mcp.tool()을 적용하면 함수 이름, Docstring, 타입 힌트가 각각 도구 이름, 설명, 입력 스키마가 된다.
조회 도구만 즉시 실행을 허용하고, 변경 동작은 제안으로 접수하여 사람이 승인한 뒤 코드가 실행한다.
모델은 도구의 이름, 설명, 입력 스키마만 읽고 도구를 선택하므로 설명은 구체적으로 작성하고 인자는 enum과 범위로 제한한다.
로컬 도구에는 클라이언트가 실행하는 Stdio, 원격 서버에는 단일 엔드포인트에 POST하는 Streamable HTTP가 적합하다.
호스트는 서버마다 클라이언트를 하나씩 생성하고, 서버는 도구·리소스·프롬프트를 JSON-RPC로 제공한다.
노드 내부에서 interrupt()로 중단하고, 같은 thread_id에 Command(resume=...)를 전달하여 재개한다.
상태는 모든 노드가 공통으로 읽는 데이터, 노드는 변경할 키만 반환하는 함수, 엣지는 다음 노드를 결정하는 연결이다.
Checkpointer를 지정하면 단계마다 상태가 thread_id 단위로 저장되므로, 중단된 실행을 중단 지점에서 재개할 수 있다.
규칙으로 결정되는 분기는 라우팅 함수에 코드 조건으로 작성하고 add_conditional_edges로 등록한다.