Goose App Maker MCP
鹅应用程序制作器
该 MCP(模型上下文协议)服务器允许用户通过 Goose 创建、管理和提供 Web 应用程序,利用 Goose 进行 API 调用、数据访问等。
安装
单击此处安装鹅🪿🪿🪿🪿🪿🪿🪿🪿🪿🪿
特征
根据基本指令创建新的 Web 应用程序
将应用程序存储在
~/.config/goose/app-maker-apps目录中(每个应用程序都在其自己的子目录中)按需在本地提供 Web 应用程序
在默认浏览器中打开 Web 应用程序(如果可能的话,使用无边框浏览器)
列出所有可用的 Web 应用程序
制作可以使用 goose 作为通用后端的应用程序
Related MCP server: mcp-toolkit
示例
通过 goose 加载数据(重新使用其扩展)
goose 会跟踪您的应用程序:
按需制作应用程序
还显示丰富的表格或列表数据
来源使用情况
例如鹅:
# Run directly from source
uv --directory $PWD run python main.py重要提示:此 MCP 目前需要在 goose 桌面应用中运行(因为它访问 goose-server/goosed)
构建和发布
可选:使用紫外线在干净的环境中构建
uv venv .venv
source .venv/bin/activate
uv pip install build
python -m build出版
更新
pyproject.toml中的版本:
[project]
version = "x.y.z" # Update this构建包:
# Clean previous builds
rm -rf dist/*
python -m build发布到 PyPI:
# Install twine if needed
uv pip install twine
# Upload to PyPI
python -m twine upload dist/*工作原理
该 MCP 不仅提供应用程序,还允许它们通过 goosed 和它们自己的会话与 goose 对话:
概述
该系统实现了非阻塞、异步的请求-响应模式,允许 Web 应用程序向 Goose 发送请求并接收响应,而不会阻塞主线程。这是通过以下方式实现的:
服务器端的阻塞端点
客户端的异步 JavaScript
一种线程同步的响应存储机制
Web 应用程序结构
Web 应用是根据请求基于资源/模板制作(或下载)的。每个 Web 应用都存储在~/.config/goose/app-maker-apps下的独立目录中,其结构如下:
app-name/
├── goose-app-manifest.json # App metadata
├── index.html # Main HTML file
├── style.css # CSS styles
├── script.js # JavaScript code
└── goose_api.js # allows the apps to access goose(d) for deeper backend functionality
└── ... # Other app files
goose-app-manifest.json文件包含有关该应用程序的元数据,包括:
name:应用程序的显示名称
类型:应用程序的类型(例如“静态”,“反应”等)
描述:应用程序的简要描述
created:应用程序创建的时间戳
文件:应用程序中的文件列表
1. 客户端请求流程
当客户希望得到 Goose 的回应时:
┌─────────┐ ┌─────────────────┐ ┌───────────────┐ ┌──────────────┐
│ User │────▶│ gooseRequestX() │────▶│ Goose API │────▶│ waitForResp- │
│ Request │ │ (text/list/ │ │ (/reply) │ │ onse endpoint │
└─────────┘ │ table) │ └───────────────┘ └──────────────┘
└─────────────────┘ │
▲ │
│ │
└────────────────────────────────────────────┘
Response用户发起请求(例如点击“获取列表响应”)
客户端调用其中一个请求函数(
gooseRequestText、gooseRequestList或gooseRequestTable)该函数生成一个唯一的
responseId并向Goose发送一个请求,指示其使用该ID调用app_response然后,该函数调用
waitForResponse(responseId)来轮询/wait_for_response/{responseId}端点此端点阻塞,直到响应可用或发生超时
当响应可用时,它将返回给客户端并显示
2. 服务器端处理
在服务器端:
┌─────────────┐ ┌─────────────┐ ┌───────────────┐
│ HTTP Server │────▶│ app_response│────▶│ response_locks│
│ (blocking │ │ (stores │ │ (notifies │
│ endpoint) │◀────│ response) │◀────│ waiters) │
└─────────────┘ └─────────────┘ └───────────────┘/wait_for_response/{responseId}端点使用条件变量来阻止,直到有响应可用当 Goose 处理请求时,它会使用响应数据和
responseId调用app_response函数app_response函数将响应存储在app_responses字典中,并使用条件变量通知任何等待的线程被阻止的 HTTP 请求随后被解除阻止,并将响应返回给客户端
3.线程同步
本系统采用Python的threading.Condition进行线程同步:
当客户端请求尚未可用的响应时,将为该
responseId创建一个条件变量HTTP 处理程序线程等待此条件并超时(30 秒)
当响应可用时,通知条件
如果在响应可用之前超时,则返回错误
关键组件
客户端函数
gooseRequestText(query):请求文本响应gooseRequestList(query):请求列表响应gooseRequestTable(query, columns):请求具有指定列的表响应waitForResponse(responseId):等待具有给定 ID 的响应
服务器端函数
app_response(response_id, string_data, list_data, table_data):存储响应并通知服务员带有
/wait_for_response/{responseId}端点的 HTTP 处理程序:阻塞直到响应可用
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables web searches using a SearxNG instance, allowing MCP-compatible applications like Goose to perform internet searches.1GPL 3.0
- AlicenseAqualityDmaintenanceA general-purpose MCP server providing web search, persistent memory storage, and secure code execution capabilities. It enables AI agents to search the web, store and retrieve data, and run Python/JavaScript code in sandboxed environments.8MIT
- FlicenseCqualityDmaintenanceMCP server that enables deployment and management of MCP servers through a simple configuration-based interface.1
- AlicenseNot gradedqualityDmaintenanceA full-featured MCP server for local development with filesystem, shell, editor, session persistence, and security features.2MIT
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
A basic MCP server to operate on the Postman API.
MCP server for interacting with the Supabase platform
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/michaelneale/goose-app-maker-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server