mcpField
B
backstage-mcp-server

backstage-mcp-server

本地服务
github.com/Coderrob开发工具31 天前更新

关于 backstage-mcp-server

backstage-mcp-server 将 Backstage Software Catalog 作为类型化 MCP 工具提供给 LLM 客户端,适合将目录发现、验证和维护纳入 MCP 工作流的团队,并包含认证与运行策略。

主要功能

  1. 01提供 32 个 Backstage Catalog 工具
  2. 02发现和验证实体
  3. 03修改目录位置和实体
  4. 04支持轮换 Bearer Token 凭据
  5. 05超时、速率限制和缓存策略
  6. 06结构化模式与安全工具标注

适用场景

  1. 01通过 MCP 客户端查询目录实体及关系
  2. 02验证或刷新目录条目
  3. 03添加或删除目录位置及实体

MCP 相关

该 stdio MCP 服务将 Backstage Catalog 操作作为工具提供给 MCP 客户端,并返回文本和结构化结果。它会验证输入并应用授权、缓存、速率限制和超时策略。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Backstage MCP 服务

一个面向 Backstage 软件目录的类型安全 Model Context Protocol 服务,基于已发布的 @coderrob/mcp-kernel 运行时构建。

它通过 stdio 提供 32 个目录工具,使用 Backstage 官方目录客户端,支持轮换 bearer 凭据,并提供黑盒 SDK 和 MCP Inspector 验证。

从 MCP 客户端经由已发布的 MCP Kernel 依赖和 Backstage 集成到目录 API 的运行时架构。

你将获得

能力实现
目录发现实体查询、引用、祖先关系、分类和源位置
目录操作添加位置、刷新实体、移除实体或位置,以及验证描述符
类型安全Zod schema 推断处理程序输入,并生成兼容 MCP 的 JSON Schema
运行时策略超时、调用方作用域、按主体限流、带标签的缓存和失效处理
安全操作MCP 注解可区分只读、修改、幂等和破坏性工具
生产边界官方 Backstage CatalogClient、经过身份验证的 fetch、已脱敏的 stderr 日志
验证按文件覆盖率、SDK stdio 冒烟测试、逐一执行所有工具,以及 MCP Inspector

快速开始

1. 安装并构建

要求:

  • Node.js 24.15 或更高版本
  • Corepack
  • 可访问的 Backstage 后端和已获认可的外部访问 bearer token
corepack enable
corepack yarn install --immutable
corepack yarn build

Yarn 版本来自 package.json 中的 packageManager 字段;请使用 corepack yarn,以确保本地和 CI 行为一致。

2. 配置 Backstage

设置后端根 URL 或完整的目录插件 URL,并选择一种凭据来源:

export BACKSTAGE_BASE_URL=https://backstage.example.com
export BACKSTAGE_TOKEN=your-token

对于外部轮换的凭据,请改为指向一个 token 文件:

export BACKSTAGE_BASE_URL=https://backstage.example.com
export BACKSTAGE_TOKEN_FILE=/run/secrets/backstage-token

如果两个变量都存在,BACKSTAGE_TOKEN_FILE 优先,并且每次发送请求时都会重新读取该文件。可选的 LOG_LEVEL=debug 可启用诊断日志。日志始终写入 stderr,因为 stdout 用于 MCP 协议通信。

3. 启动 stdio 服务
corepack yarn start

该进程会等待 MCP 客户端通过 stdin/stdout 连接。要针对真实部署进行只读检查,请运行 corepack yarn test:live;请参阅真实 Backstage 部署验证。

连接 MCP 客户端

构建完成后,使用绝对路径配置 stdio 客户端:

{
  "mcpServers": {
    "backstage": {
      "command": "node",
      "args": ["/absolute/path/to/backstage-mcp-server/dist/cli.cjs"],
      "env": {
        "BACKSTAGE_BASE_URL": "https://backstage.example.com",
        "BACKSTAGE_TOKEN": "your-token"
      }
    }
  }
}

全局安装后,将 backstage-mcp-server 用作命令。不要将凭据放入已提交的客户端配置中;请在可用时使用客户端的密钥或环境变量机制。

工具目录

已提交的 tools-manifest.json 根据运行时定义生成,是机器可读的事实来源。

类别工具
实体发现get_entities、get_entities_by_query、get_entities_by_refs、get_entity_by_ref、get_entity_ancestors、get_entity_facets
位置发现get_location_by_entity、get_location_by_ref
验证validate_entity
目录变更add_location、refresh_entity
破坏性变更remove_entity_by_uid、remove_location_by_id

get_entities.filter 遵循 Backstage 的键值模型:同一条记录中的键是 AND 条件,同一键的值是 OR 条件,多条记录是 OR 组。

{
  "filter": {
    "kind": ["Component", "API"],
    "metadata.namespace": "default"
  }
}

这会选取 default 命名空间中的 Component 或 API。Backstage 集成指南记录了每种工具到客户端的映射、游标行为、身份验证、权限和错误转换。

工作原理

  1. MCP 客户端启动打包后的 CLI,并通过 stdio 交换 JSON-RPC。
  2. 已发布的 MCP Kernel 会验证并编译不可变的功能定义。
  3. Zod 会在中间件、授权、缓存、速率限制和超时策略运行之前验证输入。
  4. Backstage 工具会从其应用上下文调用类型化的 Catalog 契约。
  5. 适配器会将 HTTP 行为委托给官方 Backstage CatalogClient,并在 fetch 边界注入 bearer token。
  6. 结果以 MCP 文本和结构化内容的形式返回;预期的失败会使用稳定的错误代码和安全的详细信息。

已发布的 @coderrob/mcp-kernel 包负责协议注册、生命周期、策略、传输、测试支持和符合协议安全要求的日志记录。本仓库仅负责 Backstage 应用和 Catalog 集成。依赖边界请参阅当前架构概述。

MCP Kernel 依赖项

通用服务编写、生命周期、策略、传输、结果、测试支持和日志记录的相关文档位于 @coderrob/mcp-kernel 仓库。此包会重新导出 kernel API 以保持兼容,但新的通用使用方应直接安装并导入 @coderrob/mcp-kernel。

要为 Catalog 添加功能,请遵循添加 Backstage MCP 工具。

验证

验证层级:从静态质量检查到打包后的 MCP Inspector 黑盒验证。

运行常规贡献者检查:

corepack yarn lint
corepack yarn typecheck
corepack yarn architecture:check
corepack yarn knip
corepack yarn test
corepack yarn test:shell

对于 MCP、工具、适配器或打包相关变更,还应运行:

corepack yarn test:mcp
corepack yarn manifest:check

test:mcp 会运行契约测试、构建发行包、通过官方 SDK 客户端在 stdio 上启动 dist/cli.cjs,针对确定性且经过身份验证的 Catalog 存根调用每个已注册工具,并执行独立的 MCP Inspector 检查。它不会通过直接调用处理程序或 HTTP 请求来绕过服务。

请参阅仓库工具,了解每条命令的用途和副作用;有关确切的黑盒边界,请参阅MCP 端到端测试。

文档

从文档中心中选择一个方向:

许可证

GPL-3.0。请参阅 LICENSE。

精选知识和技能

Backstage 知识库维护经过分类的文章、具名来源引用和 schema.org 元数据。.agents/skills 中的仓库技能支持目录查询、实体维护和 MCP 开发。

19 个上下文查询工具涵盖名称、System 和 Domain 内容、Group、所有权、依赖项、API、注释和孤立实体。请参阅查询约定和示例,其中包括分页、歧义处理和工作量限制。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。