Token导航 LogoToken导航TokenDH.com
spawn (Teggr) logo
运维云端未说明官方级别未说明来源级核验

spawn (Teggr)

MCP Server

Spawn是一个基于Spring Boot的应用程序,用于快速配置、构建和部署基于Spring AI框架的AI应用,提供Web界面管理模型和MCP服务器。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
模型管理JavaClaudeSpring BootClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

teggr

提供方

teggr

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

生成

用于使用UI、模型和mcp服务器动态构建具有AI功能的应用程序的应用程序。

概述

Spawn是一个Spring Boot应用程序,使您能够配置、构建和部署基于Spring Boot/Spring AI框架构建的新AI应用程序。该应用程序提供了一个基于web的UI,其中包含服务器端渲染的HTML页面,用于管理应用程序、AI模型和MCP(模型上下文协议)服务器。

主要工作流程

  1. 浏览可用型号 -查看从CSV加载的AI模型列表(例如OpenAI、Anthropic Claude、Azure OpenAI)
  2. 浏览可用的MCP服务器 -查看从CSV加载的MCP服务器列表(例如GitHub、Notion、Stripe)
  3. 创建新应用程序 使用名称并选择模型提供程序
  4. 添加MCP服务器 从可用列表中添加到您的应用程序
  5. 构建和部署 基于配置的新应用

技术栈

  • Java 17
  • 弹簧靴3.2.0
  • Spring Data JPA
  • H2数据库(内存中)
  • J2HTML 1.6.0(服务器端HTML渲染)
  • 梅文

入门指南

先决条件

  • Java 17或更高版本
  • Maven 3.6或更高版本

构建并运行

  1. 克隆存储库
  1. 构建应用程序:
   mvn clean install
  1. 运行应用程序:
   mvn spring-boot:run

应用程序将于启动 http://localhost:8080

H2控制台

访问H2数据库控制台: http://localhost:8080/h2-console

  • JDBC网址: jdbc:h2:mem:spawndb
  • 用户名: sa
  • 密码:(空)

Web用户界面

该应用程序提供了一个基于web的用户界面,其中包含以下页面:

型号(/models)

  • 只读列表 从以下位置加载的AI模型提供程序 src/main/resources/models/models.csv
  • 显示模型功能:多模态、工具/功能、流式传输、重试、可观察性等。
  • 无创建、编辑或删除操作-模型仅用于配置

MCP服务器(/mcp-servers)

  • 只读列表 从加载的MCP服务器 src/main/resources/mcp/mcp_servers.csv
  • 显示服务器图标和说明
  • 包括GitHub MCP注册表中的48多台服务器(GitHub、Notion、Stripe等)
  • 无创建、编辑或删除操作-服务器仅用于配置
  • 查看配置模板 适用于具有可用模板的MCP服务器

MCP模板

MCP服务器配置模板是存储在中的JSON文件 src/main/resources/mcp/templates/模板提供了预先配置的服务器定义,其中包含可定制用于部署的输入占位符。模板系统支持多种命名策略,用于将模板与服务器匹配:

  1. 精确匹配:模板文件名与服务器名称完全匹配(例如。, GitHub.json 对于“GitHub”服务器)
  2. 不区分大小写的匹配:无论大小写差异如何,都能找到模板
  3. 标准化比赛:空格和特殊字符被标准化为连字符(例如。, azure-mcp-server.json 匹配“Azure MCP服务器”)

模板包括:

  • 使用占位符进行服务器配置 ${input:id} 语法
  • 指定所需配置值、类型和默认值的输入定义
  • 预览功能显示替换占位符的模板(密码字段用 *****)

通过MCP服务器列表页面上的“查看模板”按钮访问具有可用模板的服务器的模板。

应用程序(/applications)

  • 完整的CRUD操作 用于人工智能应用
  • 使用名称和模型提供程序创建应用程序
  • 查看、编辑和删除应用程序
  • 在应用程序中添加/删除MCP服务器
  • 每个应用程序存储:

- 名字 - 模型提供者(参考CSV) - MCP服务器名称集(引用CSV) - 创建时间戳

代理商(/agents)

  • 新领域:代理代表了针对特定任务量身定制的专业知识。
  • 每个代理存储:

- name (必填) - description (可选) - systemPrompt (长文本,存储为CLOB) - createdAt 时间戳 - 存储在中的每个代理的MCP服务器名称持久列表(自由格式字符串) agent_mcp_servers 桌子

  • 端点(服务器渲染的HTML):

- GET /agents --列出所有代理 - GET /agents/new --显示创建表单(已知MCP服务器下拉列表+“其他”自由添加) - POST /agents --创建代理(成功后重定向) - GET /agents/{id} --显示完整系统提示和附加MCP名称的详细页面(未知名称用警告徽章突出显示) - GET /agents/{id}/edit --编辑表格(预填) - POST /agents/{id} --更新代理 - POST /agents/{id}/delete --删除代理 - POST /agents/{id}/mcp-servers/add --将MCP名称附加到代理 - POST /agents/{id}/mcp-servers/{mcpName}/remove --从代理中删除MCP名称

  • 用于下拉菜单的MCP服务器列表是从CSV(只读)加载的。代理接受自由格式的MCP名称;UI突出显示与任何已知MCP服务器都不匹配的名称。

数据架构

基于CSV的配置(只读)

模型MCP服务器 在应用程序启动时从CSV文件加载:

  • CSV模型 (src/main/resources/models/models.csv):

- 列:提供程序,多模式,工具/函数,流,重试,可观察性,内置JSON,本地,OpenAI API兼容 - 例子: OpenAI,"In: text, image, audio Out: text, audio",yes,yes,yes,yes,yes,no,yes

  • MCP服务器CSV (src/main/resources/mcp/mcp_servers.csv):

- 列:名称、图标、描述 - 例子: GitHub,https://avatars.githubusercontent.com/u/9919?v=4,"Official GitHub MCP Server..."

数据库实体(CRUD)

应用程序 存储在H2数据库中:

  • 应用程序名称
  • 模型提供程序名称(根据CSV验证)
  • MCP服务器名称集合(根据CSV验证)
  • 创建时间戳

代理 存储在H2数据库中:

  • 代理名称
  • 描述
  • 系统提示
  • 创建时间戳
  • MCP服务器名称的集合(自由格式,根据CSV进行验证)

工作流示例

使用web UI:

  1. 查看可用型号

- 引导到 http://localhost:8080/models - 浏览可用AI模型提供者列表

  1. 查看可用的MCP服务器

- 引导到 http://localhost:8080/mcp-servers - 浏览带有说明的可用MCP服务器列表

  1. 创建应用程序

- 引导到 http://localhost:8080/applications - 点击“创建新应用程序” - 输入应用程序名称:“我的AI助手” - 选择模型提供者:“OpenAI” - 点击“保存”

  1. 添加MCP服务器

- 点击应用程序上的“查看” - 从下拉列表中选择MCP服务器(例如“GitHub”) - 点击“添加服务器” - 重复以添加更多服务器

  1. 查看应用程序配置

- 应用程序详细信息页面显示: - 应用程序详细信息(ID、名称、型号提供商、创建日期) - 带有图标和描述的关联MCP服务器 - 添加/删除服务器的选项

  1. 创建代理

- 引导到 http://localhost:8080/agents - 点击“创建新代理” - 输入代理名称:“代码审阅者” - (可选)输入描述 - 输入系统提示 - 从下拉列表中选择MCP服务器 - 点击“保存”

  1. 查看代理详细信息

- 点击您的代理上的“查看” - 查看完整的系统提示和附加的MCP服务器 - 编辑或删除代理的选项

测试

运行测试:

mvn test

测试套件包括:

  • 所有域的控制器集成测试
  • CSV加载服务测试
  • 展示完整应用程序生命周期的端到端工作流测试
  • 所有测试都使用MockMvc进行控制器测试

项目结构

src/
├── main/
│   ├── java/dev/rebelcraft/ai/spawn/
│   │   ├── SpawnApplication.java          # Main application class
│   │   ├── apps/                          # Applications domain
│   │   │   ├── Application.java           # JPA entity
│   │   │   ├── ApplicationController.java # Web controller
│   │   │   ├── ApplicationService.java    # Business logic
│   │   │   ├── ApplicationRepository.java # Spring Data repository
│   │   │   ├── ApplicationRequest.java    # DTO
│   │   │   ├── ApplicationResponse.java   # DTO
│   │   │   ├── ApplicationFormPage.java   # J2HTML view
│   │   │   ├── ApplicationDetailPage.java # J2HTML view
│   │   │   └── ApplicationsListPage.java  # J2HTML view
│   │   ├── models/                        # Models domain (read-only CSV)
│   │   │   ├── Model.java                 # Plain POJO
│   │   │   ├── ModelController.java       # Web controller
│   │   │   ├── ModelService.java          # CSV loader
│   │   │   ├── ModelResponse.java         # DTO
│   │   │   └── ModelsListPage.java        # J2HTML view
│   │   ├── mcp/                           # MCP Servers domain (read-only CSV)
│   │   │   ├── McpServer.java             # Plain POJO
│   │   │   ├── McpServerController.java   # Web controller
│   │   │   ├── McpServerService.java      # CSV loader
│   │   │   ├── McpServerResponse.java     # DTO
│   │   │   ├── McpServersListPage.java    # J2HTML view
│   │   │   ├── McpTemplate.java           # Template POJO
│   │   │   ├── McpTemplateService.java    # Template loader
│   │   │   ├── McpTemplateController.java # Template controller
│   │   │   └── McpServerTemplatePage.java # J2HTML view
│   │   ├── agents/                        # Agents domain
│   │   │   ├── Agent.java                 # JPA entity
│   │   │   ├── AgentController.java       # Web controller
│   │   │   ├── AgentService.java          # Business logic
│   │   │   ├── AgentRepository.java       # Spring Data repository
│   │   │   ├── AgentRequest.java          # DTO
│   │   │   ├── AgentResponse.java         # DTO
│   │   │   ├── AgentFormPage.java         # J2HTML view
│   │   │   ├── AgentDetailPage.java       # J2HTML view
│   │   │   └── AgentsListPage.java        # J2HTML view
│   │   ├── web/                           # Cross-cutting web concerns
│   │   │   ├── IndexController.java       # Home page
│   │   │   └── view/                      # Shared view components
│   │   ├── utils/                         # Utilities
│   │   │   └── ResourceNotFoundException.java
│   │   └── config/                        # Configuration
│   └── resources/
│       ├── application.properties         # Application configuration
│       ├── models/
│       │   └── models.csv                 # AI model providers
│       └── mcp/
│           ├── mcp_servers.csv            # MCP servers
│           └── templates/                 # MCP configuration templates
│               ├── GitHub.json            # GitHub MCP template
│               └── azure-mcp-server.json  # Azure MCP template
└── test/
    └── java/dev/rebelcraft/ai/spawn/      # Test classes

数据库模式

应用程序使用具有以下模式的内存中H2数据库:

  • 应用:存储AI应用程序配置

- id、名称、模型提供者、创建at

  • application_mcp_servers:存储每个应用程序的MCP服务器名称

- application_id,mcp_server_name

  • 代理:存储代理配置

- id、名称、描述、system_prompt、created_at

  • 代理服务器:存储每个代理的MCP服务器名称

- agent_id,mcp_server_name

备注:型号和MCP服务器未存储在数据库中。它们在启动时从CSV文件加载。

许可证

此项目在Apache License 2.0下获得许可-有关详细信息,请参阅License文件。

目录标签

目录标签

模型管理JavaClaudeSpring BootAI应用开发本地部署SpringBootMCP服务器

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP