Zerolab MCP Toolbox
STDIOA comprehensive toolkit for enhancing LLM capabilities through Model Context Protocol.
A comprehensive toolkit for enhancing LLM capabilities through Model Context Protocol.
A comprehensive toolkit for enhancing LLM capabilities through the Model Context Protocol (MCP). This package provides a collection of tools that allow LLMs to interact with external services and APIs, extending their functionality beyond text generation.
*nix is our main target, but Windows should work too.
We recommend using uv to manage your environment.
# Install uv curl -LsSf https://astral.sh/uv/install.sh | sh # For macOS/Linux # or powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" # For Windows
Then you can use uvx "mcp-toolbox@latest" stdio
as commands for running the MCP server for latest version. Audio and memory tools are not included in the default installation., you can include them by installing the all
extra:
[audio] for audio tools, [memory] for memory tools, [all] for all tools
uvx "mcp-toolbox[all]@latest" stdio
To install Toolbox for LLM Enhancement for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ai-zerolab/mcp-toolbox --client claude
pip install "mcp-toolbox[all]"
And you can use mcp-toolbox stdio
as commands for running the MCP server.
The following environment variables can be configured:
FIGMA_API_KEY
: API key for Figma integrationTAVILY_API_KEY
: API key for Tavily integrationDUCKDUCKGO_API_KEY
: API key for DuckDuckGo integrationBFL_API_KEY
: API key for Flux image generation APIMemory tools store data in the following locations:
~/Documents/zerolab/mcp-toolbox/memory
(syncs across devices via iCloud)~/.zerolab/mcp-toolbox/memory
To use mcp-toolbox with Claude Desktop/Cline/Cursor/..., add the following to your configuration file:
{ "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" } } } }
For full features:
{ "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" } } } }
You can generate a debug configuration template using:
uv run generate_config_template.py
Tool | Description |
---|---|
execute_command | Execute a command line instruction |
Tool | Description |
---|---|
read_file_content | Read content from a file |
write_file_content | Write content to a file |
replace_in_file | Replace content in a file using regular expressions |
list_directory | List directory contents with detailed information |
Tool | Description |
---|---|
figma_get_file | Get a Figma file by key |
figma_get_file_nodes | Get specific nodes from a Figma file |
figma_get_image | Get images for nodes in a Figma file |
figma_get_image_fills | Get URLs for images used in a Figma file |
figma_get_comments | Get comments on a Figma file |
figma_post_comment | Post a comment on a Figma file |
figma_delete_comment | Delete a comment from a Figma file |
figma_get_team_projects | Get projects for a team |
figma_get_project_files | Get files for a project |
figma_get_team_components | Get components for a team |
figma_get_file_components | Get components from a file |
figma_get_component | Get a component by key |
figma_get_team_component_sets | Get component sets for a team |
figma_get_team_styles | Get styles for a team |
figma_get_file_styles | Get styles from a file |
figma_get_style | Get a style by key |
Tool | Description |
---|---|
xiaoyuzhoufm_download | Download a podcast episode from XiaoyuZhouFM with optional automatic m4a to mp3 conversion |
Tool | Description |
---|---|
get_audio_length | Get the length of an audio file in seconds |
get_audio_text | Get transcribed text from a specific time range in an audio file |
Tool | Description |
---|---|
think | Use the tool to think about something and append the thought to the log |
get_session_id | Get the current session ID |
remember | Store a memory (brief and detail) in the memory database |
recall | Query memories from the database with semantic search |
forget | Clear all memories in the memory database |
Tool | Description |
---|---|
convert_file_to_markdown | Convert any file to Markdown using MarkItDown |
convert_url_to_markdown | Convert a URL to Markdown using MarkItDown |
Tool | Description |
---|---|
get_html | Get HTML content from a URL |
save_html | Save HTML from a URL to a file |
search_with_tavily | Search the web using Tavily (requires API key) |
search_with_duckduckgo | Search the web using DuckDuckGo (requires API key) |
Tool | Description |
---|---|
flux_generate_image | Generate an image using the Flux API and save it to a file |
# Run with stdio transport (default) mcp-toolbox stdio # Run with SSE transport mcp-toolbox sse --host localhost --port 9871
Fork the repository and clone it to your local machine.
# 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
To add a new API integration:
config.py
with any required API keysmcp_toolbox/
See the development guide for more detailed instructions.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)This project is licensed under the terms of the license included in the repository.