mcp-toolbox

mcp-toolbox

A comprehensive MCP server enabling LLMs to execute commands, manage files, interact with Figma, search the web, generate images, and more, extending their capabilities beyond text generation.

Category
访问服务器

README

Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini

mcp-toolbox

Release Build status codecov Commit activity License

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.

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.

# 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

Installing via Smithery

To install Toolbox for LLM Enhancement for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @ai-zerolab/mcp-toolbox --client claude

Using pip

pip install "mcp-toolbox[all]"

And you can use mcp-toolbox stdio as commands for running the MCP server.

Configuration

Environment Variables

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

Memory Storage

Memory tools store data in the following locations:

  • macOS: ~/Documents/zerolab/mcp-toolbox/memory (syncs across devices via iCloud)
  • Other platforms: ~/.zerolab/mcp-toolbox/memory

Full Configuration

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

Available Tools

Command Line Tools

Tool Description
execute_command Execute a command line instruction

File Operations Tools

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

Figma Tools

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

XiaoyuZhouFM Tools

Tool Description
xiaoyuzhoufm_download Download a podcast episode from XiaoyuZhouFM with optional automatic m4a to mp3 conversion

Audio Tools

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

Memory Tools

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

Markitdown Tools

Tool Description
convert_file_to_markdown Convert any file to Markdown using MarkItDown
convert_url_to_markdown Convert a URL to Markdown using MarkItDown

Web Tools

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)

Flux Image Generation Tools

Tool Description
flux_generate_image Generate an image using the Flux API and save it to a file

Usage Examples

Running the MCP Server

# Run with stdio transport (default)
mcp-toolbox stdio

# Run with SSE transport
mcp-toolbox sse --host localhost --port 9871

Using with Claude Desktop

  1. Configure Claude Desktop as shown in the Configuration section
  2. Start Claude Desktop
  3. Ask Claude to interact with Figma files:
    • "Can you get information about this Figma file: 12345abcde?"
    • "Show me the components in this Figma file: 12345abcde"
    • "Get the comments from this Figma file: 12345abcde"
  4. Ask Claude to execute command line instructions:
    • "What files are in the current directory?"
    • "What's the current system time?"
    • "Show me the contents of a specific file."
  5. Ask Claude to download podcasts from XiaoyuZhouFM:
    • "Download this podcast episode: https://www.xiaoyuzhoufm.com/episode/67c3d80fb0167b8db9e3ec0f"
    • "Download and convert to MP3 this podcast: https://www.xiaoyuzhoufm.com/episode/67c3d80fb0167b8db9e3ec0f"
  6. Ask Claude to work with audio files:
    • "What's the length of this audio file: audio.m4a?"
    • "Transcribe the audio from 60 to 90 seconds in audio.m4a"
    • "Get the text from 2:30 to 3:00 in the audio file"
  7. Ask Claude to convert files or URLs to Markdown:
    • "Convert this file to Markdown: document.docx"
    • "Convert this webpage to Markdown: https://example.com"
  8. Ask Claude to work with web content:
    • "Get the HTML content from https://example.com"
    • "Save the HTML from https://example.com to a file"
    • "Search the web for 'artificial intelligence news'"
  9. Ask Claude to generate images with Flux:
    • "Generate an image of a beautiful sunset over mountains"
    • "Create an image of a futuristic city and save it to my desktop"
    • "Generate a portrait of a cat in a space suit"
  10. Ask Claude to use memory tools:
    • "Remember this important fact: The capital of France is Paris"
    • "What's my current session ID?"
    • "Recall any information about France"
    • "Think about the implications of climate change"
    • "Forget all stored memories"

Development

Local Setup

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

Running Tests

make test

Running Checks

make check

Building Documentation

make docs

Adding New Tools

To add a new API integration:

  1. Update config.py with any required API keys
  2. Create a new module in mcp_toolbox/
  3. Implement your API client and tools
  4. Add tests for your new functionality
  5. Update the README.md with new environment variables and tools

See the development guide for more detailed instructions.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the terms of the license included in the repository.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选