강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

khs님의 프로필 이미지
khs

작성한 질문수

회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)

MCP를 활용한 코드리뷰 에이전트 생성하기 (feat. LangGraph)

24강 io.UnsupportedOperation: fileno 에러 (stdio MCP 사용)

작성

·

23

0

안녕하세요.

Windows, VSC, Jupyter notebook 환경에서 stdio 기반 MCP 서버들을 테스트할 때 아래와 같은 에러가 발생하네요. unix 계열 OS 에서는 발생하지 않는 건가요?

io.UnsupportedOperation: fileno

.py 파일로 작성해서 실행할 때는 문제 없이 동작합니다.

 

답변 2

1

khs님의 프로필 이미지
khs
질문자

강의 보면서 실습하는거라 과정은 똑같습니다.

tool_list = await mcp_client.get_tools()

이때 에러가 나는데 transport 하는 과정에서 stdio 가 사용될 테니 여기서 fileno 관련 에러가 나는 걸로 보입니다. 아래와 같은 에러입니다.

 

\.venv\Lib\site-packages\ipykernel\iostream.py:371, in OutStream.fileno(self)

369 return self._original_stdstream_copy

370 msg = "fileno"

--> 371 raise io.UnsupportedOperation(msg)

UnsupportedOperation: fileno

 

ipykernel 패키지로 부터의 예외 메시지라 Jupyter 와 관련있는거 같고, 실제로 아래와 같이 해 보면 예외가 발생합니다. (stdin 은 괜찮고 stdout 과 stderr 만 에러 발생)

try:
    stdout_fd = sys.stdout.fileno()
    print(f"stdout fileno: {stdout_fd}")
except Exception as e:
    print(f"Error: {e}")

노트북으로 안하고 CLI 에서 "python stdio_test.py" 해 보면 모두 문제 없고요.

그래서 .ipynb 파일을 .py 파일로 export 해서 실습은 완료했습니다.

강의에서는 문제 없길래 OS 차이인가 해서요.

나중에 Cursor + Jupyter 환경에서도 테스트해봐야겠네요..

감사합니다.

강병진님의 프로필 이미지
강병진
지식공유자

공유 감사드립니다!

0

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요! 저는 처음보는 에러인데요, stdio는 운영체제를 타지는 않을거라 왠지 노트북 환경에서 구동할 때 발생하는 에러가 아닌가 싶습니다.

강의를 보시면 mcp서버는 말씀하신 것처럼 .py 로 작성하고, 해당 mcp 서버를 노트북에서 실행하는데요, 지금은 MCP 서버를 노트북에서 구동하려는 중이실까요?

khs님의 프로필 이미지
khs

작성한 질문수

질문하기