使用说明
后台mcp
将您的Backstage开发人员门户带到人工智能——两种方式:
- 🤖 后台助手插件 --一个门户内AI聊天小部件(前端+后端Backstage插件),具有多提供商LLM支持、UI模型选择器和完整的目录/脚手架/TechDocs工具集。
- 🔌 独立MCP服务器 --一个约550 KB的文件,将相同的Backstage工具暴露给外部MCP客户端(Claude、Cursor、VS Code、Windsurf),而无需更改您的Backstage实例。
🤖 后台助手插件
直接嵌入到Backstage UI中的AI助手。
| 包 | 角色 | |
|---|---|---|
@oopsmyops/backstage-plugin-assistant |
前端 | 浮动聊天小部件+模型选择器 |
@oopsmyops/backstage-plugin-assistant-backend |
后端 | LLM编排+后台工具 |
亮点
- 本土的 亚马逊基石 和 Azure AI Foundry,加上任何 OpenAI兼容 API(无代理),具有有序的回退链-全部通过 Vercel AI SDK.
- 从UI中选择模型;每个浏览器都会记住该选择。
- 流式响应、结构化结果卡、内部实体链接和引导式脚手架运行时,会显示一个用于VCS令牌的OAuth弹出窗口。
安装插件
发布到 npmjs.org 作为公共包--没有令牌或注册表配置 需要安装。
yarn --cwd packages/app add @oopsmyops/backstage-plugin-assistant
yarn --cwd packages/backend add @oopsmyops/backstage-plugin-assistant-backend
// packages/backend/src/index.ts
backend.add(import('@oopsmyops/backstage-plugin-assistant-backend'));
// packages/app/src/App.tsx — new frontend system
import assistantPlugin from '@oopsmyops/backstage-plugin-assistant';
// add `assistantPlugin` to createApp({ features: [...] })
配置模型
assistant:
llm:
fallback: [groq-llama] # tried, in order, if the selected model fails
models:
- id: claude-bedrock
label: Claude Sonnet (Bedrock)
provider: bedrock
model: anthropic.claude-sonnet-4-6
region: us-east-1
apiKey: ${AWS_BEARER_TOKEN_BEDROCK} # optional; omit to use the AWS credential chain
default: true
- id: gpt-azure
label: GPT-5.1 (Azure AI Foundry)
provider: azure
model: gpt-5.1 # Azure deployment name
resourceName: my-foundry-resource
apiKey: ${AZURE_OPENAI_API_KEY}
- id: groq-llama
label: Llama 3.3 70B (Groq)
provider: openai-compatible
model: llama-3.3-70b-versatile
baseUrl: https://api.groq.com/openai/v1
apiKey: ${GROQ_API_KEY}
📖 完整文档: 前端插件README · 后端插件README
🔌 独立MCP服务器
一个单文件MCP服务器,提供11个后台工具(目录搜索、实体 详细信息、API规范、脚手架工模板+任务、TechDocs)提供给任何MCP客户。 无需安装Backstage——它通过Backstage的REST API连接。
# Download the latest binary and run it
curl -LO https://github.com/oopsmyops/backstage-mcp/releases/latest/download/backstage-mcp.mjs
BACKSTAGE_BASE_URL=https://your-backstage.example.com \
BACKSTAGE_TOKEN=your-token \
node backstage-mcp.mjs
改为从源代码构建: npm install && npm run build → dist/backstage-mcp.mjs.
需要代币吗?使用静态服务帐户令牌(推荐)或来宾令牌。
连接MCP客户端 (克劳德桌面、光标、VS代码、Windsurf):
{
"mcpServers": {
"backstage-mcp": {
"command": "node",
"args": ["/absolute/path/to/backstage-mcp.mjs"],
"env": {
"BACKSTAGE_BASE_URL": "https://your-backstage.example.com",
"BACKSTAGE_TOKEN": "your-token"
}
}
}
}
对于远程/共享使用,请使用 MCP_TRANSPORT=http 并将客户指向
http://localhost:3000/mcp (健康: /health).
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
BACKSTAGE_BASE_URL |
yes | -- | Backstage实例的基本URL |
BACKSTAGE_TOKEN |
yes | -- | 用于身份验证的承载令牌 |
MCP_TRANSPORT |
没有 | stdio |
stdio 或 http |
PORT |
没有 | 3000 |
HTTP端口(当 MCP_TRANSPORT=http) |
HOST |
没有 | 127.0.0.1 |
HTTP主机(当 MCP_TRANSPORT=http) |
CACHE_TTL_SECONDS |
没有 | 60 |
实体缓存TTL(秒)(0=禁用) |
REQUEST_TIMEOUT_MS |
没有 | 10000 |
后台API请求超时 |
贡献
看 贡献.md.