MCP服务器构建工具

ToolStorePy是一个自动化的MCP服务器构建工具,能够从向量索引中匹配最佳实现,克隆仓库,进行安全审计,并生成可运行的MCP服务器。

  • by sujal-maheshwari2004
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sujal-maheshwari2004/ToolStore

使用说明

工具层

工具层 是自动的 MCP(模型上下文协议)服务器构建器.

用简单的英语描述你需要的工具。ToolStorePy在一个命令中从策划的向量索引中找到最佳匹配的实现,克隆存储库,审核它们的安全问题,并生成可运行的MCP服务器。


📚 文档

官方文件:

https://tool-store-py-docs.vercel.app/

完整的架构细节、示例和高级用法都可以在那里找到。


📦 从PyPI安装

pip install toolstorepy

PyPI项目页面:

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-tools

ToolStorePy将:

  1. 下载精选工具库的矢量索引
  2. 执行语义检索+重新排序
  3. 使用裸存储库缓存克隆匹配的存储库
  4. 运行静态AST安全扫描
  5. 合并 .env.example 文件(如果存在)
  6. 验证所需的机密
  7. 提取 @tool 通过AST功能
  8. 生成统一的MCP服务器
  9. (可选)立即启动服务器

输出:

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 <path> [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

🤝 贡献

欢迎捐款。

按照现有模块结构打开问题或提交拉取请求。