mcpField
M
MCP Sentinel

MCP Sentinel

本地服务
github.com/oaslananka安全23 周前更新

关于 MCP Sentinel

MCP Sentinel 是 MCP Infrastructure Suite 中的零信任安全代理,面向管理 MCP 流量的团队。它实施策略控制,并提供个人身份信息清理、审批和审计记录。

主要功能

  1. 01执行安全策略
  2. 02清理个人身份信息
  3. 03支持审批工作流
  4. 04保留审计记录

适用场景

  1. 01为 MCP 客户端流量实施控制
  2. 02转发数据前清除个人身份信息
  3. 03审查经过审批和审计的 MCP 活动

MCP 相关

Sentinel 作为 MCP 客户端流量的安全代理,在流量到达其他 MCP 组件前执行策略与审计控制。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"oaslananka-sentinel": {
"command": "npx",
"args": [
"-y",
"@oaslananka/sentinel"
],
"env": {
"SENTINEL_DB_PATH": "<SENTINEL_DB_PATH>",
"SENTINEL_UPSTREAM_URL": "<SENTINEL_UPSTREAM_URL>",
"SENTINEL_UPSTREAM_COMMAND": "<SENTINEL_UPSTREAM_COMMAND>"
}
}
}
}
启动命令npx -y @oaslananka/sentinel
需要配置的环境变量
SENTINEL_DB_PATHSQLite database path used for audit and key storage.
SENTINEL_UPSTREAM_URLHTTP upstream MCP endpoint.
SENTINEL_UPSTREAM_COMMANDstdio upstream MCP launch command.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@oaslananka/sentinel1.0.0

工具

还没有获取到工具列表

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

详细介绍

请我喝杯咖啡

MCP 基础设施套件

Model Context Protocol 生态系统缺失的基础设施层。

CI codecov npm scope License: Apache 2.0 MCP Spec 2025-11-25 Node >= 24 pnpm Smithery Ready

flowchart LR
    Shared["@oaslananka/shared"]
    Forge["@oaslananka/forge"]
    Sentinel["@oaslananka/sentinel"]
    Atlas["@oaslananka/atlas"]
    Composer["@oaslananka/composer"]
    Bridge["@oaslananka/bridge"]
    Observatory["@oaslananka/observatory"]
    Lab["@oaslananka/lab"]

    Shared --> Forge
    Shared --> Sentinel
    Shared --> Atlas
    Shared --> Composer
    Shared --> Bridge
    Shared --> Observatory
    Shared --> Lab

    Clients["IDE / Agent / SDK clients"] --> Sentinel
    Clients --> Composer
    Composer --> Backends["Backend MCP servers"]
    Sentinel --> Backends
    Forge --> Composer
    Forge --> Sentinel
    Atlas --> Clients
    Observatory --> Sentinel
    Observatory --> Forge
    Lab --> Composer

为什么选择 mcp-suite?

大多数 MCP 项目止步于服务边界。mcp-suite 专注于其周边更具挑战性的生产环境层面:传输兼容性、信任边界、编排、发现、可观测性和运维工作流。因此,当你不再满足于单一本地演示,开始在团队、CI 或内部平台中运行 MCP 时,它就能派上用场。

该套件专为受控的 GitHub 托管发布自动化而构建,每个可发布的软件包都已准备好通过公开 npm 在 @oaslananka 作用域下发布。这个单体仓库采用严格的 TypeScript、Turborepo、pnpm 和基于 release-please manifest 的管理方式。

与一次性的 MCP 工具不同,这里的软件包经过设计,可以组合使用:shared 定义协议和运行时基准,sentinel 与 composer 管控流量,forge 编排工作,atlas 编目能力,bridge 生成服务,observatory 完成反馈闭环,而 lab 则为贡献者提供桌面工作台。

软件包

软件包功能文档
@oaslananka/sharedMCP 协议、传输、身份验证、重试、遥测和测试原语Shared 文档
@oaslananka/forge用于编排 MCP 工具和外部步骤的流水线引擎Forge 文档
@oaslananka/sentinel零信任安全代理,提供审计、审批和 PII 控制Sentinel 文档
@oaslananka/atlas用于发现 MCP 服务的注册表 API 和目录界面Atlas 文档
@oaslananka/composer聚合多个后端 MCP 服务的代理Composer 文档
@oaslananka/bridge基于 OpenAPI 和 Schema 优先的 MCP 服务生成Bridge 文档
@oaslananka/observatory指标、追踪、异常检测、告警和仪表板界面Observatory 文档
@oaslananka/lab用于连接和调试 MCP 服务的 Electron 桌面工作台Lab 文档
MCP Lab 截图

MCP Lab 桌面截图

本地 Playground

可复现的演示流程是在本地 Playground 中使用预置的 Atlas 和 Observatory 数据:

pnpm install --frozen-lockfile
pnpm build
pnpm run playground:seed
pnpm run playground:atlas

然后在另一个终端中启动 Observatory:

pnpm run playground:observatory

在 http://localhost:4003 打开 Atlas,在 http://localhost:4006 打开 Observatory,并使用 pnpm --filter @oaslananka/lab dev 启动 Lab。完整步骤请参阅本地 Playground 指南。

快速开始

pnpm install --frozen-lockfile
pnpm build

# Seed and run Atlas
pnpm --filter @oaslananka/atlas exec node dist/cli.js seed --db ./data/atlas.sqlite
pnpm --filter @oaslananka/atlas exec node dist/cli.js serve --db ./data/atlas.sqlite --port 4003

# In another terminal, run Observatory
pnpm --filter @oaslananka/observatory exec node dist/cli.js serve --db ./data/observatory.sqlite --port 4006

服务启动后:

架构

shared 提供协议基线、日志记录器工厂、传输层、遥测助手和测试夹具,供其他所有组件使用。面向 MCP 客户端的流量通常由 sentinel 包装,以实施策略并进行审计,然后通过 composer 汇总,或由 forge 编排。atlas 和 observatory 是以 HTTP 为先的运维界面,而 lab 是面向开发者的桌面入口。

在 1.0 过渡期间,该套件目前默认使用 MCP 协议版本 2025-11-25,同时保留了对 2025-11-05 握手的兼容性辅助工具。

架构决策记录在 ADR 索引中。

开发

make install
pnpm run format:check
make lint
make typecheck
make test
pnpm run security
make test-coverage
make knip
pnpm run release:dry-run

更多设置和工作流指南请参阅 docs/development.md、docs/testing.md、docs/security.md、docs/release.md、docs/api-reference.md 中生成的 API 参考,以及 docs/guide 下的指南文档。

发布策略

  • release-please 清单模式负责版本升级、变更日志、标签和 GitHub 发布。
  • GitHub Actions 从干净的检出状态构建 npm 软件包 tarball、机器可读的发布清单、SBOM、校验和及证明。
  • 生产环境的 npm 发布流程独立运行并受环境保护;在完成校验和、证明、软件包内容及干净安装验证后,使用 npm trusted publishing/OIDC。
  • 部分 npm 发布可续传:跳过相同的不可变版本,按依赖顺序发布缺失版本,遇到完整性冲突时则安全失败。
  • 仅涉及文档、内部内容或 CI 的更改不会发布到 npm,也不会更新注册表元数据。

贡献

欢迎贡献。请先阅读 CONTRIBUTING.md,面向用户的更改请使用 Conventional Commits,并在添加验证步骤时确保与 GitHub Actions 保持一致。 有关问题分类、支持、过期处理、标签和维护者响应目标,请参阅 docs/governance.md。

路线图

  • @oaslananka/gateway:以 HTTP 为先的多租户 MCP 网关
  • @oaslananka/sdk:从 Python 开始的跨语言 SDK 接口
  • 基于 React Flow 构建的 Forge 可视化编辑器
  • Atlas 在多个注册表实例之间的联邦
  • Observatory 导出到 Grafana 和 OTel collector 管道
  • Sentinel 与 OPA 的策略集成

许可证

Apache 2.0 — © 2025-2026 oaslananka

评论

支持 Markdown

第一次接触 MCP?

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

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