板载MCP服务器
MCP(模型上下文协议)服务器,使Warp等人工智能助手能够与机载平台进行交互。它提供:
- API发现 --自动获取和搜索OpenAPI规范以查找可用操作
- API执行 -使用自动身份验证执行任何已登录的API操作
- 实体内存 --在本地持久化创建的实体ID,以便代理以后可以引用它们
- 源代码访问 --可选择从本地Onboard存储库读取文件
凭据安全地存储在macOS Keychain中,并与共享 登录cli --令牌永远不会出现在MCP工具调用或响应中。
设置
先决条件
- Node.js 18+
- 版本控制系统
- 登录cli —
快速设置(推荐)
这 onboarded CLI自动处理一切:
onboarded mcp setup此交互式命令将:
- 将此存储库克隆到
~/.onboarded-mcp - 跑
npm install和npm run build - 将服务器添加到MCP客户端配置中
- 可选择配置板载回购路径
repo_read工具
安装完成后:
- 重新启动MCP客户端(Warp、Claude Desktop等)以加载服务器
- 身份验证: `onboarded auth login
`
手动设置
如果您更喜欢手动设置:
# Clone and build into your home directory
git clone https://github.com/OnboardedInc/onboarded-mcp.git ~/.onboarded-mcp
cd ~/.onboarded-mcp
npm install
npm run build然后将服务器添加到MCP客户端配置中。
扭曲 (~/.warp/mcp.json):
{
"mcpServers": {
"onboarded": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/.onboarded-mcp/dist/index.js"]
}
}
}克劳德桌面 (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"onboarded": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/.onboarded-mcp/dist/index.js"]
}
}
}重要提示: 使用完整的绝对路径(例如。/Users/yourname/.onboarded-mcp/...).不要使用~--Node.js不会在参数中展开波浪号。
可选择创建 ~/.config/onboarded-mcp/config.json 为了 repo_read 工具:
{
"onboardedRepoPath": "/Users/YOUR_USERNAME/path/to/onboarded"
}可用工具
发现工具
| 工具 | 说明 |
|---|---|
spec_sync | 从板载API获取并缓存OpenAPI规范 |
ops_search | 按关键字搜索API操作 |
ops_describe | 获取操作的详细参数和架构信息 |
执行工具
| 工具 | 说明 |
|---|---|
api_call | 通过operationId执行任何API操作 |
auth_status | 检查配置文件是否存在凭据 |
状态工具
| 工具 | 说明 |
|---|---|
state_put | 存储实体引用(ID、名称、类型) |
state_query | 使用筛选器查询存储的实体 |
state_get | 通过内部或外部ID获取存储实体 |
state_delete | 从本地存储中删除实体 |
存储库工具(可选)
需要 onboardedRepoPath 待配置。
| 工具 | 说明 |
|---|---|
repo_read | 从本地Onboard存储库读取文件 |
repo_list | 列出目录中的文件 |
工具参考
spec_sync
获取并缓存OpenAPI规范。
api(必填):"v1"或"internal"env:"prod"或"staging"(默认值:"prod")source:"url"或"cache"(默认值:"url")
ops_search
按关键字搜索API操作。
api(必填):"v1"或"internal"query(必填):搜索词(匹配操作ID、摘要、标签、路径)topK:最大结果(默认值:10)
ops_describer
获取操作的详细架构。
api(必填):"v1"或"internal"operationId(必填):描述操作
api_call
执行API操作。
api(必填):"v1"或"internal"operationId(必填):调用操作params:路径和查询参数作为对象body:请求POST/PUT/PATCH的正文profile:身份验证配置文件名称(默认值:"default")dryRun:如果true,返回请求而不执行
auth_status
检查身份验证状态。
profile:配置文件名称(默认值:"default")
state_put
存储实体引用。
entityType(必填):例如。,"employee","company"api(必填):"v1"或"internal"externalId:来自已登录API的IDname:人类可读名称data:附加JSON数据env:"prod"或"staging"(默认值:"prod")
state_query
查询存储的实体。
entityType:按类型筛选api:按API筛选env:按环境筛选nameContains:按名称子字符串筛选limit:最大结果(默认值:100)offset:分页偏移
state_get
获取一个已存储的实体。
id:内部UUID,或externalId+api+env:按登录API ID查找
state_delete
删除已存储的实体。
id(必需):内部UUID
report_read
从配置的存储库中读取文件。
path(必填):相对路径(例如。,"src/models/employee.py")startLine:起始行号(1-索引)endLine:结束行号(1-索引)
报告列表
列出目录中的文件。
path:相对路径(默认:根)recursive:递归列表(默认值:false)maxDepth:递归的最大深度(默认值:3)
数据存储
所有数据都存储在本地,并在首次运行时自动创建:
| 路径 | 目的 |
|---|---|
~/.config/onboarded-mcp/config.json | 用户配置 |
~/.cache/onboarded-mcp/ | 缓存的OpenAPI规范 |
~/.local/share/onboarded-mcp/state.db | 用于实体内存的SQLite数据库 |
查看存储的实体
# Query all entities
sqlite3 ~/.local/share/onboarded-mcp/state.db "SELECT * FROM entities;"
# Interactive mode
sqlite3 ~/.local/share/onboarded-mcp/state.db安全
- 令牌存储在macOS Keychain中,从不存储在文件中
- 令牌从不出现在MCP工具参数或响应中
- 授权标头在模拟运行输出中进行了编辑
- 与共享凭据
onboarded-cli--一次验证,随处使用
发展
npm run build # Compile TypeScript
npm run dev # Watch mode
npm run typecheck # Type checking only