사용 설명
프로젝트 소개
나비 MCP 서버는 Model Context Protocol (MCP)를 기반으로 구축된 서버로, LLM 클라이언트에게 Gmail, 캘린더, Perplexity 검색 기능을 제공합니다. 이 서버를 통해 LLM은 이메일 관리, 일정 관리, 웹 검색 기능을 안전하고 효율적으로 활용할 수 있습니다.
주요 기능
- Gmail 연동: 이메일 목록 조회, 검색, 전송, 라벨 수정 등 Gmail 계정 관리 기능 제공
- Google 캘린더 연동: 일정 목록 조회, 일정 생성 등 캘린더 관리 기능 제공
- Perplexity 검색: Perplexity AI를 활용한 웹 검색 기능 제공
- 표준 MCP 인터페이스: JSON-RPC over Stdio를 통해 LLM 클라이언트와 통신
- 확장 가능한 도구: 필요에 따라 새로운 도구를 쉽게 추가 가능
설치 방법
-
GitHub 리포지토리 복제:
git clone https://github.com/dominhok/mini-aiffelthon.git cd mini-aiffelthon -
필요한 Python 패키지 설치:
pip install -r requirements.txtrequirements.txt 파일이 리포지토리에 없으므로, 필요한 패키지를 직접 설치해야 합니다. 주요 패키지는 다음과 같습니다:
- 'mcp-server'
- 'requests'
- 'google-api-python-client'
- 'google-auth-oauthlib'
- 'python-dotenv'
- 'httpx'
- 'langchain-upstage'
명령 예시:
pip install mcp-server requests google-api-python-client google-auth-oauthlib python-dotenv httpx langchain-upstage -
환경 변수 설정:
- '.env' 파일을 생성하고 다음 환경 변수를 설정합니다.
- 'WEATHERMAP_API_KEY': OpenWeatherMap API 키 (날씨 기능 사용 시 필요)
- 'GOOGLE_CLIENT_ID': Google Cloud Console에서 생성한 OAuth 2.0 클라이언트 ID (Gmail, 캘린더 기능 사용 시 필요)
- 'GOOGLE_CLIENT_SECRET': Google Cloud Console에서 생성한 OAuth 2.0 클라이언트 비밀번호 (Gmail, 캘린더 기능 사용 시 필요)
- 'PERPLEXITY_API_KEY': Perplexity API 키 (Perplexity 검색 기능 사용 시 필요)
- '.env' 파일을 생성하고 다음 환경 변수를 설정합니다.
서버 설정 (MCP 클라이언트 설정 JSON)
MCP 클라이언트는 JSON 형식으로 서버 설정을 정의해야 합니다. 'mini-aiffelthon' 리포지토리의 MCP 서버들을 사용하기 위한 설정 예시는 다음과 같습니다.
{ "servers": { "weather": { "name": "Weather", "command": "python", "args": ["mcp_server_local.py"] }, "gsuite": { "name": "GSuite", "command": "python", "args": ["gsuite_mcp_server.py"] }, "pplx_search": { "name": "PerplexitySearch", "command": "python", "args": ["pplx_search_mcp_server.py"] } } }
설정 항목 설명:
- '"servers"': MCP 서버들을 정의하는 JSON 객체
- '"weather"', '"gsuite"', '"pplx_search"': 각 서버의 이름 (사용자 정의 가능)
- '"name"': MCP 서버의 이름 (코드에서 정의된 이름과 일치해야 함, 예: 'FastMCP("Weather", ...)' )
- '"command"': 서버 실행 명령어 (Python 스크립트 실행 시 '"python"')
- '"args"': 서버 실행 명령어의 인자 (각각의 Python 스크립트 파일명)
MCP 클라이언트는 위 JSON 설정을 바탕으로 각 서버와 연결하고 도구를 사용할 수 있습니다.
기본 사용 방법
-
각 MCP 서버를 실행합니다. 예를 들어, 'weather' 서버를 실행하려면 터미널에서 다음 명령어를 실행합니다.
python mcp_server_local.py마찬가지로 'gsuite_mcp_server.py' 와 'pplx_search_mcp_server.py' 도 각각 실행합니다.
-
MCP 클라이언트에서 위에서 생성한 서버 설정 JSON 파일을 로드합니다.
-
MCP 클라이언트를 통해 각 서버에 등록된 도구를 호출하여 기능을 활용합니다.
자세한 사용 방법은 각 MCP 클라이언트의 사용 설명서를 참고하십시오.
信息
分类
生产力应用