MCP网关工具

MCPrism是一个开源的MCP网关,通过渐进式工具披露减少上下文窗口使用,适用于需要高效管理MCP工具的场景。

  • by jbabin91
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 jbabin91/mcprism

使用说明

MCPrism🌈

MCP服务器的渐进式工具披露

[!警告] 进行中 -MCPrism尚处于早期发展阶段。API和下面描述的功能已计划好,但尚未完全实现。检查 项目状态 当前进度部分。

MCPrism是一个开源的MCP网关,通过渐进的工具披露来帮助减少上下文窗口的使用。

什么是渐进式工具披露?

就像棱镜将光折射成逐渐显示的光谱一样,MCPrism将您的MCP工具堆栈折射成仅在需要时显示的层:

  • 加载轻量级元数据 预先而不是完整的模式
  • 语义搜索 您需要的工具
  • 获取完整的架构 仅在需要时
  • 减少上下文使用 按需加载工具

问题

传统的MCP客户端预先加载所有工具模式,在您开始对话之前消耗了上下文窗口的很大一部分。启用了许多MCP服务器后,这可能意味着仅用于工具定义的数万个令牌。

解决方案

MCPrism充当您的AI客户端和MCP服务器之间的网关,实现渐进式披露:

Traditional:  Load all tool schemas → High context usage
MCPrism:      Load metadata → Search → Fetch schemas as needed
Result:       Significantly reduced context usage

特性

  • 🌈 渐进呈现 -按需加载工具,而不是预先加载
  • 🔍 语义搜索 -查找具有自然语言查询的工具
  • 🔐 RBAC -组织、团队和用户级权限
  • 🐳 自托管 -Docker Compose、Coolify或手动部署
  • 🌐 网页用户界面 -无需CLI即可管理MCP服务器(即将推出)
  • 🔧 MCP工具 -通过自然语言配置网关(即将推出)
  • 📊 PostgreSQL+pgvector -基于向量嵌入的语义搜索
  • ⚡ 快速 -在Bun运行时使用Elysia.js构建

快速开始

先决条件

  • 包子 v1.0+
  • 码头工人 (适用于PostgreSQL)
  • Node.js v18+(可选,兼容npm)

安装

# Clone repository
git clone https://github.com/jbabin91/mcprism.git
cd mcprism

# Install dependencies
bun install

# Start PostgreSQL
docker compose up -d

# Copy environment file
cp .env.example .env

# Run database migrations (coming soon)
# bun run db:migrate

# Start development servers
bun run dev

网址

  • 网关API: http://localhost:3001(即将推出)
  • Web用户界面: http://localhost:3000(即将推出)
  • 文档: http://localhost:3002(即将推出)

建筑

mcprism/
├── apps/
│   ├── gateway/          # Elysia.js backend (MCP gateway)
│   ├── web/              # TanStack Start frontend (coming soon)
│   └── docs/             # Fumadocs documentation (coming soon)
├── packages/
│   ├── db/               # Drizzle ORM + PostgreSQL schemas
│   ├── auth/             # Better Auth (coming soon)
│   ├── types/            # Shared TypeScript types
│   └── ui/               # Base UI components (coming soon)
└── docker-compose.yml    # PostgreSQL + pgvector

技术栈

后端

  • 包子 -快速的JavaScript运行时间(比Node.js快4倍)
  • Elysia.js -高性能web框架(比Hono快3倍)
  • 淋ORM -TypeScript优先ORM
  • PostgreSQL + pg载体 -用于语义搜索的矢量数据库

前端(即将推出)

基础设施

发展

可用命令

# Development
bun run dev              # Start all apps
bun run dev --filter=@mcprism/gateway  # Start gateway only

# Build
bun run build            # Build all apps
bun run build --filter=@mcprism/gateway

# Database
bun run db:generate      # Generate migrations (coming soon)
bun run db:migrate       # Run migrations (coming soon)
bun run db:studio        # Open Drizzle Studio (coming soon)

# Linting & Type-checking
bun run lint             # Lint all code
bun run typecheck        # Type-check all code

# Docker
docker compose up -d     # Start PostgreSQL
docker compose down      # Stop services
docker compose logs -f postgres  # View logs

项目状态

该项目正在积极开发中。当前状态:

  • ✅ 注册域名: mcprism.dev
  • ✅ 概念验证
  • ✅ 已创建存储库: github/jbabin91/cmcprism
  • ✅ Turborepo monorepo已初始化
  • ✅ 网关应用程序结构(从POC迁移)
  • 🚧 数据库包(Drizzle+PostgreSQL)
  • 🚧 Web用户界面(TanStack启动)
  • 🚧 文件(Fumadocs)
  • 🚧 身份验证(更好的身份验证)
  • 🚧 RBAC系统

运作原理

1.传统MCP客户端

// Client loads ALL tool schemas upfront
const tools = await client.listTools();
// All schemas loaded into context immediately

2.MCPrism网关

// 1. Search for tools using natural language
const tools = await mcprism.searchTools("read file");
// Returns: [{ name: "read_file", description: "...", server: "filesystem" }]

// 2. Fetch full schema only when needed
const schema = await mcprism.getToolSchema("read_file");

// 3. Execute tool
const result = await mcprism.executeTool("read_file", { path: "/tmp/foo.txt" });

结果: 只在需要的时候装载你需要的东西。

路线图

第一阶段:核心网关(当前)

  • [x] 初始化Turborepo monorepo
  • [x] 概念验证
  • []将POC迁移到生产结构
  • []PostgreSQL+pgvector集成
  • []MCP协议客户端
  • []语义搜索引擎
  • []渐进式披露API

第二阶段:Web界面

  • []TanStack启动应用程序设置
  • []基本UI组件库
  • []服务器管理UI
  • []工具浏览器和搜索
  • []实时监控

第3阶段:身份验证和RBAC

  • []更好的身份验证集成
  • []用户管理
  • []组织和团队支持
  • []权限系统
  • []企业SSO/OIDC

第4阶段:文件编制和发布

  • []Fumadocs网站
  • []入门指南
  • []API文件
  • []部署指南(Docker、Coolify)
  • []显示HN发布

阶段5:高级功能

  • []自然语言MCP配置
  • []工具使用分析
  • []成本跟踪
  • []多区域部署
  • []Kubernetes支持

贡献

欢迎投稿!这个项目才刚刚开始。

当前需求:

  • 标志设计(几何棱镜+光谱)
  • 文档编写者
  • 前端开发人员(TanStack Start+Base UI)
  • 后端开发人员(Elysia+Drizzle)
  • DevOps(Docker、Coolify模板)

马上就来:

  • 贡献.md
  • 代码_OF_CONDUCT.md
  • 开发人员设置指南

许可证

MIT许可证-请参阅 许可证 了解详情。

鸣谢

内置:

  • 灵感源自 模型上下文协议
  • 通过概念验证测试进行验证
  • 来自MCP Discord的社区反馈

链接


就像棱镜折射光线一样,MCPrims折射工具通道。 🌈