阿森纳MCP服务器
状态开发中的v0.1.0最小可行性产品(MVP)
Arsenal MCP服务器通过模型上下文协议(MCP)公开Arsenal内容(记忆、规则、提示、工作流、脚本),并支持混合搜索、确定性组合和热加载索引。
快速入门
安装
npm install发展
npm run dev构建
npm run build
npm start测试
npm test # Run all tests
npm run test:watch # Watch mode
npm run test:coverage # Generate coverage report功能(v0.1 最小可行性产品)
- ✅ 5个MCP工具:
search,get,compose,pack,index.rebuild - ✅ Stdio 传输通过标准输入输出进行的JSON-RPC 2.0(在v0.2版本中为WebSocket)
- ✅ 混合搜索BM25(FTS5)+ 嵌入架构(v0.1版本仅支持关键词)
- ✅ 确定性组合基于DAG的合并,包含变量替换
- ✅ 热加载索引带有增量更新的文件监视器
- ✅ 翻译为中文是:✅(此符号本身无特定含义,通常用作确认或正确标记) 结构化日志记录带有安全变量遮蔽的JSON日志
传奇✅ 已完成 | 🚧 进行中 | ⏳ 计划中
🎉 版本0.1 最小可行性产品(MVP)状态:功能完整!
阿森纳MCP服务器现已全面启用,所有核心功能均已实现!
建筑学
src/
├── config/ # Configuration loading & validation
├── index/ # SQLite FTS5 + vector index
├── search/ # Search engine (BM25 + embeddings)
├── compose/ # Composition engine & DAG resolver
├── handlers/ # MCP tool handlers
├── transport/ # JSON-RPC transport (stdio, ws)
├── models/ # TypeScript types & interfaces
├── utils/ # Helpers (logger, errors, etc.)
└── main.ts # Entry point配置
创建 ~/.arsenal/config.json:
{
"arsenalsDir": "~/arsenals",
"autoUpdate": true,
"bind": {
"stdio": true,
"ws": { "enabled": false, "port": 4972 }
},
"embeddings": {
"provider": "none",
"model": "gte-small"
},
"index": {
"watch": true,
"ignore": ["**/.git/**", "**/node_modules/**"]
}
}环境变量
ARSENAL_DIR- 弹药库的根路径ARSENAL_WS_PORT- WebSocket 端口(默认:4972)ARSENAL_EMBED_MODEL- 嵌入模型IDARSENAL_INDEX_WATCH- 启用文件监视(true|false)
MCP 工具
arsenal.search
使用混合排序跨项目进行搜索。
{
"q": "release notes style",
"type": ["prompt", "rule"],
"limit": 5
}arsenal.get
通过ID获取单个项目。
{ "id": "prm.tight-changelog" }arsenal.compose
合并具有依赖关系和变量替换的项目。
{
"ids": ["rule.dev-style", "prm.tight-changelog"],
"vars": { "repo": "payments", "ticket": "PLT-123" },
"maxTokens": 1500
}arsenal.pack
渲染一个命名的包文件。
{
"name": "onboarding",
"vars": { "project": "payments" }
}arsenal.index.rebuild
触发增量或完整重新索引。
{ "full": false }发展
🎉 开发状态:已完成!
所有阶段已完成:
- \[x\] 第一阶段:项目设置与基础设施 ✅
- \[x\] 第二阶段:核心数据模型与配置层 ✅
- \[x\] 第三阶段:文件系统与索引管理 ✅
- \[x\] 第四阶段:搜索引擎(混合BM25 + 嵌入式向量)✅
- \[x\] 第五阶段:MCP传输层(通过stdio的JSON-RPC)✅
- \[x\] 第六阶段:工具处理器实现 ✅
- \[x\] 第7阶段:组合引擎 & 变量替换 ✅
- \[x\] 第八阶段:打包系统 ✅
- \[x\] 第9阶段:测试套件与验证 ✅
- \[x\] 第10阶段:可观测性与错误处理 ✅
- \[x\] 第11阶段:文档编写与部署 ✅
🚀 v0.1 最小可行性产品(MVP)已准备好投入生产!
文档
许可证
麻省理工学院(MIT)
