
Agent8
Agent8 的 MCP 服务器
概述
Agent8 的 MCP 服务器
一个实现 Model Context Protocol (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
工具通过语义相似性匹配来搜索游戏开发资源(精灵、动画、声音等)。 - 资产生成:使用
static_asset_generate
和cinematic_asset_generate
工具生成游戏资产,包括静态图像和电影效果。
安装
bash
# 安装依赖
pnpm install
# 构建
pnpm build
使用 Docker
您可以使用 Docker 以多种方式运行此应用程序:
选项 1:从 GitHub Container Registry 拉取(推荐)
bash
# 拉取最新镜像
docker pull ghcr.io/planetarium/mcp-agent8:latest
# 运行容器
docker run -p 3333:3333 --env-file .env ghcr.io/planetarium/mcp-agent8:latest
选项 2:本地构建
bash
# 构建 Docker 镜像
docker build -t agent8-mcp-server .
# 使用环境变量运行容器
docker run -p 3333:3333 --env-file .env agent8-mcp-server
Docker 环境配置
在使用 Docker 运行时,有三种方法可以配置环境变量:
-
使用
--env-file
(推荐):bash# 先创建并配置您的 .env 文件 cp .env.example .env nano .env # 使用 .env 文件运行 docker run -p 3000:3000 --env-file .env agent8-mcp-server
-
使用单个
-e
标志:bashdocker 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 配置自动端口映射
- 加载环境变量
- 用于数据持久化的卷挂载
- 容器自动重启策略
- 健康检查配置
要运行服务器:
bashdocker compose up
以分离模式运行:
bashdocker compose up -d
必需的环境变量:
SUPABASE_URL
:数据库连接的 Supabase URLSUPABASE_SERVICE_ROLE_KEY
:用于身份验证的 Supabase 服务角色密钥OPENAI_API_KEY
:用于 AI 功能的 OpenAI API 密钥
Dockerfile 使用多阶段构建过程来创建最小的生产镜像:
- 使用 Node.js 20 Alpine 作为基础镜像以减小大小
- 分离构建和运行时依赖项
- 在最终镜像中仅包含必要的文件
- 默认暴露端口 3000
使用
命令行选项
bash
# 查看帮助
pnpm start --help
# 查看版本信息
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
作为参考):
bash
# 复制示例文件
cp .env.example .env
# 编辑 .env 文件以设置您的配置
nano .env
- 运行服务器(它将自动加载
.env
文件):
bash
pnpm start
- 或者指定自定义的
.env
文件路径:
bash
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 |
AUTH_API_ENDPOINT | 认证 API 端点 URL | (无) |
REQUIRE_AUTH | API 端点需要认证 | false |
SUPABASE_URL | 用于数据库连接的 Supabase URL | (必需) |
SUPABASE_SERVICE_ROLE_KEY | 用于认证的 Supabase 服务角色密钥 | (必需) |
OPENAI_API_KEY | 用于 AI 功能的 OpenAI API 密钥 | (必需) |
ENABLE_ALL_TOOLS | 全局启用或禁用所有工具 | true |
ENABLE_VECTOR_SEARCH_TOOLS | 启用或禁用所有向量搜索工具 | true |
ENABLE_ASSET_GENERATE_TOOLS | 启用或禁用所有资产生成工具 | true |
ENABLE_CODE_EXAMPLE_SEARCH_TOOL | 启用或禁用代码示例搜索工具 | true |
ENABLE_GAME_RESOURCE_SEARCH_TOOL | 启用或禁用游戏资源搜索工具 | true |
工具激活优先级:
工具激活设置遵循以下优先级顺序:
- 单个工具设置(例如,
ENABLE_CODE_EXAMPLE_SEARCH_TOOL
) - 工具组设置(例如,
ENABLE_VECTOR_SEARCH_TOOLS
,ENABLE_ASSET_GENERATE_TOOLS
) - 全局工具设置(
ENABLE_ALL_TOOLS
)
例如,如果您设置 ENABLE_ALL_TOOLS=false
但 ENABLE_VECTOR_SEARCH_TOOLS=true
,则只有向量搜索工具会被启用,而其他工具将保持禁用状态。同样,单个工具设置会覆盖其相应的组设置。
示例:
bash
# 仅启用向量搜索工具
ENABLE_ALL_TOOLS=false
ENABLE_VECTOR_SEARCH_TOOLS=true
# 仅启用资产生成工具
ENABLE_ALL_TOOLS=false
ENABLE_ASSET_GENERATE_TOOLS=true
# 禁用特定工具同时保持其他工具启用
ENABLE_ALL_TOOLS=true
ENABLE_CODE_EXAMPLE_SEARCH_TOOL=false
使用 Stdio 传输
bash
# 构建并运行
pnpm build
pnpm start --transport=stdio
使用 SSE 传输
bash
# 构建并运行(默认端口:3000)
pnpm build
pnpm start --transport=sse --port=3000
调试模式
bash
# 以调试模式运行
pnpm start --debug
可用提示
systemprompt-agent8-sdk
客户端集成
与 Claude Desktop 一起使用
- 在 Claude Desktop 配置文件(
claude_desktop_config.json
)中添加以下内容:
json
{
"mcpServers": {
"Agent8": {
"command": "npx",
"args": ["--yes", "agent8-mcp-server"]
}
}
}
- 重新启动 Claude Desktop
添加新提示
在 src/prompts/provider.ts
文件中的 registerSamplePrompts
方法中添加新提示。
许可
MIT

1panel
mcp-1panel 是为 1Panel 实现的 Model Context Protocol (MCP) 服务器。
Aact mcp
与AACT临床试验数据库集成,支持查询和分析大规模试验数据,适用于研究和医疗应用。
Abap Adt
一个服务器,它将模型上下文协议(MCP)与SAP ABAP系统连接起来,使像Cline这样的工具能够检索ABAP源代码、表结构和其他开发工件。
Adwords Mcp
一个令人尴尬的MCP服务器,向Cursor、Claude和其他客户端的开发者提供广告