MCPStudio Banner MCPStudio Banner
MCPStudio:模型上下文协议的邮递员
MCPStudio是一个用于创建、测试、管理和发现的web平台 模型上下文协议(MCP) 服务器。与Postman for API一样,MCPStudio提供了一个可视化界面,抽象了协议的复杂性,让您可以从浏览器连接到MCP服务器、发现工具、使用参数执行它们并检查结果。
战略方向: Web应用程序(现在)→ CLI工具→ SDK/库→ 桌面应用
特性
- 服务器管理 --通过状态跟踪(连接/断开/错误)创建、配置、连接和监控MCP服务器
- 工具发现和执行 --自动发现MCP服务器公开的工具,通过动态表单填写参数,并查看格式化的响应
- 工具库 --通过搜索和服务器筛选在连接的服务器上浏览所有工具
- 执行仪表板 --通过IndexedDB使用Recharts实时指标(计时、工具分布、成功/错误率)和持久历史记录
- 执行历史 --服务器端持久执行日志,具有可扩展行、分页和清除功能
- 可视化管道生成器 --拖放React Flow画布,将MCP工具链接到具有自动布局和前端执行引擎的DAG管道中
- 工具执行竞技场 --可并排调整大小的面板,用于比较工具执行与JSON差异和时间比较
- MCP服务器发现 --使用源代码过滤和安装命令在npm和GitHub注册表中搜索MCP兼容服务器
- 资源浏览器 --发现和浏览连接的MCP服务器暴露的数据源
- 提示模板 --使用创建、编辑、标记和管理可重用的提示模式
{{variable}}占位符(存储在IndexedDB中) - 配置导出/导入 --将服务器配置导出为JSON或YAML(凭据已编辑);通过文件上传、拖放或粘贴导入
- 认证 --使用JWT令牌进行Supabase身份验证(电子邮件/密码注册和登录);OAuth2流支持服务集成(Google Drive)
- 引导登机 --首轮启动画面,互动聚光灯之旅和五彩纸屑庆祝活动
- 设置 -主题切换(暗/亮),API基础URL配置,配置文件,数据管理
- 文档与支持 --内置文档、常见问题解答、快速链接和反馈表
- 实时更新 --用于工具执行和服务器状态更改的WebSocket流
- Google Drive集成 --通过OAuth连接,列出/搜索/检索文件,创建文件夹
技术栈
前端
| 类别 | 技术 |
|---|---|
| 框架 | React 18+TypeScript |
| 建造 | Vite 5+SWC |
| 状态 | Zustand 5(持久化到本地存储) |
| 数据获取 | React查询5 |
| UI工具包 | shadcn/UI(47+根基成分) |
| 造型 | 带有自定义MCP颜色标记+渐变的顺风CSS 3 |
| 表单 | 反应钩子表单+Zod验证 |
| 路由 | 反应路由器dom 6 |
| 图表 | 第二部分 |
| 节点图 | @xyflow/react(反应流)+@dagrejs/dagre |
| auth | @supabase/supabase-js(电子邮件/密码) |
| 本地DB | Dexie(IndexedDB包装器)——执行、管道、提示 |
| 配置解析 | js-yaml+Zod |
| 效果 | 画布五彩纸屑(入职庆典) |
| 通知 | Sonner |
后端
| 类别 | 技术 |
|---|---|
| 框架 | FastAPI 0.109 |
| 语言 | Python 3.10+ |
| 数据库 | MongoDB(电机异步驱动程序)——回退到内存模拟 |
| 身份验证 | JWT(python jose)+OAuth2(谷歌身份验证oauthlib) |
| DI | 依赖注入器 |
| HTTP客户端 | httpx(异步,用于注册表搜索) |
| WebSockets | WebSockets 12 |
| 验证 | Pydantic 2+Pydantic设置 |
| 测试 | pytest+pytest异步 |
建筑
后端——领域驱动设计(4层)
backend/mcp_studio_backend/src/mcp_studio/
├── api/ # Controllers, routes, Pydantic schemas
│ ├── controllers/ # auth, server, tool, execution, discovery
│ ├── routes/ # auth, server, tool, execution, discovery
│ └── schemas/ # auth, server, tool, execution, discovery
├── application/ # Services, DTOs (orchestration)
│ └── services/ # auth, server, tool, execution, discovery
├── domain/ # Models, repository interfaces, domain services
├── infrastructure/ # MongoDB repos, Google Drive client, registry clients, EventBus
├── config/ # Settings (pydantic-settings, loads .env)
├── container.py # Dependency injection wiring
└── main.py # FastAPI app entry point前端——特征切片架构
frontend/ai-server-forge/src/
├── features/
│ ├── auth/ # Login, Signup, AuthGuard, auth store, Supabase hooks
│ ├── servers/ # Dashboard, ServerDetail, ConfigExport/Import, use-servers
│ ├── tools/ # ToolEditor, ParameterEditor, use-tools
│ ├── tools-library/ # ToolsLibrary page (cross-server tool browser)
│ ├── pipeline/ # PipelineList, PipelineEditor, React Flow canvas, engine
│ ├── execution/ # Arena, ExecutionPanel, ExecutionHistory, ExecutionHistoryPage, Metrics
│ ├── resources/ # ResourcesPage, ResourceCard, use-resources
│ ├── prompts/ # PromptsPage, PromptCard, PromptEditor (Dexie/IndexedDB)
│ ├── discovery/ # DiscoveryPage, DiscoveryCard (npm + GitHub search)
│ ├── settings/ # SettingsPage, ThemeToggle, ApiConfig, DataManagement
│ ├── onboarding/ # SplashScreen, TourOverlay (spotlight + confetti)
│ ├── docs/ # DocsPage (static documentation)
│ └── support/ # SupportPage, FAQ, QuickLinks, FeedbackForm
├── components/
│ ├── layout/ # MainLayout, Header, Sidebar
│ └── ui/ # shadcn/ui component library (47+ components)
├── stores/ # Zustand stores (ui)
├── lib/
│ ├── api/ # Typed API client (servers, tools, auth, resources, executions, discovery)
│ └── supabase.ts # Supabase client initialization
├── hooks/ # Shared hooks (use-mobile, use-toast)
└── types/ # TypeScript types matching backend Pydantic schemas入门指南
先决条件
- Python 3.10+
- Node.js 16+
- MongoDB(可选——不可用时回退到内存模拟)
- UV包管理器(推荐)
安装
git clone https://github.com/lonexreb/MCPstudio.git
cd MCPstudio后端:
cd backend/mcp_studio_backend
python -m venv venv && source venv/bin/activate # Windows: venv\Scripts\activate
pip install uv && uv pip install -e .
uvicorn mcp_studio.main:app --reload # runs on :8000前端:
cd frontend/ai-server-forge
npm install
npm run dev # runs on :8080打开浏览器 http://localhost:8080 并注册新帐户或使用现有凭据登录。
API终点
| 方法 | 路径 | 目的 |
|---|---|---|
POST | /api/auth/register | 注册新用户 |
POST | /api/auth/token | 登录(OAuth2密码流) |
GET | /api/auth/me | 当前用户信息 |
GET | /api/auth/google/auth | 谷歌OAuth URL |
GET | /api/auth/google/callback | Google OAuth回调 |
POST | /api/servers | 创建服务器 |
GET | /api/servers | 列出服务器 |
GET | /api/servers/{id} | 获取服务器详细信息 |
PUT | /api/servers/{id} | 更新服务器 |
DELETE | /api/servers/{id} | 删除服务器 |
POST | /api/servers/{id}/connect | 连接和发现工具 |
POST | /api/servers/{id}/disconnect | 断开连接 |
GET | /api/servers/{id}/tools | 列出服务器工具 |
GET | /api/servers/{id}/resources | 列出服务器资源 |
GET | /api/tools | 列出所有工具(跨服务器) |
GET | /api/tools/{id} | 获取工具详细信息 |
POST | /api/servers/{id}/tools/{id}/execute | 执行工具 |
GET | /api/executions | 执行历史记录(可过滤) |
GET | /api/executions/{id} | 获取执行详细信息 |
DELETE | /api/executions | 清除执行历史记录 |
GET | /api/discovery/search | 搜索MCP服务器(npm/GitHub) |
GET | /api/discovery/categories | 列出服务器类别 |
WS | /ws/servers/{id}/tools/{id}/execution | 工具执行流 |
路线图
MCPStudio遵循了一个分阶段的增强计划,其灵感来自 Uncloth工作室:
| 阶段 | 功能 | 状态 |
|---|---|---|
| 0 | 基础-Zustand存储,React查询,键入API客户端,auth-guard | 完成 |
| 1 | 功能切片架构重组 | 完成 |
| 2 | UX——服务器连接向导,终端式加载,可折叠部分 | 完成 |
| 3 | 实时执行仪表板——重新调用指标、IndexedDB历史记录(Dexie) | 完成 |
| 4 | 可视化MCP管道生成器——React Flow画布、DAG执行、dagre自动布局 | 完成 |
| 5 | 工具执行竞技场——与JSON diff并排比较 | 完成 |
| 6 | 配置导出/导入——带Zod验证的JSON/YAML,拖放导入 | 完成 |
| 7 | Supabase Auth——电子邮件/密码注册和登录,替换硬编码凭据 | 完成 |
| 8 | 填补空白--设置、工具库、资源、提示、文档、支持页面 | 完成 |
| 9 | 登船和导游——启动画面、聚光灯之旅、五彩纸屑庆典 | 完成 |
| 10 | 执行历史记录——服务器端持久化,带分页的历史页面 | 完成 |
| 11 | MCP服务器发现——使用发现页面搜索npm/GitHub注册表 | 完成 |
看 实验.md 用于详细跟踪。
贡献
欢迎投稿!请随时提交拉取请求。
许可证
该项目根据MIT许可证获得许可——请参阅 许可证 文件以获取详细信息。

