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
Remote MCP Server Authless Test
An example of deploying a remote MCP server on Cloudflare Workers without authentication.
ActionKit MCP Starter
A demonstration server for ActionKit, providing access to Slack actions via Claude Desktop.
Generic API MCP Server
A generic server to interact with any REST API, allowing you to query data, create items, and call methods.
Text-To-GraphQL
MCP server for text-to-graphql, integrates with Claude Desktop and Cursor.
Paraview_MCP
An autonomous agent that integrates large language models with ParaView for creating and manipulating scientific visualizations using natural language and visual inputs.
trace-mcp
Framework-aware code intelligence server that builds a cross-language dependency graph from source code — 53 framework integrations across 68 languages, 100+ tools for navigation, impact analysis, refactoring, and session memory with up to 97% token reduction.
Figma → Vue Design System
A Vue 3 component library with automated design token synchronization from Figma.
Tekion Persona Loader
Loads AI persona definitions from a GitLab repository.
MCP Config Generator
A web tool for safely adding MCP servers to your Claude Desktop configuration.
QGIS
connects QGIS Desktop to Claude AI through the MCP. This integration enables prompt-assisted project creation, layer loading, code execution, and more.