mcp-툴박스
모델 컨텍스트 프로토콜(MCP)을 통해 LLM 기능을 강화하는 포괄적인 툴킷입니다. 이 패키지는 LLM이 외부 서비스 및 API와 상호 작용하여 텍스트 생성을 넘어 기능을 확장할 수 있도록 지원하는 도구 모음을 제공합니다.
GitHub 저장소 : https://github.com/ai-zerolab/mcp-toolbox/
(WIP) 문서 : https://ai-zerolab.github.io/mcp-toolbox/
특징
*nix가 주요 타겟이지만 Windows도 작동해야 합니다.
명령줄 실행 : LLM을 통해 모든 명령줄 명령어를 실행합니다.
Figma 통합 : Figma 파일, 구성 요소, 스타일 등에 액세스
확장 가능한 아키텍처 : 새로운 API 통합을 쉽게 추가
MCP 프로토콜 지원 : Claude Desktop 및 기타 MCP 지원 LLM과 호환
종합 테스트 : 높은 테스트 범위를 갖춘 잘 테스트된 코드베이스
Related MCP server: MCP Python Interpreter
설치
uv 사용 (추천)
환경을 관리하려면 uv를 사용하는 것이 좋습니다.
지엑스피1
그런 다음 uvx "mcp-toolbox@latest" stdio 사용하여 최신 버전의 MCP 서버를 실행할 수 있습니다. 오디오 및 메모리 도구는 기본 설치에 포함되어 있지 않습니다. all 추가 도구를 설치하여 포함할 수 있습니다.
[오디오]는 오디오 도구, [메모리]는 메모리 도구, [모두]는 모든 도구에 적용됩니다.
uvx "mcp-toolbox[all]@latest" stdioSmithery를 통해 설치
Smithery를 통해 Claude Desktop용 Toolbox for LLM Enhancement를 자동으로 설치하려면:
npx -y @smithery/cli install @ai-zerolab/mcp-toolbox --client claudepip 사용하기
pip install "mcp-toolbox[all]"그리고 mcp-toolbox stdio MCP 서버를 실행하기 위한 명령으로 사용할 수 있습니다.
구성
환경 변수
다음 환경 변수를 구성할 수 있습니다.
FIGMA_API_KEY: Figma 통합을 위한 API 키TAVILY_API_KEY: Tavily 통합을 위한 API 키DUCKDUCKGO_API_KEY: DuckDuckGo 통합을 위한 API 키BFL_API_KEY: Flux 이미지 생성 API를 위한 API 키
메모리 저장
메모리 도구는 다음 위치에 데이터를 저장합니다.
macOS :
~/Documents/zerolab/mcp-toolbox/memory(iCloud를 통해 여러 기기에서 동기화)다른 플랫폼 :
~/.zerolab/mcp-toolbox/memory
전체 구성
Claude Desktop/Cline/Cursor/...와 함께 mcp-toolbox를 사용하려면 구성 파일에 다음을 추가하세요.
{
"mcpServers": {
"zerolab-toolbox": {
"command": "uvx",
"args": ["--prerelease=allow", "mcp-toolbox@latest", "stdio"],
"env": {
"FIGMA_API_KEY": "your-figma-api-key",
"TAVILY_API_KEY": "your-tavily-api-key",
"DUCKDUCKGO_API_KEY": "your-duckduckgo-api-key",
"BFL_API_KEY": "your-bfl-api-key"
}
}
}
}전체 기능을 보려면:
{
"mcpServers": {
"zerolab-toolbox": {
"command": "uvx",
"args": [
"--prerelease=allow",
"--python=3.12",
"mcp-toolbox[all]@latest",
"stdio"
],
"env": {
"FIGMA_API_KEY": "your-figma-api-key",
"TAVILY_API_KEY": "your-tavily-api-key",
"DUCKDUCKGO_API_KEY": "your-duckduckgo-api-key",
"BFL_API_KEY": "your-bfl-api-key"
}
}
}
}다음을 사용하여 디버그 구성 템플릿을 생성할 수 있습니다.
uv run generate_config_template.py사용 가능한 도구
명령줄 도구
도구 | 설명 |
| 명령줄 명령어 실행 |
파일 작업 도구
도구 | 설명 |
| 파일에서 콘텐츠 읽기 |
| 파일에 내용 쓰기 |
| 정규 표현식을 사용하여 파일의 내용 바꾸기 |
| 자세한 정보와 함께 디렉토리 내용을 나열합니다. |
Figma 도구
도구 | 설명 |
| 키로 Figma 파일 가져오기 |
| Figma 파일에서 특정 노드 가져오기 |
| Figma 파일의 노드에 대한 이미지 가져오기 |
| Figma 파일에 사용된 이미지의 URL 가져오기 |
| Figma 파일에 대한 의견 받기 |
| Figma 파일에 댓글을 게시하세요 |
| Figma 파일에서 주석 삭제 |
| 팀을 위한 프로젝트 받기 |
| 프로젝트에 대한 파일 가져오기 |
| 팀을 위한 구성 요소 가져오기 |
| 파일에서 구성 요소 가져오기 |
| 키로 구성 요소 가져오기 |
| 팀을 위한 구성 요소 세트 가져오기 |
| 팀을 위한 스타일을 얻으세요 |
| 파일에서 스타일 가져오기 |
| 키로 스타일을 얻으세요 |
XiaoyuZhouFM 도구
도구 | 설명 |
| XiaoyuZhouFM에서 팟캐스트 에피소드를 다운로드하고 자동으로 m4a를 mp3로 변환하는 옵션을 선택하세요. |
오디오 도구
도구 | 설명 |
| 오디오 파일의 길이를 초 단위로 가져옵니다. |
| 오디오 파일에서 특정 시간 범위의 텍스트를 필사합니다. |
메모리 도구
도구 | 설명 |
| 도구를 사용하여 무언가에 대해 생각하고 그 생각을 로그에 추가하세요. |
| 현재 세션 ID를 가져옵니다 |
| 기억(간략한 내용과 세부 내용)을 기억 데이터베이스에 저장합니다. |
| 의미 검색을 통해 데이터베이스에서 메모리 쿼리 |
| 메모리 데이터베이스의 모든 메모리를 지웁니다. |
마크다운 도구
도구 | 설명 |
| MarkItDown을 사용하여 모든 파일을 Markdown으로 변환하세요 |
| MarkItDown을 사용하여 URL을 Markdown으로 변환 |
웹 도구
도구 | 설명 |
| URL에서 HTML 콘텐츠 가져오기 |
| URL에서 HTML을 파일로 저장 |
| Tavily를 사용하여 웹 검색(API 키 필요) |
| DuckDuckGo를 사용하여 웹 검색(API 키 필요) |
Flux 이미지 생성 도구
도구 | 설명 |
| Flux API를 사용하여 이미지를 생성하고 파일에 저장합니다. |
사용 예
MCP 서버 실행
# Run with stdio transport (default)
mcp-toolbox stdio
# Run with SSE transport
mcp-toolbox sse --host localhost --port 9871Claude Desktop과 함께 사용
구성 섹션에 표시된 대로 Claude Desktop을 구성합니다.
Claude Desktop 시작
Claude에게 Figma 파일과 상호 작용하도록 요청하세요.
"12345abcde라는 Figma 파일에 대한 정보를 얻을 수 있나요?"
"이 Figma 파일의 구성 요소를 보여주세요: 12345abcde"
"이 Figma 파일에서 주석을 가져옵니다: 12345abcde"
Claude에게 명령줄 지침을 실행하도록 요청하세요.
"현재 디렉토리에는 어떤 파일이 있나요?"
"현재 시스템 시간은 몇 시입니까?"
"특정 파일의 내용을 보여주세요."
Claude에게 XiaoyuZhouFM에서 팟캐스트를 다운로드해 달라고 요청하세요:
이 팟캐스트 에피소드를 다운로드하세요: https://www.xiaoyuzhoufm.com/episode/67c3d80fb0167b8db9e3ec0f
"이 팟캐스트를 다운로드하여 MP3로 변환하세요: https://www.xiaoyuzhoufm.com/episode/67c3d80fb0167b8db9e3ec0f "
Claude에게 오디오 파일 작업을 요청하세요.
"audio.m4a 오디오 파일의 길이는 얼마입니까?"
"60초에서 90초까지의 오디오를 audio.m4a로 변환하세요"
"오디오 파일에서 2:30~3:00까지의 텍스트를 가져오세요"
Claude에게 파일이나 URL을 Markdown으로 변환해 달라고 요청하세요.
"이 파일을 Markdown으로 변환하세요: document.docx"
"이 웹페이지를 마크다운으로 변환하세요: https://example.com "
Claude에게 웹 콘텐츠 작업을 요청하세요.
" https://example.com 에서 HTML 콘텐츠를 가져옵니다"
" https://example.com 의 HTML을 파일로 저장"
"웹에서 '인공지능 뉴스'를 검색하세요"
Claude에게 Flux를 사용하여 이미지를 생성하도록 요청하세요.
"산 위로 지는 아름다운 일몰 이미지를 생성합니다"
"미래 도시 이미지를 만들어 내 바탕 화면에 저장"
"우주복을 입은 고양이의 초상화를 생성하세요"
클로드에게 메모리 도구를 사용해 달라고 요청하세요.
"이 중요한 사실을 기억하세요: 프랑스의 수도는 파리입니다."
"현재 내 세션 ID는 무엇입니까?"
"프랑스에 대한 정보를 기억하세요"
"기후 변화의 의미에 대해 생각해 보세요"
"저장된 모든 기억을 잊어버려"
개발
로컬 설정
저장소를 포크하여 로컬 컴퓨터에 복제합니다.
# Install in development mode
make install
# Activate a virtual environment
source .venv/bin/activate # For macOS/Linux
# or
.venv\Scripts\activate # For Windows테스트 실행
make test실행 확인
make check건물 문서
make docs새로운 도구 추가
새로운 API 통합을 추가하려면:
필요한 API 키로
config.py업데이트합니다.mcp_toolbox/에 새 모듈을 만듭니다.API 클라이언트와 도구를 구현하세요
새로운 기능에 대한 테스트를 추가하세요
새로운 환경 변수 및 도구로 README.md를 업데이트합니다.
자세한 지침은 개발 가이드를 참조하세요.
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
저장소를 포크하세요
기능 브랜치를 생성합니다(
git checkout -b feature/amazing-feature)변경 사항을 커밋하세요(
git commit -m 'Add some amazing feature')브랜치에 푸시(
git push origin feature/amazing-feature)풀 리퀘스트 열기
특허
이 프로젝트는 저장소에 포함된 라이선스 조건에 따라 라이선스가 부여되었습니다.