@快乐垂直/smrt文档mcp
SMRT框架的文档MCP服务器,充当编排器,使用CLAUDE.md文件将开发人员查询路由到适当的包专家。
概述
SMRT文档MCP服务器实现了RAG(检索增强生成)模式,其中每个SMRT包的CLAUDE.md文件都作为领域专业知识。当你提问时,服务器:
- 根据关键字匹配将查询路由到相关包
- 加载这些软件包的CLAUDE.md文档
- 使用AI根据专家文档合成响应
- 返回包含包引用的答案
安装
pnpm install @happyvertical/smrt-mcp用法
作为MCP服务器
添加到您的 .mcp.json (见下面的配置部分):
{
"mcpServers": {
"smrt-advisor": {
"type": "stdio",
"command": "pnpm",
"args": [
"exec",
"tsx",
"/path/to/smrt/packages/smrt-mcp/src/index.ts"
],
"env": {
"DEBUG": "false"
},
"cwd": "/path/to/smrt"
}
}
}环境变量
这 ask 该工具需要配置AI提供者。设置以下选项之一:
HAVE_AI_API_KEY-任何提供程序的回退API密钥HAVE_AI_TYPE-提供者类型(“penai”、“anthropic”、“gemini”)OPENAI_API_KEY-OpenAI API密钥ANTHROPIC_API_KEY-无烟煤API键GEMINI_API_KEY-Google Gemini API密钥
其他工具(list-packages, get-docs)无需人工智能配置即可工作。
可用工具
问
询问有关SMRT框架的问题。自动路由到相关包并合成响应。
输入:
{
"query": "How do I create a collection with custom actions?",
"packages": ["core", "products"] // Optional: specify packages explicitly
}例子:
Query: "How do I create a collection with custom actions?"
Response:
To create a collection with custom actions in the SMRT framework, you extend SmrtCollection and use the @smrt() decorator to configure which actions are exposed...
---
*Consulted packages: @happyvertical/smrt-core, @happyvertical/smrt-products*列出软件包
列出所有可用的SMRT框架包,包括描述和关键字。
输入:
{
// No parameters required
}输出示例:
# SMRT Framework Packages (13 total)
### @happyvertical/smrt-core
Core framework with ORM, code generation, and AI integration
**Keywords**: smrt, framework, orm, database, collection, object...
---
### @happyvertical/smrt-agents
Agent framework for autonomous actors
**Keywords**: agent, autonomous, actor, workflow...获取文档
获取特定软件包的完整CLAUDE.md文档。
输入:
{
"packageName": "core"
}例子:
# @happyvertical/smrt-core
## Purpose and Responsibilities
The `@happyvertical/smrt-core` package is the core framework...运作原理
包注册表
注册表扫描 packages/*/CLAUDE.md 启动时创建文件,并使用以下内容构建可用软件包的目录:
- 包名
- 描述(摘自CLAUDE.md)
- 路由关键字
- 完整的文档内容
查询路由
当你提问时,路由器:
- 从查询中提取关键字
- 与包关键字列表匹配
- 按相关性对套餐进行评分
- 返回热门匹配项
AI合成
这 ask 工具:
- 为相关软件包加载CLAUDE.md(前3个匹配项)
- 从文档构建上下文
- 使用AI(通过
@happyvertical/ai)生成响应 - 在回复中包括包参考
包装关键字
每个包裹都有相关的路由关键字。示例:
- 核心:smrt、框架、orm、数据库、集合、对象、装饰器、模式、api、rest、cli、mcp
- 代理:代理、自治、参与者、工作流、编排、任务
- 内容:内容、文章、降价、内容管理系统、文档、博客、出版
- 事件:活动、日历、会议、日程、出席、rsvp
- gnode 的:联邦、网络、知识库、分布式、对等
看 src/registry.ts 以获得完整的映射。
发展
# Build the package
pnpm run build
# Run tests
pnpm test
# Watch mode
pnpm run dev配置
克劳德桌面
增添 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"smrt-advisor": {
"command": "pnpm",
"args": [
"exec",
"tsx",
"/Users/you/path/to/smrt/packages/smrt-mcp/src/index.ts"
],
"env": {
"ANTHROPIC_API_KEY": "your-key-here"
}
}
}
}克劳德代码
添加到项目根目录 .mcp.json:
{
"mcpServers": {
"smrt-advisor": {
"type": "stdio",
"command": "pnpm",
"args": [
"exec",
"tsx",
"/Users/you/path/to/smrt/packages/smrt-mcp/src/index.ts"
],
"env": {
"DEBUG": "false",
"ANTHROPIC_API_KEY": "your-key-here"
},
"cwd": "/Users/you/path/to/smrt"
}
}
}添加新包
当您向SMRT框架添加新包时:
- 创建
CLAUDE.md记录包的文件 - 更新
src/registry.ts为新包添加关键字 - 重建:
pnpm run build
该包将被自动发现并包含在注册表中。
建筑
Developer Query → MCP Server (Orchestrator)
↓
┌─────────────────┼─────────────────┐
↓ ↓ ↓
Package Expert Package Expert Package Expert
(@happyvertical/smrt-core) (@happyvertical/smrt-agents) (@happyvertical/smrt-content)
CLAUDE.md CLAUDE.md CLAUDE.md
↓ ↓ ↓
└─────────────────┴─────────────────┘
↓
Synthesized Response故障排除
“AI客户端初始化失败”
这 ask 该工具需要人工智能提供商。设置上面列出的环境变量之一。
“未找到相关包”
尝试使用 list-packages 查看可用包,或使用 packages 参数。
“找不到包”
使用 list-packages 查看确切的包名称。包名称不应包含 @happyvertical/smrt- 前缀(使用“core”而不是“smrt core”)。
许可证
麻省理工学院
相关
- 死亡
- 模型上下文协议
- SDK MCP服务器 -SDK的类似实现
