🦾 MCP摄入
*轻松发现、描述和注册AI代理。*
______________________________________________________________________
mcp-ingest 是一个小巧的SDK+CLI *任何* MCP服务器/代理/工具 MatrixHub准备就绪 人工制品。它允许您:
- 发现 从文件夹、Git仓库或ZIP中提取服务器,甚至整个注册表(收集器)。
- 描述 他们离线→ emit
manifest.json+index.json(SSE标准化)。 - 验证 在沙箱或容器中(握手,
ListTools,一个CallTool). - 发布 到S3/GitHub页面和 注册 到MatrixHub(
/catalog/install).
专为 Python 3.11,包装用于 PyPI,具有严格的绒毛/类型/测试门。
你可以编目 百万 MCP候选人离线安装,按租户/工作区按需安装——这是最快的构建途径 矩阵 互操作代理和工具。
______________________________________________________________________
安装
pip install mcp-ingest对于贡献者:
python3.11 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -e ".[dev,harvester]"______________________________________________________________________
快速入门
身份验证(对于强化的Matrix Hub很重要)
Matrix Hub现在保护管理端点,如 POST /catalog/install.
设置运算符令牌(首选env var):
export MATRIX_HUB_TOKEN="...operator token..."或通过 --token 到 mcp-ingest register/pack.
SDK(作者)
from mcp_ingest import describe, autoinstall
# Generate manifest.json and index.json without running your server
paths = describe(
name="watsonx-mcp",
url="http://127.0.0.1:6288/sse",
tools=["chat"],
resources=[{"uri":"file://server.py","name":"source"}],
description="Watsonx SSE server",
version="0.1.0",
)
print(paths) # {"manifest_path": "./manifest.json", "index_path": "./index.json"}
# Optionally register into MatrixHub (idempotent)
autoinstall(matrixhub_url="http://127.0.0.1:7300")CLI(操作员)
# Detect → describe (offline)
mcp-ingest pack ./examples/watsonx --out dist/
# Register later (POST /catalog/install)
mcp-ingest register \
--matrixhub http://127.0.0.1:7300 \
--manifest dist/manifest.json收获整个回购
收集多服务器存储库(例如,官方MCP服务器集合):
mcp-ingest harvest-repo \
https://github.com/modelcontextprotocol/servers/archive/refs/heads/main.zip \
--out dist/servers输出1 manifest.json 每个检测到的服务器和a 回购级别 index.json 它列出了所有这些。可选地 --publish s3://… 和 --register.
______________________________________________________________________
MatrixHub集成
- 首选路径:
POST /catalog/install随着 内联清单 (什么autoinstall()和mcp-ingest register做)。安装并运行mcp服务器后,可以将其导入mcp网关以供将来使用。 - 幂等 按设计:HTTP 409 被视为成功;可以安全地重新运行。
- SSE标准化:我们自动修复以结尾的URL
/sse除非清单明确要求/messages或不同的运输方式。
延迟安装:你可以 *描述* 数以百万计的候选人离线,然后只在租户需要时安装。
______________________________________________________________________
运输
MCP Ingest在构建清单时支持三种服务器传输:
- 上海证券交易所 (默认):URL标准化为
/sse如果需要的话。 - 工作室:提供
exec块与cmd(例如,节点服务器通过npx). - WS:WebSocket端点按规定保留。
STDIO代码片段示例:
{
"mcp_registration": {
"server": {
"name": "filesystem",
"transport": "STDIO",
"exec": { "cmd": ["npx","-y","@modelcontextprotocol/server-filesystem"] }
}
}
}______________________________________________________________________
项目布局
mcp_ingest/
__init__.py # exports: describe(), autoinstall()
sdk.py # orchestrates describe/register
cli.py # detect/describe/register/pack/harvest-repo
emit/ # manifest/index + optional MatrixHub adapters
register/ # MatrixHub /catalog/install + gateway fallback
utils/ # sse/io/idempotency/jsonschema/ast_parse/fetch/git/temp
detect/ # fastmcp, langchain, llamaindex, autogen, crewai, semantic_kernel, raw
validate/ # mcp_probe + sandbox (proc/container)
services/harvester/
app.py + routers + workers + discovery + store + clients
examples/watsonx/
server.py, manifest.json, index.jsonMkDocs文档位于 docs/ (材料主题)。CI制造皮棉/类型/测试和车轮。
______________________________________________________________________
发展
使用Makefile帮助程序:
make help
make setup # create .venv (Python 3.11)
make install # install package + dev extras
make format # black
make lint # ruff
make typecheck # mypy
make test # pytest
make ci # full gate (ruff+black+mypy+pytest)
make build # sdist/wheel → dist/当地收割机API:
uvicorn services.harvester.app:app --reload
# POST /jobs {"mode":"harvest_repo","source":"","options":{}}______________________________________________________________________
CI与质量
- 拉夫 (棉绒), 黑色 (格式), 米皮 (类型), Pytest (覆盖范围)
- GitHub操作工作流
.github/workflows/ci.yml - 包被构建并上传为CI工件;支持通过Twine发布PyPI。
______________________________________________________________________
安全与安保
- Idempotent HTTP和指数回退重试(409→成功)。
- 带有超时和内存上限的沙盒(进程和容器)。
- 没有秘密存放;仅通过环境注入。
- 日志是结构化的;收割机路径中的每个作业跟踪ID。
______________________________________________________________________
路线图
- 更多的检测器(框架覆盖率),更强的模式推理。
- 更丰富的验证(多个工具调用、黄金测试),默认SBOM/来源。
- 由收集器提供的全球公共索引分片(CDN)。
______________________________________________________________________
许可证
mcp-ingest 根据Apache许可证2.0获得许可。请参阅 LICENSE 文件以获取更多详细信息。
______________________________________________________________________
致谢
该项目是 Agent‑Matrix 生态系统,并受到模型上下文协议社区工作的启发。
