MCP Agent8 开发助手
一个实现模型上下文协议(MCP)的服务器,通过标准输入输出(stdio)和服务器发送事件(SSE)传输方式,为Agent8 SDK开发提供系统提示和代码示例搜索功能支持。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"Agent8": {
"args": [
"--yes",
"agent8-mcp-server"
],
"command": "npx"
}
}
}
该服务需要配置环境变量:DEBUG、LOG_DESTINATION、LOG_FILE、LOG_LEVEL、MCP_TRANSPORT、OPENAI_API_KEY、PORT、SUPABASE_SERVICE_ROLE_KEY、SUPABASE_URL
服务介绍
Agent8 的 MCP 服务器
一个实现模型上下文协议 (MCP) 的服务器,用于支持 Agent8 SDK 开发。使用 TypeScript 和 pnpm 开发,支持 stdio 和 SSE 传输。
功能
此 Agent8 MCP 服务器实现了以下 MCP 规范功能:
提示
- Agent8 SDK 的系统提示:通过
system-prompt-for-agent8-sdk提示模板为 Agent8 SDK 开发提供优化指南。
工具
- 代码示例搜索:使用
search_code_examples工具从向量数据库中检索相关的 Agent8 游戏开发代码示例。 - 游戏资源搜索:通过
search_game_resources工具使用语义相似度匹配来搜索游戏开发资源(精灵、动画、声音等)。
安装
# Install dependencies
pnpm install
# Build
pnpm build
使用 Docker
您可以使用 Docker 以多种方式运行此应用程序:
选项 1:从 GitHub Container Registry 拉取(推荐)
# Pull the latest image
docker pull ghcr.io/planetarium/mcp-agent8:latest
# Run the container
docker run -p 3333:3333 --env-file .env ghcr.io/planetarium/mcp-agent8:latest
选项 2:本地构建
# Build the Docker image
docker build -t agent8-mcp-server .
# Run the container with environment variables
docker run -p 3333:3333 --env-file .env agent8-mcp-server
Docker 环境配置
在使用 Docker 运行时,有三种方法可以配置环境变量:
-
使用
--env-file(推荐):# 首先创建并配置您的 .env 文件 cp .env.example .env nano .env # 使用 .env 文件运行 docker run -p 3000:3000 --env-file .env agent8-mcp-server -
使用单独的
-e标志:docker run -p 3000:3000 \ -e SUPABASE_URL=your_supabase_url \ -e SUPABASE_SERVICE_ROLE_KEY=your_service_role_key \ -e OPENAI_API_KEY=your_openai_api_key \ -e MCP_TRANSPORT=sse \ -e PORT=3000 \ -e LOG_LEVEL=info \ agent8-mcp-server -
使用 Docker Compose(适用于开发/生产设置):
项目包含一个预配置的
docker-compose.yml文件,其中包括:- 从 .env 配置自动端口映射
- 加载环境变量
- 用于数据持久化的卷挂载
- 容器自动重启策略
- 健康检查配置
要运行服务器:
docker compose up以分离模式运行:
docker compose up -d
必需的环境变量:
SUPABASE_URL:用于数据库连接的 Supabase URLSUPABASE_SERVICE_ROLE_KEY:用于身份验证的 Supabase 服务角色密钥OPENAI_API_KEY:用于 AI 功能的 OpenAI API 密钥
Dockerfile 使用多阶段构建过程来创建最小的生产镜像:
- 使用 Node.js 20 Alpine 作为基础镜像,以减小大小
- 分离构建和运行时依赖项
- 在最终镜像中仅包括必要的文件
- 默认情况下暴露端口 3000
使用
命令行选项
# View help
pnpm start --help
# View version information
pnpm start --version
支持的选项:
--debug: 启用调试模式--transport <type>: 传输类型 (stdio 或 sse),默认:stdio--port <number>: 用于 SSE 传输的端口,默认:3000--log-destination <dest>: 日志目标 (stdout, stderr, file, none)--log-file <path>: 日志文件路径(当 log-destination 是 file 时)--log-level <level>: 日志级别 (debug, info, warn, error),默认:info--env-file <path>: .env 文件路径
使用环境变量
服务器支持通过环境变量进行配置,可以直接设置或通过 .env 文件设置。
- 在项目根目录下创建一个
.env文件(请参考.env.example):
# Copy the example file
cp .env.example .env
# Edit the .env file with your settings
nano .env
- 运行服务器(它将自动加载
.env文件):
pnpm start
- 或者指定自定义的
.env文件路径:
pnpm start --env-file=/path/to/custom/.env
配置优先级
服务器在确定配置值时使用以下优先级顺序:
- 命令行参数(最高优先级)
- 环境变量(来自
.env文件或系统环境) - 默认值(最低优先级)
这允许你在 .env 文件中设置基线配置,并在需要时通过命令行参数覆盖特定设置。
支持的环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
| MCP_TRANSPORT | 传输类型 (stdio 或 sse) | stdio |
| PORT | 用于 SSE 传输的端口 | 3000 |
| LOG_LEVEL | 日志级别 (debug, info, warn, error) | info |
| LOG_DESTINATION | 日志目标 (stdout, stderr, file, none) | stderr(对于 stdio 传输),stdout(对于 sse 传输) |
| LOG_FILE | 日志文件路径(当 LOG_DESTINATION 是 file 时) | (无) |
| DEBUG | 启用调试模式 (true/false) | false |
| SUPABASE_URL | 用于数据库连接的 Supabase URL | (必需) |
| SUPABASE_SERVICE_ROLE_KEY | 用于身份验证的 Supabase 服务角色密钥 | (必需) |
| OPENAI_API_KEY | 用于 AI 功能的 OpenAI API 密钥 | (必需) |
使用 Stdio 传输
# Build and run
pnpm build
pnpm start --transport=stdio
使用 SSE 传输
# Build and run (default port: 3000)
pnpm build
pnpm start --transport=sse --port=3000
调试模式
# Run in debug mode
pnpm start --debug
可用提示
systemprompt-agent8-sdk
客户端集成
与 Claude 桌面版一起使用
- 将以下内容添加到 Claude Desktop 配置文件 (
claude_desktop_config.json) 中:
{
"mcpServers": {
"Agent8": {
"command": "npx",
"args": ["--yes", "agent8-mcp-server"]
}
}
}
- 重启 Claude Desktop
添加新提示
在 src/prompts/provider.ts 文件中的 registerSamplePrompts 方法里添加新的提示。
许可证
MIT