Standalone mcp apps (#6458)

Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
Douwe Osinga
2026-01-16 08:59:04 -05:00
committed by GitHub
parent b1a53f3456
commit 7c62f50c41
15 changed files with 1086 additions and 29 deletions
+177
View File
@@ -128,6 +128,62 @@
}
}
},
"/agent/list_apps": {
"get": {
"tags": [
"Agent"
],
"operationId": "list_apps",
"parameters": [
{
"name": "session_id",
"in": "query",
"required": false,
"schema": {
"type": "string",
"nullable": true
}
}
],
"responses": {
"200": {
"description": "List of apps retrieved successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListAppsResponse"
}
}
}
},
"401": {
"description": "Unauthorized - Invalid or missing API key",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"api_key": []
}
]
}
},
"/agent/read_resource": {
"post": {
"tags": [
@@ -340,6 +396,45 @@
}
}
},
"/agent/stop": {
"post": {
"tags": [
"super::routes::agent"
],
"operationId": "stop_agent",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StopAgentRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Agent stopped successfully",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"401": {
"description": "Unauthorized - invalid secret key"
},
"404": {
"description": "Session not found"
},
"500": {
"description": "Internal server error"
}
}
}
},
"/agent/tools": {
"get": {
"tags": [
@@ -3762,6 +3857,31 @@
}
}
},
"GooseApp": {
"allOf": [
{
"$ref": "#/components/schemas/McpAppResource"
},
{
"allOf": [
{
"$ref": "#/components/schemas/WindowProps"
}
],
"nullable": true
},
{
"type": "object",
"properties": {
"mcpServer": {
"type": "string",
"nullable": true
}
}
}
],
"description": "A Goose App combining MCP resource data with Goose-specific metadata"
},
"Icon": {
"type": "object",
"required": [
@@ -3855,6 +3975,29 @@
}
}
},
"ListAppsRequest": {
"type": "object",
"properties": {
"session_id": {
"type": "string",
"nullable": true
}
}
},
"ListAppsResponse": {
"type": "object",
"required": [
"apps"
],
"properties": {
"apps": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GooseApp"
}
}
}
},
"ListRecipeResponse": {
"type": "object",
"required": [
@@ -5674,6 +5817,17 @@
}
}
},
"StopAgentRequest": {
"type": "object",
"required": [
"session_id"
],
"properties": {
"session_id": {
"type": "string"
}
}
},
"SubRecipe": {
"type": "object",
"required": [
@@ -6279,6 +6433,29 @@
}
}
}
},
"WindowProps": {
"type": "object",
"required": [
"width",
"height",
"resizable"
],
"properties": {
"height": {
"type": "integer",
"format": "int32",
"minimum": 0
},
"resizable": {
"type": "boolean"
},
"width": {
"type": "integer",
"format": "int32",
"minimum": 0
}
}
}
}
}