Toolbox
About
Integrates with external APIs and services to provide command execution, Figma file interaction, and file operations, enhancing LLM capabilities for UI/UX design, file management, and service interactions.
Details
- Repository
- ai-zerolab/mcp-toolbox
- License
- Apache-2.0
Explore
> \*nix is our main target, but Windows should work too.
- Command Line Execution: Execute any command line instruction through LLM
- Figma Integration: Access Figma files, components, styles, and more
- Extensible Architecture: Easily add new API integrations
- MCP Protocol Support: Compatible with Claude Desktop and other MCP-enabled LLMs
- Comprehensive Testing: Well-tested codebase with high test coverage
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
ToolboxCommand (node, npx, python, etc.)uvxArguments-
Argument 1
--prerelease=allow -
Argument 2
mcp-toolbox@latest -
Argument 3
stdio
Environment-
BFL_API_KEY
your-bfl-api-key -
FIGMA_API_KEY
your-figma-api-key -
TAVILY_API_KEY
your-tavily-api-key -
DUCKDUCKGO_API_KEY
your-duckduckgo-api-key
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
curl -LsSf https://astral.sh/uv/install.sh | sh # For macOS/Linux
To install Toolbox for LLM Enhancement for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ai-zerolab/mcp-toolbox --client claude
The following environment variables can be configured:
- FIGMA_API_KEY: API key for Figma integration
- TAVILY_API_KEY: API key for Tavily integration
- DUCKDUCKGO_API_KEY: API key for DuckDuckGo integration
- BFL_API_KEY: API key for Flux image generation API
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
Fork the repository and clone it to your local machine.
bash
make install
source .venv/bin/activate # For macOS/Linux
make test
make check
execute_command
Execute a command line instruction.
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.
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.
xiaoyuzhoufm_download
Download a podcast episode from XiaoyuZhouFM with optional automatic m4a to mp3 conversion.
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.
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.
convert_file_to_markdown
Convert any file to Markdown using MarkItDown.
convert_url_to_markdown
Convert a URL to Markdown using MarkItDown.
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).
flux_generate_image
Generate an image using the Flux API and save it to a file.
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.
- GitHub repository: <https://github.com/ai-zerolab/mcp-toolbox/>
- (WIP)Documentation: <https://ai-zerolab.github.io/mcp-toolbox/>
| 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 |
To add a new API integration:
1. Update config.py with any required API keys
1. Create a new module in mcp_toolbox/
1. Implement your API client and tools
1. Add tests for your new functionality
1. Update the README.md with new environment variables and tools
See the development guide for more detailed instructions.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"toolbox": {
"env": {
"BFL_API_KEY": "your-bfl-api-key",
"FIGMA_API_KEY": "your-figma-api-key",
"TAVILY_API_KEY": "your-tavily-api-key",
"DUCKDUCKGO_API_KEY": "your-duckduckgo-api-key"
},
"args": [
"--prerelease=allow",
"mcp-toolbox@latest",
"stdio"
],
"command": "uvx"
}
}
}
Linux
{
"env": {
"BFL_API_KEY": "your-bfl-api-key",
"FIGMA_API_KEY": "your-figma-api-key",
"TAVILY_API_KEY": "your-tavily-api-key",
"DUCKDUCKGO_API_KEY": "your-duckduckgo-api-key"
},
"args": [
"--prerelease=allow",
"mcp-toolbox@latest",
"stdio"
],
"command": "uvx"
}
Macos
{
"env": {
"BFL_API_KEY": "your-bfl-api-key",
"FIGMA_API_KEY": "your-figma-api-key",
"TAVILY_API_KEY": "your-tavily-api-key",
"DUCKDUCKGO_API_KEY": "your-duckduckgo-api-key"
},
"args": [
"--prerelease=allow",
"mcp-toolbox@latest",
"stdio"
],
"command": "uvx"
}
Windows
{
"env": {
"BFL_API_KEY": "your-bfl-api-key",
"FIGMA_API_KEY": "your-figma-api-key",
"TAVILY_API_KEY": "your-tavily-api-key",
"DUCKDUCKGO_API_KEY": "your-duckduckgo-api-key"
},
"args": [
"--prerelease=allow",
"mcp-toolbox@latest",
"stdio"
],
"command": "uvx"
}
mcp-toolbox
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.
- GitHub repository: <https://github.com/ai-zerolab/mcp-toolbox/>
- (WIP)Documentation: <https://ai-zerolab.github.io/mcp-toolbox/>
Features
> \*nix is our main target, but Windows should work too.
- Command Line Execution: Execute any command line instruction through LLM
- Figma Integration: Access Figma files, components, styles, and more
- Extensible Architecture: Easily add new API integrations
- MCP Protocol Support: Compatible with Claude Desktop and other MCP-enabled LLMs
- Comprehensive Testing: Well-tested codebase with high test coverage
Installation
Using uv (Recommended)
We recommend using uv to manage your environment.
```bash
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



