Skip to main content
Glama
Code Generator MCP Server

Code Generator MCP Server

by remiehneppo

Code Generator MCP Template Server

An MCP (Model Context Protocol) server built using Python's FastMCP framework. It exposes 4 precise, structured code-generation tools backed by prompt templates to generate production-grade, parsed code using local or cloud-based OpenAI-compatible APIs (such as llama-server, qwen-coder, coder-expert, or OpenAI's API).

πŸš€ Features

Exposes 4 key MCP tools that use structured templates to instruct the model to think step-by-step and produce clean, executable code:

  1. generate_standard_function (Template 1): Generates a standalone function based on constraints, edge cases, test cases, and external integration notes.

  2. generate_codebase_context (Template 2): Generates a function that respects and integrates with existing codebase structures and dependencies.

  3. generate_bugfix_refactor (Template 3): Focuses on refactoring or repairing current buggy implementations based on problem descriptions and test expectations.

  4. generate_multi_function_module (Template 4): Generates a multi-function module, validating that there are no circular dependencies or undefined functions.

βš™οΈ Parser & Guardrails

  • Markdown Stripper: Automatic code parsing (extract_code_from_response) strips any markdown code blocks (```python) generated by instruct models, guaranteeing only raw executable code is returned.

  • Reasoning Fallback: Correctly handles DeepSeek-style reasoning models or llama-server configurations where all output is redirected into the reasoning_content field instead of content.

  • Max Tokens Guardrail: Enforces a 2048 token limit per request to prevent local model reasoning loops and timeouts.


Related MCP server: opencode-mcp-bridge

πŸ› οΈ Configuration

Configure the server using command-line arguments or environment variables:

Setting

CLI Argument

Environment Variable

Default Value

Description

API URL

--api-url

CODE_GEN_API_URL / OPENAI_BASE_URL

https://api.openai.com/v1

OpenAI-compatible endpoint

Model

--model

CODE_GEN_MODEL / OPENAI_MODEL

gpt-4o

The model name to target

API Key

--api-key

CODE_GEN_API_KEY / OPENAI_API_KEY

(Empty)

API token (optional for local endpoints)

WARNING

For security reasons, do not pass--api-key via command-line arguments as it will be visible in plain text in the host process table. Use the environment variables instead.


πŸ“¦ Installation & Setup

You can install and configure the server either automatically using the installation script or manually via Python.

The project includes an install.sh script that automatically builds a standalone executable using PyInstaller, installs it to ~/.local/bin/code-generator-mcp, and configures your target AI coding agent.

  1. Run the script and specify your target agent:

    chmod +x install.sh
    ./install.sh <agent_type>

    Supported <agent_type> values:

    • claude-desktop (Claude Desktop global configuration)

    • claude-code (Claude CLI global configuration at ~/.claude.json)

    • cursor (Cursor editor global config at ~/.cursor/mcp.json)

    • codex (Codex agent global config at ~/.codex/config.toml)

    • github-copilot (VS Code workspace-specific config at .vscode/mcp.json)

    • windsurf (Windsurf IDE configuration at ~/.codeium/windsurf/mcp_config.json)

    • zed (Zed editor config at ~/.config/zed/settings.json)

    • agy (Antigravity settings config at ~/.gemini/settings.json)

  2. (Optional) Customize the endpoint and model in the agent's configuration file or environment variables after installation.


Option 2: Manual Setup via Python

Prerequisites

  • Python 3.10+

  • Dependencies installed in virtual environment:

    python -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt

Running Locally

To run the MCP server directly over standard input/output (stdio):

python src/code_generator_mcp/server.py --api-url http://localhost:8008/v1 --model coder-expert

Testing during development

You can use mcp dev (from MCP CLI) to test the server interactively in a development UI:

mcp dev src/code_generator_mcp/server.py -- --api-url http://localhost:8008/v1 --model coder-expert

πŸ”Œ Integration Setup

To manually use this server with your favorite MCP client (like Claude Desktop or Cursor):

Claude Desktop Configuration

Open your Claude Desktop config file (usually located at ~/.config/Claude/claude_desktop_config.json on Linux/macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows) and add the following entry:

{
  "mcpServers": {
    "code-generator-mcp": {
      "command": "/path/to/project/.venv/bin/python",
      "args": [
        "/path/to/project/src/code_generator_mcp/server.py"
      ],
      "env": {
        "CODE_GEN_API_URL": "http://localhost:8008/v1",
        "CODE_GEN_MODEL": "coder-expert"
      }
    }
  }
}

πŸ§ͺ Testing

The codebase includes a fully-featured unit and integration test suite using pytest. Run tests with:

.venv/bin/pytest

Available Tools

5 tools
generate_bugfix_refactorC

Generate fixed or refactored code (Template 3) using coder expert model.

If generate_test_file is True, it will co-generate a matching unit test suite.

IMPORTANT: All parameters (such as 'task', 'problem', 'expected_behavior', 'constraints', etc.) MUST be provided in English. If the user's prompt or request is in Vietnamese or another language, the calling agent must automatically translate the text of these parameter values into English before invoking this tool.

Inputs: problem (required), language (required), test_cases (required), current_code (required), +4 more. Returns: result

generate_codebase_contextC

Generate code for a function with codebase context (Template 2) using coder expert model.

If generate_test_file is True, it will co-generate a matching unit test suite.

IMPORTANT: All parameters (such as 'task', 'description', 'constraints', etc.) MUST be provided in English. If the user's prompt or request is in Vietnamese or another language, the calling agent must automatically translate the text of these parameter values into English before invoking this tool.

Inputs: task (required), language (required), signature (required), test_cases (required), +5 more. Returns: result

generate_multi_function_moduleB

Generate code for a multi-function module (Template 4) using coder expert model.

If generate_test_file is True, it will co-generate a matching unit test suite.

IMPORTANT: All parameters (such as 'task', 'module_purpose', 'context', 'functions' list with its descriptions/constraints, etc.) MUST be provided in English. If the user's prompt or request is in Vietnamese or another language, the calling agent must automatically translate the text of these parameter values into English before invoking this tool.

Inputs: task (required), language (required), functions (required), test_cases (required), +6 more. Returns: result

generate_standard_functionC

Generate code for a standard function spec (Template 1) using coder expert model.

If generate_test_file is True, it will co-generate a matching unit test suite.

IMPORTANT: All parameters (such as 'task', 'description', 'constraints', 'edge_cases', etc.) MUST be provided in English. If the user's prompt or request is in Vietnamese or another language, the calling agent must automatically translate the text of these parameter values into English before invoking this tool.

Inputs: task (required), language (required), signature (required), test_cases (required), +7 more. Returns: result

run_project_testsA

Automatically detects and runs the project's test suite, returning the command's stdout and stderr. Can be used by the AI to verify correct behavior of generated code.

If 'custom_command' is provided, it runs that command line instead of auto-detecting.

Inputs: custom_command. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 5 tools

    Disambiguation4/5

    The four generate_* tools map to distinct templates/scenarios (standard function, codebase-aware function, bugfix/refactor, multi-function module), so an agent can usually pick correctly. However, generate_standard_function and generate_codebase_context both produce a single function and differ only by whether codebase context is used, which could cause occasional misselection.

    Naming Consistency5/5

    All names use snake_case with a consistent verb_noun pattern (generate_* plus run_project_tests). The generate_* family is predictable and self-describing.

    Tool Count5/5

    Five tools is well-scoped for a code-generation server: four generation templates plus a test runner, each earning its place. No redundant or filler tools.

    Completeness4/5

    The surface covers code generation across common scenarios and test execution/verification, with test suites co-generated. Minor gaps exist around applying/writing generated code back to disk or editing existing files, but core workflows are covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers