GameCode MCP2
A Model Context Protocol (MCP) server for tool integration, configured using a tools.yaml file.
GameCode MCP2
A clean (and possibly naive) implementation of the Model Context Protocol (MCP) for tool integration.
Motivation - as few dependencies as possible, as simple and auditable a configuration as possible.
⚠️ Security Notice
MCP is early technology. Allowing LLMs to execute system commands is inherently risky. This implementation prioritizes auditability over features - you can read every line that processes LLM requests. Even so, proceed with caution. Only time will tell if MCP's approach is sound.
Key Features
- Direct tool exposure - Tools defined in
tools.yamlare exposed directly via MCP, not through meta-tools - Clean protocol implementation - Pure JSON-RPC 2.0 over stdio without external dependencies
- Dynamic tool loading - Configure tools via YAML without recompiling
- Built-in and external tools - Support for both internal handlers and external commands
Architecture
This workspace contains two crates:
mcp-server- The MCP server that loads tools fromtools.yamland exposes them via the protocolmcp-client- A client library for testing and integration
Usage
Running the Server
# Build the server
cargo build --release --bin gamecode-mcp2
# Create a tools.yaml file (see examples/tools.yaml)
cp examples/tools.yaml .
# Run the server (it communicates via stdio)
./target/release/gamecode-mcp2
Using with Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"gamecode": {
"command": "/path/to/gamecode-mcp2"
}
}
}
Using with gamecode-cli
The mcp-client crate can be used as a dependency in gamecode-cli for MCP integration.
Tool Configuration
Tools are defined in tools.yaml:
tools:
- name: my_tool
description: Description for the LLM
command: /path/to/command # or "internal" for built-in
args:
- name: param1
description: Parameter description
required: true
type: string
cli_flag: --param # null for positional
internal_handler: handler_name # for internal tools
Protocol
This implementation follows the MCP specification:
initialize- Handshake with clienttools/list- Returns all available toolstools/call- Execute a specific tool
Tools are exposed directly, not through meta-tools like "run".
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
MalwareBazaar MCP
Interface with Malware Bazaar to get real-time threat intelligence and sample metadata for cybersecurity research.
AppDeploy
AppDeploy lets you deploy a real, full-stack web app directly from an AI chat and turn your AI conversations into live apps, without leaving the chat or touching infrastructure.
Micronaut Fun
It exposes Micronaut framework documentation and guides as MCP resources, it offers tools to search the docs and prompts to help you write tests and perform tasks in an idiomatic way
Qase MCP Server
An MCP server for interacting with the Qase test management platform.
d2-mcp
Create, validate, and render diagrams from D2 (Declarative Diagramming) code into SVG and PNG formats.
Mastra/mcp
Client implementation for Mastra, providing seamless integration with MCP-compatible AI models and tools.
Raygun
Interact with your crash reporting and real using monitoring data on your Raygun account
MetaTrader 4
Integrate with the MetaTrader 4 trading platform to access trading functions and data via an HTTP bridge and Expert Advisor.
Dify Server
Integrates the Dify AI API to generate Ant Design business component code. Supports text, image inputs, and streaming responses.
HiGHS MCP Server
Provides linear programming (LP) and mixed-integer programming (MIP) optimization capabilities using the HiGHS solver.