工具层
工具层 是自动的 MCP(模型上下文协议)服务器构建器.
用简单的英语描述你需要的工具。ToolStorePy在一个命令中从策划的向量索引中找到最佳匹配的实现,克隆存储库,审核它们的安全问题,并生成可运行的MCP服务器。
______________________________________________________________________
📚 文档
官方文件:
https://tool-store-py-docs.vercel.app/
完整的架构细节、示例和高级用法都可以在那里找到。
______________________________________________________________________
📦 从PyPI安装
pip install toolstorepyPyPI项目页面:
https://pypi.org/project/toolstorepy/
______________________________________________________________________
✨ 它的作用
给定a queries.json 文件:
[
{ "tool_description": "evaluate a mathematical arithmetic expression securely" },
{ "tool_description": "convert between different units of measurement" },
{ "tool_description": "calculate cryptographic hash of a file" }
]运行:
toolstorepy build --queries queries.json --index core-toolsToolStorePy将:
- 下载精选工具库的矢量索引
- 执行语义检索+重新排序
- 使用裸存储库缓存克隆匹配的存储库
- 运行静态AST安全扫描
- 合并
.env.example文件(如果存在) - 验证所需的机密
- 提取
@tool通过AST功能 - 生成统一的MCP服务器
- (可选)立即启动服务器
输出:
toolstorepy_workspace/
├── mcp_unified_server.py
├── security_report.txt
├── .env.example
└── .venv/______________________________________________________________________
🚀 快速开始
例子:
toolstorepy build \
--queries queries.json \
--index core-tools或者使用远程索引:
toolstorepy build \
--queries queries.json \
--index-url https://your-index-url.zip______________________________________________________________________
⚙️ CLI 参考
构建
toolstorepy build --queries
[options]| 标志 | 描述 |
|---|---|
| --queries | queries.json的路径 |
| --index | 内置索引名称 |
| --索引url | 远程索引存档 |
| --工作区 | 工作区目录 |
| --安装要求 | 安装仓库要求 |
| --强制刷新 | 重新下载缓存索引 |
| --verbose | 启用详细日志记录 |
______________________________________________________________________
缓存
填充仓库缓存:
toolstorepy cache populate --queries queries.json列出缓存的存储库:
toolstorepy cache list清除缓存:
toolstorepy cache clear______________________________________________________________________
🔐 安全扫描
每个存储库在包含之前都会使用静态AST分析进行扫描。
| 严重性 | 检查 |
|---|---|
| HIGH | 子进程执行、exec/eval、不安全的反序列化、网络调用 |
| MEDIUM | 文件系统访问、环境变量、反射 |
| LOW | 已弃用的模块、加密原语 |
安全报告:
workspace/security_report.txt标记为HIGH的存储库在包含之前需要手动批准。
______________________________________________________________________
🔑 秘密管理
如果工具包括 .env.example:
ToolStorePy自动执行以下操作:
•合并模板 •解决冲突 •验证 .env 完整性 •在生成的服务器内记录所需变量
输出:
workspace/.env.example______________________________________________________________________
🏗️ 管道概述
queries.json
│
▼
vector index retrieval
│
▼
semantic search
│
▼
cross-encoder reranking
│
▼
repository cloning
│
▼
AST security scanning
│
▼
.env merge + validation
│
▼
tool extraction
│
▼
MCP server synthesis______________________________________________________________________
⚡ 存储库缓存
存储库在本地缓存:
~/.repo_cache跨构建的重用大大减少了运行时间。
______________________________________________________________________
🧪 评估套件
位于:
testing/包括:
eval_RAG_Rerank.py
基准测试跨扰动的检索鲁棒性。
输出:
•CSV指标 •精度增量 •重新排列分数分布
______________________________________________________________________
eval_build.py
对子集的管道性能进行压力测试:
措施:
•建立成功率 •AST有效性 •工具数量 •建立时间统计
______________________________________________________________________
📁 项目结构
toolstorepy/
├── cli.py
├── orchestrator.py
├── config.py
├── index/
├── search/
├── loader/
├── builder/
├── utils/
└── testing/______________________________________________________________________
🧩 扩展ToolStorePy
| 更改 | 位置 |
|---|---|
| 添加内置索引 | index/register.py |
| 更改嵌入模型 | orchestrator.py |
| 添加安全规则 | utils/security_scanner.py |
| 修改MCP输出 | builder/MCP_builder.py |
| 调整装饰器检测 | 生成器/解析器.py |
______________________________________________________________________
🗺️ 路线图
计划:
- toolstore.yaml清单支持
- 公共工具提交门户
- 版本索引出版物
- 模拟运行预览模式
- 构建清单导出
- 异步工具支持
- 硬编码秘密检测
______________________________________________________________________
📜 许可证
MIT许可证 版权所有(c)2025 Sujal Maheshwari
请参阅:
LICENSE______________________________________________________________________
🤝 贡献
欢迎捐款。
按照现有模块结构打开问题或提交拉取请求。
