The MCP Server for Agent8 provides tools for AI-driven game development, including:
- Asset Generation: Create game assets like images, cinematics, music, sound effects, and skyboxes using AI tools
- Code Example Search: Find relevant game development code from a vector database
- Game Resource Search: Discover game assets (sprites, animations, sounds) via semantic matching
- Cinematic Workflow: Generate, check status, retrieve, and cancel cinematic requests
- System Prompt: Optimize Agent8 SDK development with a dedicated system prompt
- Model Support: List and access schemas for cinematic generation models
- Tool Management: Enable/disable specific tools through environment variables
- Transport Support: Communicate via stdio, SSE, or streamable HTTP
Provides containerized deployment options through Docker, including GitHub Container Registry integration
Supports configuration via .env files for managing environment variables
Offers container image distribution through GitHub Container Registry
Uses OpenAI API for AI functionality, requiring an API key for operation
Integrates with Supabase for database operations including vector search for code examples and game resources
MCP Server for Agent8
A server implementing the Model Context Protocol (MCP) to support Agent8 SDK development. Developed with TypeScript and pnpm, supporting stdio, SSE, and streamable-http transports.
Features
This Agent8 MCP Server implements the following MCP specification capabilities:
Prompts
- System Prompt for Agent8 SDK: Provides optimized guidelines for Agent8 SDK development through the
system-prompt-for-agent8-sdk
prompt template.
Tools
- Code Examples Search: Retrieves relevant Agent8 game development code examples from a vector database using the
search_code_examples
tool. - Game Resource Search: Searches for game development assets (sprites, animations, sounds, etc.) using semantic similarity matching via the
search_game_resources
tool. - Asset Generation: Comprehensive toolset for game asset creation:
- Images: Generate 2D game assets using the
image_asset_generate
tool - Cinematics: Create cinematic sequences with
cinematic_asset_generate
tool - Audio: Generate music tracks and sound effects with
music_generate
andsfx_generate
tools - Skyboxes: Create 360° environmental backgrounds with
skybox_generate
tool - Support Tools: Status checking, result retrieval, and wait utilities for asynchronous generation
- Images: Generate 2D game assets using the
Installation
Using Docker
You can run this application using Docker in several ways:
Option 1: Pull from GitHub Container Registry (Recommended)
Option 2: Build Locally
Docker Environment Configuration
There are three ways to configure environment variables when running with Docker:
- Using
--env-file
(Recommended): - Using individual
-e
flags: - Using Docker Compose (for development/production setup):The project includes a pre-configured
docker-compose.yml
file with:- Automatic port mapping from .env configuration
- Environment variables loading
- Volume mounting for data persistence
- Container auto-restart policy
- Health check configuration
To run the server:
To run in detached mode:
Required Environment Variables:
SUPABASE_URL
: Supabase URL for database connectionSUPABASE_SERVICE_ROLE_KEY
: Supabase service role key for authenticationOPENAI_API_KEY
: OpenAI API key for AI functionality
The Dockerfile uses a multi-stage build process to create a minimal production image:
- Uses Node.js 20 Alpine as the base image for smaller size
- Separates build and runtime dependencies
- Only includes necessary files in the final image
- Exposes port 3000 by default
Usage
Command Line Options
Supported options:
--debug
: Enable debug mode--transport <type>
: Transport type (stdio, sse, or streamable-http), default: stdio--port <number>
: Port to use for SSE or HTTP transport, default: 3000--log-destination <dest>
: Log destination (stdout, stderr, file, none)--log-file <path>
: Path to log file (when log-destination is file)--log-level <level>
: Log level (debug, info, warn, error), default: info--env-file <path>
: Path to .env file
Using Environment Variables
The server supports configuration via environment variables, which can be set directly or via a .env
file.
- Create a
.env
file in the project root (see.env.example
for reference):
- Run the server (it will automatically load the
.env
file):
- Or specify a custom path to the
.env
file:
Configuration Priority
The server uses the following priority order when determining configuration values:
- Command line arguments (highest priority)
- Environment variables (from
.env
file or system environment) - Default values (lowest priority)
This allows you to set baseline configuration in your .env
file while overriding specific settings via command line arguments when needed.
Supported Environment Variables
Variable | Description | Default |
---|---|---|
MCP_TRANSPORT | Transport type (stdio, sse or streamable-http) | stdio |
PORT | Port to use for SSE transport | 3000 |
LOG_LEVEL | Log level (debug, info, warn, error) | info |
LOG_DESTINATION | Log destination (stdout, stderr, file, none) | stderr (for stdio transport), stdout (for sse transport) |
LOG_FILE | Path to log file (when LOG_DESTINATION is file) | (none) |
DEBUG | Enable debug mode (true/false) | false |
V8_AUTH_API_ENDPOINT | Authentication API endpoint URL | (none) |
V8_AUTH_REQUIRE | Require authentication for API endpoints | false |
SUPABASE_URL | Supabase URL for database connection | (required) |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key for authentication | (required) |
OPENAI_API_KEY | OpenAI API key for AI functionality | (required) |
FAL_KEY | fal.ai API key for asset generation | (required) |
BLOCKADE_LABS_API_KEY | Blockade Labs API key for skybox generation | (required for skybox generation) |
V8_CREDIT_CLIENT_ID | Client ID for credit consumption API | (none, optional for asset generation) |
V8_CREDIT_CLIENT_SECRET | Client secret for credit consumption API | (none, optional for asset generation) |
V8_CREDIT_API_ENDPOINT | API endpoint for credit consumption | (required for asset generation) |
ENABLE_ALL_TOOLS | Enable or disable all tools globally | true |
ENABLE_VECTOR_SEARCH_TOOLS | Enable or disable all vector search tools | true |
ENABLE_ASSET_GENERATE_TOOLS | Enable or disable all asset generation tools (images, cinematics, audio, skyboxes) | true |
ENABLE_IMAGE_GENERATION_TOOLS | Enable or disable image generation tools | true |
ENABLE_CINEMATIC_GENERATION_TOOLS | Enable or disable cinematic generation tools | true |
ENABLE_AUDIO_GENERATION_TOOLS | Enable or disable audio generation tools | true |
ENABLE_SKYBOX_GENERATION_TOOLS | Enable or disable skybox generation tools | true |
ENABLE_CODE_EXAMPLE_SEARCH_TOOL | Enable or disable code example search tool | true |
ENABLE_GAME_RESOURCE_SEARCH_TOOL | Enable or disable game resource search tool | true |
ENABLE_UI_THEME_TOOLS | Enable or disable UI theme tool | true |
Tool Activation Priority: The tool activation settings follow this priority order:
- Individual tool settings (e.g.,
ENABLE_CODE_EXAMPLE_SEARCH_TOOL
) - Asset type settings (e.g.,
ENABLE_IMAGE_GENERATION_TOOLS
,ENABLE_CINEMATIC_GENERATION_TOOLS
) - Tool group settings (e.g.,
ENABLE_VECTOR_SEARCH_TOOLS
,ENABLE_ASSET_GENERATE_TOOLS
) - Global tool setting (
ENABLE_ALL_TOOLS
)
Individual settings always override group settings, and group settings override the global setting. When individual settings are explicitly set, they take precedence over their parent settings.
Important: To enable only specific tools, you should set all higher-level settings to false
and only enable the specific tools you need. This approach provides a more consistent and predictable configuration.
Examples:
Using Stdio Transport
Using SSE Transport
Using Streamable HTTP Transport
Debug Mode
Available Prompts
systemprompt-agent8-sdk
Client Integration
Using with Claude Desktop
- Add the following to Claude Desktop configuration file (
claude_desktop_config.json
):
- Restart Claude Desktop
Adding New Prompts
Add new prompts to the registerSamplePrompts
method in the src/prompts/provider.ts
file.
License
MIT
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A server implementing the Model Context Protocol (MCP) to support Agent8 SDK development by providing system prompts and code example search capabilities through stdio and SSE transports.
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server enabling secure interaction with n8n workflows, executions, and settings via the Model Context Protocol, designed for integration with Large Language Models (LLMs).Last updated -338534TypeScriptMIT License
- AsecurityAlicenseAqualityA server that uses the Model Context Protocol (MCP) to allow AI agents to safely execute shell commands on a host system.Last updated -1762TypeScriptMIT License
- -securityAlicense-qualityA demonstration server that implements the Model Context Protocol (MCP) SDK, providing tools and endpoints for server-sent events and message handling.Last updated -27TypeScriptMIT License
- -securityAlicense-qualityA template repository for building Model Context Protocol (MCP) servers that enables developers to create interactive AI agents with real-time bidirectional communication capabilities through WebSocket and SSE endpoints.Last updated -TypeScriptMIT License