mcp工具箱
一个全面的工具包,用于通过模型上下文协议 (MCP) 增强 LLM 功能。该软件包提供了一系列工具,允许 LLM 与外部服务和 API 交互,从而将其功能扩展到文本生成之外。
GitHub 仓库: https://github.com/ai-zerolab/mcp-toolbox/
(正在开发中)文档: 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来管理您的环境。
然后,您可以使用uvx "mcp-toolbox@latest" stdio作为命令来运行最新版本的 MCP 服务器。**音频和内存工具不包含在默认安装中。**您可以通过安装all extra 来包含它们:
[audio] 用于音频工具,[memory] 用于内存工具,[all] 用于所有工具
通过 Smithery 安装
要通过Smithery自动安装 Claude Desktop 的 LLM 增强工具箱:
使用 pip
您可以使用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
完整配置
要将 mcp-toolbox 与 Claude Desktop/Cline/Cursor/... 一起使用,请将以下内容添加到您的配置文件中:
完整功能:
您可以使用以下方式生成调试配置模板:
可用工具
命令行工具
工具 | 描述 |
| 执行命令行指令 |
文件操作工具
工具 | 描述 |
| 从文件读取内容 |
| 将内容写入文件 |
| 使用正则表达式替换文件中的内容 |
| 列出目录内容及其详细信息 |
Figma 工具
工具 | 描述 |
| 通过键获取 Figma 文件 |
| 从 Figma 文件中获取特定节点 |
| 获取 Figma 文件中节点的图像 |
| 获取 Figma 文件中使用的图像的 URL |
| 获取 Figma 文件的评论 |
| 在 Figma 文件上发表评论 |
| 从 Figma 文件中删除评论 |
| 为团队获取项目 |
| 获取项目文件 |
| 获取团队的组件 |
| 从文件中获取组件 |
| 通过 key 获取组件 |
| 获取团队的组件集 |
| 获取团队的风格 |
| 从文件获取样式 |
| 按键获取样式 |
XiaoyuZhouFM工具
工具 | 描述 |
| 从 XiaoyuZhouFM 下载播客节目,可选择自动将 m4a 转换为 mp3 |
音频工具
工具 | 描述 |
| 获取音频文件的长度(以秒为单位) |
| 获取音频文件中特定时间范围内的转录文本 |
记忆工具
工具 | 描述 |
| 使用该工具思考某事并将想法附加到日志中 |
| 获取当前会话 ID |
| 将一段记忆(简短且详细)存储在记忆数据库中 |
| 使用语义搜索从数据库中查询记忆 |
| 清除记忆数据库中的所有记忆 |
Markitdown 工具
工具 | 描述 |
| 使用 MarkItDown 将任何文件转换为 Markdown |
| 使用 MarkItDown 将 URL 转换为 Markdown |
Web 工具
工具 | 描述 |
| 从 URL 获取 HTML 内容 |
| 将 HTML 从 URL 保存到文件 |
| 使用 Tavily 搜索网页(需要 API 密钥) |
| 使用 DuckDuckGo 搜索网页(需要 API 密钥) |
Flux 图像生成工具
工具 | 描述 |
| 使用 Flux API 生成图像并将其保存到文件中 |
使用示例
运行 MCP 服务器
与 Claude Desktop 一起使用
按照配置部分所示配置 Claude Desktop
启动 Claude Desktop
要求 Claude 与 Figma 文件进行交互:
“您能获取有关此 Figma 文件的信息:12345abcde吗?”
“向我展示此 Figma 文件中的组件:12345abcde”
“从此 Figma 文件中获取评论:12345abcde”
要求Claude执行命令行指令:
“当前目录中有哪些文件?”
“现在系统时间是多少?”
“显示特定文件的内容。”
要求 Claude 从 XiaoyuZhouFM 下载播客:
要求 Claude 处理音频文件:
“这个音频文件的长度是多少:audio.m4a?”
“将 audio.m4a 中 60 秒到 90 秒的音频转录下来”
“获取音频文件中 2:30 到 3:00 之间的文本”
要求 Claude 将文件或 URL 转换为 Markdown:
“将此文件转换为 Markdown:document.docx”
“将此网页转换为 Markdown 格式: https://example.com ”
要求 Claude 处理网络内容:
“从https://example.com获取 HTML 内容”
“将https://example.com中的 HTML 保存到文件中”
“在网上搜索‘人工智能新闻’”
要求 Claude 使用 Flux 生成图像:
“生成一张美丽的山间日落图像”
“创建一幅未来城市的图像并将其保存到我的桌面”
“生成一只穿着宇航服的猫的肖像”
要求克劳德使用记忆工具:
“记住这个重要事实:法国的首都是巴黎”
“我当前的会话 ID 是什么?”
“回忆一下有关法国的任何信息”
“思考气候变化的影响”
“忘记所有存储的记忆”
发展
本地设置
分叉存储库并将其克隆到本地机器。
运行测试
运行检查
建筑文档
添加新工具
要添加新的 API 集成:
使用任何所需的 API 密钥更新
config.py在
mcp_toolbox/中创建一个新模块实现您的 API 客户端和工具
为新功能添加测试
使用新的环境变量和工具更新 README.md
请参阅开发指南以获取更详细的说明。
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
分叉存储库
创建功能分支(
git checkout -b feature/amazing-feature)提交您的更改(
git commit -m 'Add some amazing feature')推送到分支(
git push origin feature/amazing-feature)打开拉取请求
执照
该项目是根据存储库中包含的许可条款进行授权的。