Agent8 MCP Server
Powers AI functionality for generating or processing code examples, such as embeddings for vector search.
Provides vector database storage and retrieval for code examples used in Agent8 game development.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Agent8 MCP Serversearch for code examples about sprite movement"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server for Agent8
A server implementing the Model Context Protocol (MCP) to support Agent8 SDK development. Developed with TypeScript and pnpm, supporting stdio and SSE 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-sdkprompt template.
Tools
Code Examples Search: Retrieves relevant Agent8 game development code examples from a vector database using the
search_code_examplestool.
Related MCP server: Coding Agent MCP Server
Installation
# Install dependencies
pnpm install
# Build
pnpm buildUsing Docker
You can run this application using Docker in several ways:
Option 1: Pull from GitHub Container Registry (Recommended)
# 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:latestOption 2: Build Locally
# 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-serverDocker Environment Configuration
There are three ways to configure environment variables when running with Docker:
Using
--env-file(Recommended):# Create and configure your .env file first cp .env.example .env nano .env # Run with .env file docker run -p 3000:3000 --env-file .env agent8-mcp-serverUsing individual
-eflags: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-serverUsing Docker Compose (for development/production setup):
The project includes a pre-configured
docker-compose.ymlfile 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:
docker compose upTo run in detached mode:
docker compose up -d
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
# View help
pnpm start --help
# View version information
pnpm start --versionSupported options:
--debug: Enable debug mode--transport <type>: Transport type (stdio or sse), default: stdio--port <number>: Port to use for SSE 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
.envfile in the project root (see.env.examplefor reference):
# Copy the example file
cp .env.example .env
# Edit the .env file with your settings
nano .envRun the server (it will automatically load the
.envfile):
pnpm startOr specify a custom path to the
.envfile:
pnpm start --env-file=/path/to/custom/.envConfiguration Priority
The server uses the following priority order when determining configuration values:
Command line arguments (highest priority)
Environment variables (from
.envfile 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 or sse) | 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 |
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) |
Using Stdio Transport
# Build and run
pnpm build
pnpm start --transport=stdioUsing SSE Transport
# Build and run (default port: 3000)
pnpm build
pnpm start --transport=sse --port=3000Debug Mode
# Run in debug mode
pnpm start --debugAvailable Prompts
systemprompt-agent8-sdk
Client Integration
Using with Claude Desktop
Add the following to Claude Desktop configuration file (
claude_desktop_config.json):
{
"mcpServers": {
"Agent8": {
"command": "npx",
"args": ["--yes", "agent8-mcp-server"]
}
}
}Restart Claude Desktop
Adding New Prompts
Add new prompts to the registerSamplePrompts method in the src/prompts/provider.ts file.
License
MIT
Available Tools
1 toolsearch_code_examplesA
Searches and retrieves relevant game development code examples from a vector database based on specific game development requirements or programming challenges. This tool performs semantic search to find code snippets and examples that match the user's game development needs. It analyzes both the user message and associated tags to identify the most appropriate game code examples from the database. [WHEN TO USE THIS TOOL] You should use this tool whenever the user asks about game implementation details, game programming patterns, specific game feature implementations, or requests examples of how to implement something in game development. USE THIS TOOL if the user mentions specific game programming tasks, asks "how do I code X in my game", or needs reference implementations for game mechanics, rendering, physics, AI, or other game-specific systems. The results are returned in a structured format containing game client code, game server code, and descriptive explanations when available. The userMessage parameter should include detailed context about the game programming challenge or implementation requirement, while the tags parameter should specify relevant game engines, frameworks, or concepts to narrow the search scope. Note: This tool does not generate complete games but rather provides existing code snippets and examples that address specific game implementation challenges. The quality of search results heavily depends on the clarity and specificity of the provided user message and tags. Examples typically demonstrate solutions to common game implementation problems and can be used as reference material for your own game development work. Common scenarios where this tool is useful include: 1) When a user asks "How do I implement character movement in Unity?", 2) When they need examples of game state management for specific operations, 3) When they want to see how others have implemented a specific game UI component, 4) When they need patterns for game networking, 5) When they request code for handling specific game physics edge cases. IMPORTANT: You should proactively offer to search for game code examples whenever a user is discussing game implementation details or asking how to build something in a game, even if they don't explicitly request examples. Always prefer showing existing, tested game code examples over generating new code when possible. If you are uncertain whether relevant game code examples exist for a user's question, it is better to use this tool and check rather than assume none are available. Even partial matches can provide valuable game implementation insights to users.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | Yes | An array of specific keywords, game engines, frameworks, or game programming concepts that help narrow down the search. ALL TAGS MUST BE IN ENGLISH ONLY. Always include both general game technology categories (e.g., "Unity", "Unreal Engine") AND specific game concepts (e.g., "character controller", "collision detection") relevant to the query. If the user mentions any game technologies, ALWAYS include them as tags. Commonly useful tags include: "Unity", "Unreal Engine", "Godot", "Phaser", "game physics", "game AI", "pathfinding", "animation", "game networking", "procedural generation", "particle systems", "game UI", "state management", "input handling", etc. Each tag should be a string that precisely identifies a game technology (e.g., "Unity", "Unreal Engine", "WebGL"), a game programming concept (e.g., "physics", "AI", "rendering"), or a specific game feature (e.g., "character controller", "inventory system", "dialog system"). Tags are used to filter the vector database search and improve the relevance of returned game examples. Include both broad and specific tags to ensure comprehensive results. | |
| userMessage | Yes | A detailed description of the game programming problem or implementation challenge that requires code examples. THIS MUST BE PROVIDED IN ENGLISH ONLY. Extract the core game implementation requirements from the user's query, focusing on what they're trying to build or implement in their game. This should include context about what the user is trying to accomplish, specific technical requirements, game engines or technologies being used, and any constraints or edge cases that need to be addressed. The more specific and detailed this description is, the more relevant the returned game code examples will be. Examples of good messages include explaining a complex game mechanic integration, describing a game UI component behavior, detailing a game physics simulation, or requesting help with game AI implementation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure and does a strong job. It discloses limitations ('does not generate complete games'), output format ('structured format containing game client code, game server code, and descriptive explanations'), and factors affecting quality (clarity of userMessage and tags). Minor omissions like rate limits or error behavior prevent a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly verbose and repetitive, with redundant statements about when to use the tool and the importance of search quality. While it is structured with sections, many sentences do not earn their place, making it less concise than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no sibling tools, the description provides comprehensive context: it explains return format, limitations, scenarios, and proactive usage. It covers both what the tool does and how to best leverage it, making it contextually complete for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with detailed descriptions for both parameters, including usage guidance and examples. The description briefly reiterates that userMessage should be detailed and tags should narrow scope, but adds marginal semantic value beyond the schema. Per the baseline for high schema coverage, 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool 'searches and retrieves relevant game development code examples from a vector database' with a specific verb and resource. It clarifies the semantic search nature and the type of content returned, leaving no ambiguity about purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes an explicit '[WHEN TO USE THIS TOOL]' section with detailed scenarios, specific examples, and proactive guidance to search even when not explicitly requested. It clearly defines when to prefer this tool over generating new code, which is excellent usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Only one tool exists, so there is no possibility of ambiguity or misselection. The single tool has a clearly defined purpose of searching for code examples.
The tool name 'search_code_examples' follows the conventional snake_case verb_noun pattern. With only one tool, there are no naming inconsistencies to assess.
A single tool feels slightly thin, but the server is purpose-built for one specific task: searching code examples. This narrow scope justifies having only one tool.
The tool fully covers the stated domain of retrieving relevant game development code examples. There are no obvious missing operations for this narrow purpose.
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 Connectors
The documentation, as a tool your agent can call: 950+ AI-dev guides. Search + fetch tools.
Search NVIDIA CUDA documentation and code samples from AI coding agents.
Search, fetch (with provenance), scan, and convert AI instruction files for agents.
Search @imqueue docs and scaffold typed services & clients from your AI coding agent.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables access to agent instruction files and prompts for AI development workflows. Provides tools to retrieve and list development rules, security checks, and common prompts from an agents library through MCP protocol.3Apache 2.0
- AlicenseBqualityBmaintenanceProvides coding agent capabilities including file operations, terminal commands, search functionality, and utility operations.27175MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search code by meaning, explore codebase structure, store and query knowledge with temporal facts, and read source code through a set of MCP tools.4817MIT
- AlicenseAqualityDmaintenanceProvides access to Agno framework documentation for AI agents, enabling search and retrieval of SDK references, API endpoints, code examples, and integration guides through MCP-compatible tools.73MIT
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/longfin/mcp-agent8-o'
If you have feedback or need assistance with the MCP directory API, please join our Discord server