MCP-Prompts 是一款功能强大的提示管理器,具备资源附件、版本控制和团队协作等功能。本指南将详细介绍如何使用 Docker Compose 集成 MCP-Prompts 以及其他相关服务。
以下是一个完整的 docker-compose.yml 文件示例,展示了如何将 MCP-Prompts 与其他服务集成到一个统一的环境中:
version: '3.8'
services:
mcp-prompts:
image: sparesparrow/mcp-prompts:latest
environment:
- ENABLE_RESOURCES=true
- STORAGE_TYPE=file
- PROMPTS_DIR=/app/data/prompts
- HTTP_SERVER=true
- PORT=3003
- HOST=0.0.0.0
volumes:
- ./data:/app/data
ports:
- "3003:3003"
mcp-mermaid:
image: mcp/mermaid-server:latest
ports:
- "3004:3004"
mcp-orchestrator:
image: mcp/orchestrator-server:latest
ports:
- "3005:3005"
mcp-filesystem:
image: mcp/filesystem-server:latest
volumes:
- ./data:/data
ports:
- "3006:3006"
postgres-db:
image: postgres:14
environment:
- POSTGRES_USER=mcp
- POSTGRES_PASSWORD=mcp_password
- POSTGRESS_DB=mcp_prompts
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
postgres-data:
MCP-Prompts 现在支持服务器发送事件(Server-Sent Events,SSE),这使得实时接收提示更新成为可能。这对于像 Claude 桌面应用程序这样的实时应用非常有用。
使用以下命令启动具有 SSE 支持的 MCP-Prompts 服务器:
docker-compose up mcp-prompts-sse
此命令将在端口 3003 上启动 MCP-Prompts 服务器,并启用 SSE 功能。SSE 终端点位于 /events。
要将 Claude 桌面配置为使用带有 SSE 支持的 Docker 化 MCP-Prompts 服务器,请更新你的 claude_desktop_config.json 文件(通常位于 ~/.config/Claude/claude_desktop_config.json):
"prompts": {
"command": "docker",
"args": [
"run",
"--rm",
"-p",
"3003:3003",
"-v",
"/path/to/your/prompts:/app/data/prompts",
"-v",
"/path/to/your/backups:/app/data/backups",
"--name",
"mcp-prompts-sse",
"-e",
"STORAGE_TYPE=file",
-e PROMPTS_DIR=/app/data/prompts
-e HTTP_SERVER=true
-e PORT=3003
-e HOST=0.0.0.0
]
}
{
"event": "prompt_created",
"data": {
"id": "string",
"name": "string",
"content": "string",
"timestamp": "number"
}
}
{
"event": "prompt_updated",
"data": {
"id": "string",
"name": "string",
"content": "string",
"timestamp": "number"
}
}
{
"event": "prompt_deleted",
"data": {
"id": "string",
"name": "string",
"timestamp": "number"
}
}
以下是一个使用 JavaScript 订阅 SSE 事件的示例:
const eventSource = new EventSource('/events');
eventSource.addEventListener('message', (e) => {
console.log('New event:', e.data);
});
你可以通过在 EventSOURCE URL 中指定事件类型来过滤事件:
// 监听提示创建事件
const createEventSource = new EventSource('/events?event=prompt_created');
createEventSource.addEventListener('message', (e) => {
console.log('New prompt created:', e.data);
});
通过 Docker Compose,你可以轻松地将 MCP-Prompts 与其他服务集成到一个统一的环境中。同时,SSE 支持为实时应用提供了强大的功能支持。希望这篇文章能帮助你更好地理解和使用 MCP-Prompts 及其相关功能。