使用说明
MCP应用商店🏪
用于MCP(模型上下文协议)应用程序的多应用程序托管平台。从具有共享基础设施、安全性和路由的单个服务器部署多个AI驱动的应用程序。
🎯 这是什么?
MCP应用商店是 主机平台 这让你:
- 🚀 从单个服务器部署多个MCP应用程序
- 🔐 所有应用程序共享API密钥身份验证
- 🛤️ 自动路由:
/{app-id}/mcp对于每个应用程序 - 📦 单一部署到Railway/Vercel/任何主机
- 🔧 轻松添加新应用程序-只需创建一个文件夹!
🌐 直播平台
生产URL: https://mcp-production-3a5e.up.railway.app
可用应用程序
| 应用程序 | 端点 | 描述 |
|---|---|---|
| 🍳 食谱混音 | /recipe-remix/mcp |
具有漂亮UI的AI食谱助手 |
| 📊 分配混音 | /allocation-remix/mcp |
动态资源分配可视化工具 |
| 📄 PDF洞察 | /pdf-insight/mcp |
带有注释和选择操作的AI文档阅读器 |
📄 文档阅读器愿景(PDF Insight)
目标:一个可扩展的、与客户端无关的文档阅读器,可在任何AI主机内工作。用户可以打开文档,在应用程序中阅读它们,并使用具有持久记忆和个性化的AI操作(解释、总结、翻译、注释)。
MVP方法:
- 仅本地存储笔记和设置
- 基于选择的快速操作的单文档焦点
- 构建可移植性,然后交换存储/身份验证层
扩大计划:
- 身份验证、数据库和文件存储的辅助数据库
- 多设备同步和团队协作
- 用于跨笔记和文档进行语义搜索的向量存储器
🔌 连接到克劳德桌面/VS代码
{
"servers": {
"recipe-remix": {
"type": "sse",
"url": "https://mcp-production-3a5e.up.railway.app/recipe-remix/mcp"
},
"allocation-remix": {
"type": "sse",
"url": "https://mcp-production-3a5e.up.railway.app/allocation-remix/mcp"
},
"pdf-insight": {
"type": "sse",
"url": "https://mcp-production-3a5e.up.railway.app/pdf-insight/mcp"
}
}
}
🏗️ 建筑
mcp-app/
├── main.ts # Multi-app server with routing & auth
├── app-registry.ts # App registration system
├── apps/ # 📁 Each app lives here
│ └── recipe-remix/ # Example app
│ ├── server.ts # Tool & resource registration
│ ├── mcp-app.tsx # React UI entry
│ └── README.md # App-specific docs
├── dist/ # Built HTML bundles
├── package.json
└── vite.config.ts
路由如何工作
Request: GET /recipe-remix/mcp
↓
main.ts routes to apps/recipe-remix/server.ts
↓
App handles MCP protocol (tools, resources, UI)
↓
Response returned to client
➕ 添加新应用程序
-
创建应用文件夹:
mkdir -p apps/my-new-app/src -
创建server.ts 使用您的工具:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; export function registerTools(server: McpServer) { server.tool("my-tool", { /* schema */ }, async (params) => { // Your tool logic }); } -
创建mcp-app.tsx 对于UI:
import React from "react"; export default function App({ data }) { return <div>{/* Your UI */}</div>; } -
在app-reistry.ts中注册:
export const apps = { "recipe-remix": { /* ... */ }, "my-new-app": { name: "My New App", description: "Does something cool", path: "./apps/my-new-app/server.ts" } }; -
添加Vite构建配置 在vite.config.ts中
-
构建和测试:
npm run build npx tsx main.ts
🔧 本地开发
# Install dependencies
npm install
# Build all apps
npm run build
# Start the server
npx tsx main.ts
# Server runs at http://localhost:3001
# Apps available at http://localhost:3001/{app-id}/mcp
在本地测试应用程序
{
"servers": {
"recipe-remix": {
"type": "sse",
"url": "http://localhost:3001/recipe-remix/mcp"
}
}
}
🚢 部署
部署在铁路上,具有自动构建功能:
railway up
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
PORT |
服务器端口 | 3001(铁路使用8080) |
API_KEY |
用于auth | None(公共访问)的可选API密钥 |
🔒 安全
- API密钥验证 -可选-设置
API_KEYenv-var通过以下方式启用身份验证?apiKey=或Bearer头球 - CSP支持 -应用程序可以为外部资源配置内容安全策略
- CORS已启用 -浏览器客户端支持跨源请求
🎨 技术栈
- 服务器:带StreamableHTTPServerTransport的Express+MCP SDK
- 前端:React 18、TypeScript、CSS模块(以及基于示例的香草应用程序)
- 图标:Lucide React(树抖动SVG)
- 动画:洛蒂反应
- 捆绑器:Vite+Vite插件单文件
- 部署:铁路
- 计划的:Supabase(身份验证、邮政、存储)
📜 MCP协议
该平台实现了 模型上下文协议:
- 工具 -AI可以调用的功能(例如。,
show-recipe) - 资源 -AI可以显示的数据/UI
- 运输 -SSE用于流媒体,HTTP用于请求/响应
每个应用程序都定义了自己的工具和资源,平台处理:
- 协议协商
- 会话管理
- 认证
- 路由
🗺️ 路线图
- []更多应用程序(天气、地图、股票等)
- []应用程序发现端点
- []使用情况分析
- []速率限制
- []应用程序版本控制
- [x] PDF Insight:带内联保存对话框的注释(本地SQLite)
- [x] PDF Insight:测试套件(Vitest——URL助手+数据库存储库)
- []PDF Insight:突出显示UI(数据库模式就绪)
- []PDF Insight:可配置的快速操作(总结/翻译/定义)
- []PDF Insight:每个配置文件首选项和每个文档设置
- []PDF Insight:基于Supabase的身份验证、数据库和存储
- []PDF Insight:跨笔记/文档的矢量搜索
📝 许可证
麻省理工学院
内置于❤️ 使用 MCP-SDK
