본문 바로가기
스터디/MCP

[MCP Study] 3. Smithery MCP 서버 사용하기

by 박사개구리 2025. 5. 23.
반응형

⛔️ MCP의 내용을 개인적으로 스터디 하면서 정리한 자료입니다!

     혹시 잘못된 내용이나 오타, 개선할 사항이 있으시면 편하게 댓글 남겨주세요! 🙇‍♂️

⛳️ 목표!

  • Smithery의 MCP 서버를 사용하여 간단하게 MCP 도구 추가하기!

 

🍽️ 사전 준비 사항

  • 사전 준비 사항은 이전 글인 “1개의 MCP 서버와 클라이언트 통신하기”의 내용과 동일합니다.

 

🛠️ 실습 내용

⛏️ Smithery 사용하기

  • 이번 내용에서는 직접 구현한 MCP 서버가 아니라 Smithery의 MCP 서버를 사용하는 내용을 살펴보겠습니다.
    • 먼저 Smithery 공식 웹사이트 (https://smithery.ai/)에 접속합니다.
    • Smithery 웹 사이트에는 아래와 같이 많은 MCP 서버들이 있는 것을 볼 수 있습니다!! 🫢

  • 먼저 우상단의 Login을 클릭하고 깃허브를 이용하여 로그인을 합니다.

 

  • 그리고 검색창에서 duckduckgo를 검색하고 아래와 같이 DuckDuckGo Search Server에 접속합니다.

 

  • 여기서 내용을 보면 2가지 도구들이 있는 것을 확인할 수 있습니다.
    • search: DuckDuckGo에 입력을 검색한 결과를 반환
    • fetch_content: 특정 웹페이지 url의 내용을 불러옴
  • 저희가 기존에 직접 duckduckgo를 사용해서 구현했던 것들이 모두 구현되어 있는 것을 확인할 수 있습니다!! 🤩

 

  • 이 각각의 도구들을 Smithery 페이지에서 한번 사용해 볼 수 있습니다! 이 DuckDuckGo 페이지의 Tools 탭을 클릭하면 아래와 같은 화면을 확인할 수 있습니다. 여기서 우측의 Connect를 클릭합니다.

 

🤔 가끔 Connect를 하거나 도구를 실행할 때 시간 초과가 되는 경우가 있습니다. 이때는 조금 뒤에 다시 시도해보세요!

 

  • 연결이 되었으면 search 도구를 한번 사용해보겠습니다.
    • 2개의 도구 중 search를 클릭하고 검색어인 query에는 MCP를 입력하고 최대 검색 결과의 수인 max_results는 3을 입력한 다음 하단의 Run을 클릭합니다.
    • 이렇게 하면 아래 그림과 같이 우측의 Results에 결과가 나오는 것을 확인할 수 있습니다.

 

  • 이 중에 첫번째 URL을 복사한 다음 URL의 내용을 불러오는 fetch_content 도구를 사용해보겠습니다.
    • fetch_content를 클릭한 다음 url에 방금 복사한 URL을 붙여넣습니다. 저의 경우 https://modelcontextprotocol.io/introduction 주소를 입력했습니다.
    • 이제 Run을 클릭하면 아래와 같이 해당 URL의 본문 내용들이 Result에 출력되는 것을 확인할 수 있습니다.

 

  • 이렇게 Smithery를 사용하면 직접 MCP 서버를 구현할 필요 없이 이렇게 DuckDuckGo로 인터넷 검색도 하고 URL의 본문 내용도 불러올 수 있는 MCP 서버를 사용할 수 있습니다!! 😎
  • 이제 이 Smithery의 DuckDuckGo Search Server를 저희가 기존에 구현한 클라이언트에 적용하는 방법을 살펴보겠습니다.

 

🪢 클라이언트에 Smithery MCP 적용하기

  • Smithery MCP 서버를 사용하는 방법은 정말 간단합니다!
    • DuckDuckGo Search Server의 Overview 페이지의 오른쪽에 있는 Install 탭에서 JSON을 선택합니다.
    • 로그인을 하신 상태로 이 JSON을 확인하면 이 MCP 서버를 사용할 수 있는 JSON이 아래와 같이 나옵니다. (이때 --key는 여러분의 Smithery 키입니다)

 

  • 이 key는 공개되면 안되게 잘 관리해야 하므로 OpenAI 키처럼 .env 파일 안에 SMITHERY_KEY= 을 입력하고 이 뒤에 키를 붙여주겠습니다.
  • 그리고 이 JSON의 내용을 사용하여 기존 client 코드에서 MCP 서버들을 정의했던 코드를 다음과 같이 변경합니다.
    async with MultiServerMCPClient(
        {
            "duckduckgo-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@smithery/cli@latest",
                "run",
                "@nickclyde/duckduckgo-mcp-server",
                "--key",
                os.getenv("SMITHERY_KEY"),
            ], "transport": "stdio"
            },
            "weather": {
                "url": "http://localhost:9000/sse",
                "transport": "sse",
            }
        }
    ) as client:

 

  • 기존에 저희가 stdio로 직접 구현했던 MCP 서버를 Smithery의 DuckDuckGo MCP 서버로 변경했습니다.
    • 이때 key는 .env에 설정한 SMITHERY_KEY의 값을 불러와서 설정합니다.
    • 그리고 이때 transport는 stdio로 설정합니다.
  • 또한 weather 서버는 기존과 동일하게 sse로 사용하고 있습니다. 🌤️
    • 이에 따라 server_weather.py는 기존과 동일하게 실행된 상태여야합니다.
  • 이제 해당 client 코드의 전체 코드를 살펴보며 기존 코드와 약간 변경한 점 몇가지를 살펴보겠습니다.
import asyncio
from dotenv import load_dotenv
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI

import os

# Load environment variables from .env
load_dotenv()

model = ChatOpenAI(model="gpt-4.1-mini")

async def main():
    async with MultiServerMCPClient(
        {
            "duckduckgo-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@smithery/cli@latest",
                "run",
                "@nickclyde/duckduckgo-mcp-server",
                "--key",
                os.getenv("SMITHERY_KEY"),
            ], "transport": "stdio"
            },
            "weather": {
                "url": "http://localhost:9000/sse",
                "transport": "sse",
            }
        }
    ) as client:
        agent = create_react_agent(model, client.get_tools())

        # 도구 사용 예시
        tool_response = await agent.ainvoke({"messages": "오늘의 주요 뉴스를 자세히 알려줘"})

        for step, item in enumerate(tool_response['messages']):
            print(f'---------- tool response step: {step}------------')
            print(item)

        print(f"\nFinal response: {tool_response['messages'][-1].content}")
            
# 비동기적으로 main 함수 실행
if __name__ == "__main__":
    asyncio.run(main())

 

  • 변경한 부분은 아래의 2가지입니다.
    • 기존 gpt-4.1-nano 모델 대신 gpt-4.1-mini 모델로 변경했습니다. 여러 도구들을 효율적으로 동작하도록 사용하기 위해서는 더 성능이 뛰어난 mini 모델이 더 적절했습니다.
    • 그리고 입력에 “오늘의 주요 뉴스를 자세히 알려줘”라고 자세히라는 내용을 추가했습니다. 이렇게 해야 웹페이지 검색과 내부 내용까지 제대로 살펴보는 것을 확인할 수 있었습니다

 

  • 이제 한번 실행을 하고 진행 과정을 살펴보겠습니다.
---------- tool response step: 0------------
content='오늘의 주요 뉴스를 자세히 알려줘' additional_kwargs={} response_metadata={} id='a595a768-18e3-4fb8-aabe-e8ff375ac965'
---------- tool response step: 1------------
content='' additional_kwargs={'tool_calls': [{'id': 'call_DDNUt2yRxYBVw3BxCB3B8BEK', 'function': {'arguments': '{"query":"오늘의 주요 뉴스"}', 'name': 'search'}, 'type': 'function'}], 'refusal': None} response_metadata={'token_usage': {'completion_tokens': 16, 'prompt_tokens': 175, 'total_tokens': 191, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_name': 'gpt-4.1-mini-2025-04-14', 'system_fingerprint': 'fp_71b9d4b387', 'id': 'chatcmpl-BaNK4YNvOhKCSrxEW3MfkL6C5gNSP', 'finish_reason': 'tool_calls', 'logprobs': None} id='run-72f93add-fa8c-4723-98af-ceba376e73c7-0' tool_calls=[{'name': 'search', 'args': {'query': '오늘의 주요 뉴스'}, 'id': 'call_DDNUt2yRxYBVw3BxCB3B8BEK', 'type': 'tool_call'}] usage_metadata={'input_tokens': 175, 'output_tokens': 16, 'total_tokens': 191, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}}
---------- tool response step: 2------------
content="Found 10 search results:\n\n1. 주요뉴스 - 연합뉴스\n   URL: https://www.yna.co.kr/theme/headlines-history\n   Summary: 테마별뉴스|주요뉴스실시간 전체기사입니다. 국가기간뉴스 통신사 연합뉴스 연합뉴스 : 서울시 종로구 율곡로 2길 25 (02-398-3114) 대표이사 : 황대일 편집인 : 심인성 등록번호 : 문화, 나00009 등록일자 : 1980.12.29 발행일자 : 1980.12.29 사업자번호 : 102-81-23273 통신판매업신고번호 : 2014-서울종로-0124 이용 ...\n\n2. Google 뉴스\n   URL: https://news.google.com/?hl=ko\n   Summary: Google 뉴스에서 개인화된 브리핑을 확인하고 최신뉴스및 관심사를 탐색하세요.\n\n3. [모닝와이드] 오늘의 주요뉴스\n   URL: https://news.sbs.co.kr/news/endPage.do?news_id=N1008109872\n   Summary: 주요대선후보들은 오늘(22일)도 전국 곳곳에서 집중 유세를 이어갑니다. 이재명 민주당 후보는 제주와 경남을 찾고, 김문수 국민의힘 후보와 ...\n\n4. 한겨레\n   URL: http://hani.co.kr/\n   Summary: 한겨레는 신뢰, 공정을 바탕으로 최신 뉴스와 심층 보도, 칼럼 등을 제공합니다. 정치, 사회, 경제, 문화, 젠더, 기후변화 등 각 분야의 폭 넓은 ...\n\n5. Kbs 뉴스\n   URL: https://news.kbs.co.kr/news/pc/main/main.html\n   Summary: 주요영상 . 이전 다음. 이 시각 추천뉴스...오늘의쇼츠 ... 청소년보호책임자 : 정철웅 kbs뉴스 인터넷 서비스 / 서울특별시 마포구 매봉산로 45 kbs미디어센터 / 시청자상담실 02-781-1000 / 등록번호 서울 자00297 (2010년 6월 23일) ...\n\n6. 홈 - 다음뉴스\n   URL: https://news.daum.net/home\n   Summary: 이 시각 주요뉴스. ... (서울=뉴스1) 이비슬 기자 = 서울 버스 운영업체를 대표하는 서울시버스운송사업조합(조합)은 전국자동차노동조합연맹 서울시 버스노동조합(노조)이 예정대로 대규모 파업을 실시할 경우 '무노동 무임금' 원칙대로 대응하고 파업 참여 또는 ...\n\n7. 오늘의 주요뉴스 - Msn\n   URL: https://www.msn.com/ko-kr/news/other/%EC%98%A4%EB%8A%98%EC%9D%98-%EC%A3%BC%EC%9A%94%EB%89%B4%EC%8A%A4/ar-AA1Fjfon\n   Summary: 영상 바로가기 1. 오늘 2차 TV토론…'사회 분야' 공방 대선을 11일 앞둔 오늘(23일) 저녁, 주요후보들의 두 번째 TV 토론회가 사회 분야를 주제로 ...\n\n8. 1부 오늘의 주요뉴스 - Mbc News\n   URL: https://imnews.imbc.com/replay/2025/nwtoday/article/6718337_36807.html\n   Summary: 앵커 6.3 대통령 선거가 채 2주도 남지 않은 가운데 후보들의 유세 행보도 빨라지고 있습니다. 민주당 이재명 후보는 오늘 제주와 경남 양산에서 지지를 호소하고 국민의힘 김문수 후보는 광명과 부천 등 경기 남부 지역에서, 개혁신당 이준석 후보는 인천에서 표심잡기에 나섭니다.\n\n9. 최신뉴스 | 연합뉴스 | 연합뉴스\n   URL: https://www.yna.co.kr/news\n   Summary: 연합뉴스 실시간 최신뉴스입니다. ... 자본연 분석에 따르면 카브아웃 m&a는주요대기업이 경기 침체 우려에 유동성(현금)을 확보하고자 비핵심 사업영역 매각에 집중하면서 작년 크게 늘었다. ... [오늘의 국회일정](19일·월) 국회의장 국회의장 주재 기관장 업무 ...\n\n10. 홈페이지 - BBC News 코리아\n   URL: https://www.bbc.com/korean\n   Summary: TOP 뉴스; BBC News, 코리아 - 홈.주요뉴스'대선 후보들, 이것만 보라고 했죠'...30대 여성 CEO들이 전달한 책의 정체는 ...\n" name='search' id='e8da0dc3-27bf-4fdf-b9da-38633108b4ce' tool_call_id='call_DDNUt2yRxYBVw3BxCB3B8BEK'
---------- tool response step: 3------------
content='' additional_kwargs={'tool_calls': [{'id': 'call_toGuVbipJ08MHG6tEC1kF6Yw', 'function': {'arguments': '{"url":"https://news.sbs.co.kr/news/endPage.do?news_id=N1008109872"}', 'name': 'fetch_content'}, 'type': 'function'}], 'refusal': None} response_metadata={'token_usage': {'completion_tokens': 32, 'prompt_tokens': 1226, 'total_tokens': 1258, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 0}}, 'model_name': 'gpt-4.1-mini-2025-04-14', 'system_fingerprint': 'fp_71b9d4b387', 'id': 'chatcmpl-BaNK7nFAtC0vRkeUdRqjBw3f6IKyu', 'finish_reason': 'tool_calls', 'logprobs': None} id='run-09f98fc8-e367-4223-8913-31f95ff74904-0' tool_calls=[{'name': 'fetch_content', 'args': {'url': 'https://news.sbs.co.kr/news/endPage.do?news_id=N1008109872'}, 'id': 'call_toGuVbipJ08MHG6tEC1kF6Yw', 'type': 'tool_call'}] usage_metadata={'input_tokens': 1226, 'output_tokens': 32, 'total_tokens': 1258, 'input_token_details': {'audio': 0, 'cache_read': 0}, 'output_token_details': {'audio': 0, 'reasoning': 0}}
---------- tool response step: 4------------
content='[모닝와이드] 오늘의 주요뉴스 뉴스 뉴스 본문 바로가기 전체 메뉴 바로가기 기사 검색창 바로가기 배너 닫기 SBS뉴스 2025년 5월 23일(금) 로그인 회원가입 SBS SBS뉴스 주요 서비스 8뉴스 정치 경제 사회 국제 생활·문화 스포츠 연예 취재파일 TV뉴스 2025 국민의 선택 [모닝와이드] 오늘의 주요뉴스 제보 LIVE 추천 검색어 검색 알림 속보 및 알림 최근 24시간 이내 속보 및 알림을 표시합니다. 닫기 전체메뉴 SBS뉴스 전체메뉴 분야별메뉴 최신 정치 경제 사회 국제 생활 · 문화 스포츠 연예 TV 네트워크 이슈 2025 국민의 선택 TV뉴스메뉴 8뉴스 모닝와이드 1부 모닝와이드 2부 편상욱의 뉴스브리핑 오뉴스 나이트라인 뉴스토리 뉴스특보 취재파일메뉴 軍심戰심 씨네멘터리 오디오메뉴 골라듣는 뉴스룸 보이스 SBS뉴스 브리핑 SBS 낮 종합뉴스 연재메뉴 사실은 SBS 단독보도 친절한 경제 경제 365 D리포트 탐사리포트메뉴 끝까지 판다 현장탐사 비디오머그메뉴 스포츠머그 귀에 빡!종원 교양이를 부탁해 스토브리그 스브스뉴스메뉴 갓 나온 맛도리 오목교 전자상가 문명특급 바로가기메뉴 날씨 제보 라이브 기자 앱소개 RSS 시청자 게시판 공지사항메뉴 스브스프리미엄메뉴 지식뉴스 팟캐스트 커뮤니티 스퀴즈 SBS연예뉴스새창 열기 SBS Star새창 열기 SBS D포럼새창 열기 FOLLOW SBS NEWS SBS뉴스 공식 유튜브 SBS뉴스 공식 페이스북 SBS뉴스 공식 X SBS뉴스 공식 인스타그램 전체메뉴 닫기 대선 Pick 펼쳐보기 새로운 기사를 확인하세요! 모닝와이드 1부 사회 LIVE 팝업 닫기 [모닝와이드] 오늘의 주요뉴스 SBS 뉴스 Seoul 작성 2025.05.22 06:05 조회 조회수 프린트기사 본문 프린트 글자 크기 크게보기 글자크기 작게보기 PIP 닫기 1. 이재명, 제주·경남 행보…김문수·이준석, 수도권 공략 주요 대선후보들은 오늘(22일)도 전국 곳곳에서 집중 유세를 이어갑니다. 이재명 민주당 후보는 제주와 경남을 찾고, 김문수 국민의힘 후보와 이준석 개혁신당 후보는 수도권 공략을 이어갑니다. 2. \'부정선거\' 상영관 나타난 윤…국힘 \'부글부글\' 내란 우두머리 혐의로 재판을 받고 있는 윤석열 전 대통령이 부정선거 의혹을 주장하는 영화를 관람하며 파면 후 첫 공개 행보에 나섰습니다. 국민의힘 내에서는 자중해야 한다는 목소리가 나왔고, 이재명, 이준석 후보도 비판에 가세했습니다. 3. 인천서 술 마시던 지인에 흉기 난동…3명 부상 어젯밤 인천의 한 아파트 놀이터에서 함께 술을 마시던 지인들에게 흉기를 휘두른 60대 남성이 체포됐습니다. 모두 3명이 다쳐 병원으로 옮겨졌는데, 다행히 생명에는 지장이 없는 상태입니다. 4. "건진법사, 김 여사에 전달하려 선물 받은 것" 건진법사 전성배 씨가 자신의 측근에게 김 여사에게 선물을 전달했다는 취지로 발언한 것으로 SBS 취재결과 확인됐습니다. 통일교 측에서 김 여사 선물용으로 받은 고가품을 잃어버렸다던 그간의 주장과 배치되는 내용입니다. Copyright Ⓒ SBS. All rights reserved. 무단 전재, 재배포 및 AI학습 이용 금지 페이스북으로 공유하기 트위터로 공유하기 네이버로 공유하기 SNS 공유버튼 더보기 카카오톡으로 공유하기 밴드로 공유하기 url 주소 복사하기 복사가 완료 되었습니다. 이 기사의 덧글 보기 0 이 기사 좋아요 하기 0 관련 뉴스 추천 뉴스 이 시각 인기기사 동영상 기사 대통령 당선인 다 맞혔다…딱 6곳인데 전부 이 지역 동영상 기사 "그땐 숨 못쉬어…혀 안 말리게" 아빠 돌보는 9살 은지 동영상 기사 \'콸콸\' 퍼붓자 갇혔다…"너무 무서운데" 가까스로 탈출 동영상 기사 \'2천만개 둥둥\' 골칫덩어리…땅끝 해남서 해법 찾았다 동영상 기사 "협회가 올렸다" "알 낳는 닭 줄었다"…계란값 진실은 많이 본 뉴스 스브스프리미엄 스브스프리미엄이란? 당신의 지적 탐험과 발견, 성장, 나눔의 세계로 이끌어줄 프리미엄 콘텐츠레이어 닫기 스브스프리미엄더 보기 리스트더 보기 리스트더 보기 페이지 최상단으로 가기 닫기 정정보도 SBS뉴스 전체메뉴 분야별메뉴 최신 정치 경제 사회 국제 생활 · 문화 스포츠 연예 TV 네트워크 이슈 2025 국민의 선택 TV뉴스메뉴 8뉴스 모닝와이드 1부 모닝와이드 2부 편상욱의 뉴스브리핑 오뉴스 나이트라인 뉴스토리 뉴스특보 취재파일메뉴 軍심戰심 씨네멘터리 오디오메뉴 리스트 골라듣는 뉴스룸 보이스 SBS뉴스 브리핑 SBS 낮 종합뉴스 연재메뉴 리스트 사실은 SBS 단독보도 친절한 경제 경제 365 D리포트 탐사리포트메뉴 끝까지 판다 현장탐사 비디오머그메뉴 스포츠머그 귀에 빡!종원 교양이를 부탁해 스토브리그 스브스뉴스메뉴 갓 나온 맛도리 오목교 전자상가 문명특급 바로가기메뉴 날씨 제보 라이브 기자 앱소개 RSS 시청자 게시판 공지사항 스브스프리미엄메뉴 지식뉴스 팟캐스트 커뮤니티 스퀴즈 SBS연예뉴스새창 열기 SBS Star새창 열기 SBS D포럼새창 열기 SBS 소개리스트 SBS PR SBS IR 채용정보 이용약관 SBS 방송편성규약 개인정보처리방침 시청자위원회 영상판매 웹광고 SBS 제작협찬 SBS 방송기술 SBS 문화사업 SBS Prism Tower 아트컬렉션 고객센터 사이트맵 시청자 참여리스트 공지사항 시청자 게시판 뉴스제보 고충처리인(방송피해신고) 열린TV시청자세상 윤리경영신고 웹광고 개인정보처리방침 SBS Family리스트 TY홀딩스 SBSi 뉴스서비스부문 SBSi SBS연예뉴스 SBS Star SBS 콘텐츠허브 SBS Plus SBS Sports SBS Golf SBS Biz SBS 인터내셔널 SBS A&T SBS M&C SBS 문화재단 서암학술장학재단 SBS 기술인협회 SBS 아나운서 스튜디오 S 지역민영방송리스트 G1 강원 KBC 광주 TBC 대구 TJB 대전 KNN 부산 UBC 울산 JTV 전주 CJB 청주 JIBS 제주 SBS뉴스 공식 유튜브 SBS뉴스 공식 페이스북 SBS뉴스 공식 X SBS뉴스 공식 인스타그램 SBS 정보 SBS 기사 관련문의 : 02-2061-0006 뉴스 기사제보 : 02-2113-6000 Email : sbs8news@sbs.co.kr 대표이사 : 방문신 편집 책임자 : 김수형 SBSi 정보 SBS뉴스 서울특별시 양천구 목동서로 161 고객센터 : 1577-1003 Email : newsservice@sbs.co.kr 등록번호 : 서울 자00540 등록일자 : 2017-09-07 발행인 : 김기헌 기사배열책임자, 청소년보호책임자 : 정인영 기사배열 기본 원칙 청소년 보호정책 Copyright Ⓒ SBS. All rights reserved. 무단 전재, 재배포 및 AI학습 이용 금지' name='fetch_content' id='fd1b22fd-1078-4bdd-a7a9-06f1635bc62b' tool_call_id='call_toGuVbipJ08MHG6tEC1kF6Yw'
---------- tool response step: 5------------
content='오늘의 주요 뉴스입니다:\n\n1. 대선 후보들 행보: 이재명 민주당 후보는 제주와 경남 지역을 방문하며 집중 유세를 진행하고 있으며, 김문수 국민의힘 후보와 이준석 개혁신당 후보는 수도권 지역을 공략하고 있습니다.\n\n2. 윤석열 전 대통령 부정선거 의혹 영화 관람: 내란 우두머리 혐의로 재판 중인 윤석열 전 대통령이 부정선거 의혹을 주장하는 영화를 관람하며 파면 후 첫 공개 행보를 했습니다. 국민의힘 내부에서는 자중해야 한다는 목소리가 나오고 있고, 이재명 후보와 이준석 후보도 비판하고 있습니다.\n\n3. 인천에서 술자리 난동 사건: 인천의 한 아파트 놀이터에서 함께 술을 마시던 60대 남성이 지인들에게 흉기를 휘둘러 3명이 부상했으나 생명에는 지장이 없는 상태입니다.\n\n4. 건진법사 관련 의혹: 건진법사 전성배 씨가 측근에게 김 여사에게 전달할 선물을 받았다고 발언한 것으로 SBS 취재 결과 확인됐으며, 이는 통일교 측에서 김 여사 선물용으로 받은 고가품을 잃어버렸다는 기존 주장과 배치되는 내용입니다.\n\n더 자세한 뉴스가 필요하시면 알려주세요.' additional_kwargs={'refusal': None} response_metadata={'token_usage': {'completion_tokens': 308, 'prompt_tokens': 3133, 'total_tokens': 3441, 'completion_tokens_details': {'accepted_prediction_tokens': 0, 'audio_tokens': 0, 'reasoning_tokens': 0, 'rejected_prediction_tokens': 0}, 'prompt_tokens_details': {'audio_tokens': 0, 'cached_tokens': 1152}}, 'model_name': 'gpt-4.1-mini-2025-04-14', 'system_fingerprint': 'fp_71b9d4b387', 'id': 'chatcmpl-BaNKA6nu8sZMQyeMAKkCSyQAY4tAp', 'finish_reason': 'stop', 'logprobs': None} id='run-4b9e4d74-31fc-450d-9ad3-e135d8e5127b-0' usage_metadata={'input_tokens': 3133, 'output_tokens': 308, 'total_tokens': 3441, 'input_token_details': {'audio': 0, 'cache_read': 1152}, 'output_token_details': {'audio': 0, 'reasoning': 0}}

 

  • 먼저 step 1에서는 “오늘의 주요 뉴스”라는 쿼리를 DuckDuckGo Search Server의 search 도구에 입력하도록 설정하였으며 그 결과를 step 2에서 살펴볼 수 있습니다.
  • step 3에서는 그 중 하나의 url (https://news.sbs.co.kr/news/endPage.do?news_id=N1008109872)을 fetch_content 도구에 입력하도록 설정하였으며 그 결과는 step 4에서 살펴볼 수 있습니다.
  • 그리고 이 내용들을 통해서 step 5에서 얻은 최종 출력은 다음과 같습니다.
오늘의 주요 뉴스입니다:

1. 대선 후보들 행보: 이재명 민주당 후보는 제주와 경남 지역을 방문하며 집중 유세를 진행하고 있으며, 김문수 국민의힘 후보와 이준석 개혁신당 후보는 수도권 지역을 공략하고 있습니다.
2. 윤석열 전 대통령 부정선거 의혹 영화 관람: 내란 우두머리 혐의로 재판 중인 윤석열 전 대통령이 부정선거 의혹을 주장하는 영화를 관람하며 파면 후 첫 공개 행보를 했습니다. 국민의힘 내부에서는 자중해야 한다는 목소리가 나오고 있고, 이재명 후보와 이준석 후보도 비판하고 있습니다.
3. 인천에서 술자리 난동 사건: 인천의 한 아파트 놀이터에서 함께 술을 마시던 60대 남성이 지인들에게 흉기를 휘둘러 3명이 부상했으나 생명에는 지장이 없는 상태입니다.
4. 건진법사 관련 의혹: 건진법사 전성배 씨가 측근에게 김 여사에게 전달할 선물을 받았다고 발언한 것으로 SBS 취재 결과 확인됐으며, 이는 통일교 측에서 김 여사 선물용으로 받은 고가품을 잃어버렸다는 기존 주장과 배치되는 내용입니다.
더 자세한 뉴스가 필요하시면 알려주세요.

 

  • 이렇게 간단하게 기존의 MCP 서버를 Smithery의 MCP 서버로 변경하였습니다!! 🚀
  • 이런식으로 Smithery를 통해 여러 서버를 간단하게 추가하거나 제거할 수 있고 에이전트는 사용자의 질문을 해결하기 위해서 설정된 다양한 MCP 도구들을 사용하여 최적의 응답을 만들어 낼 수 있는 것입니다!! 😆

 

👋 결론

이번에는 Smithery에 구현된 MCP 서버를 간단하게 불러와서 기존 MCP 서버를 대체하여 사용하는 내용을 살펴보았습니다!

다음 내용에서는 Smithery의 여러 재미나보이는 서버들을 사용해서 직접 미니 프로젝트를 진행하는 내용을 진행해볼까합니다!! 🤩

반응형