간단한 MCP Server를 만들고 Inspector로 확인하기

2025. 4. 4. 14:39개발/AWS

MCP 사이트에는 Quickstart로 Server를 만드는 방법을 제공하고 있습니다.

 

For Server Developers - Model Context Protocol

Since this is the US National Weather service, the queries will only work for US locations.

modelcontextprotocol.io

저는 이번에 위 예시보다 더 간단한 MCP 서버를 하나 만들어보겠습니다.

from mcp.server.fastmcp import FastMCP

mcp = FastMCP()

@mcp.tool()
def top_song(genre: str) -> str:
    top_songs = {
        "pop": "Blinding Lights - The Weeknd",
        "rock": "Bohemian Rhapsody - Queen",
        "jazz": "So What - Miles Davis",
        "classical": "Canon in D - Pachelbel",
        "hiphop": "SICKO MODE - Travis Scott",
        "kpop": "Dynamite - BTS"
    }
    return top_songs.get(genre, f"No top song found for genre: {genre}")

if __name__ == "__main__":
    mcp.run(transport='stdio')

이정도만 작성해도 top_song 이라는 MCP 서버를 하나 만들게 된 것입니다.

실제로 잘 작동하는지 테스트를 하기 위해 inspector를 사용하겠습니다.
Inspector는 MCP를 디버깅 하기 위한 출입니다.

 

Inspector - Model Context Protocol

Learn about broader debugging strategies

modelcontextprotocol.io

작성한 코드를 Inspector로 테스트 하기 위해서는 아래와 같이 명령어를 실행하면 됩니다.
명령어를 실행하면 디버깅 페이지에 접속할 수 있습니다.

npx @modelcontextprotocol/inspector uvx uv run /Users/seobs/mcp/song.py

 

 

이제 위에서 만든 top_song이 잘 돌아가는지 확인해보겠습니다.

먼저 좌측 하단의 Connect 버튼을 눌러 연결을 합니다.
그 뒤에 상단의 Tools 메뉴로 이동을 합니다.

List Tools을 누르면 바로 아래에 top_song이 보이게 됩니다.

하단에 History에 호출 결과가 나오고 여기에서 Request, Response에 대한 자세한 데이터도 확인할 수 있습니다.

 

tools을 실행해보기 위해 우측에서 gerne에 pop을 입력하고 Run Tool을 해보겠습니다.

그럼 바로 하단에 Tool Result를 볼 수 있고 History에서도 상세한 Request, Response를 확인할 수 있습니다.

 

다음은 위 top_song을 aws bedrock에서 사용해보도록 하겠습니다.

https://walkthinksleep.tistory.com/entry/%EA%B0%84%EB%8B%A8%ED%95%9C-MCP-Server%EB%A5%BC-Amazon-Bedrock%EC%97%90%EC%84%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

 

간단한 MCP Server를 Amazon Bedrock에서 사용하기

지난 번 포스팅에서 만든 top_song을 aws bedrock에서 사용하는 방법을 알아보도록 하겠습니다. 간단한 MCP Server를 만들고 Inspector로 확인하기MCP 사이트에는 Quickstart로 Server를 만드는 방법을 제공하고

walkthinksleep.tistory.com