mcp_server_generator

by Sumedh1599

345 downloads
Not rated
GitHub

About

Automatically generates a full MCP server codebase (Node/Python/Java) using the validated schema, outputting modular files for CLI-based execution or Claude Desktop connection.

Details

Author
Sumedh1599
Downloads
345
Categories
Developer Tools, AI

- Multi-language support: TypeScript, Python, and Java.
- Generates tools, resources, prompts, and transports.
- Outputs a modular, easy-to-navigate codebase.
- Provides a fully functional server with minimal configuration.
- Ensured compatibility with Claude Desktop integration.
- Follows SDK-compliant directory structure standards.

Install via npm (npm install mcp_server_generator --save-dev), pip (pip install mcp-server-generator), or Maven (add dependency to pom.xml). Then call the generateServer (Node/Java) or generate_server (Python) function with your schema, target language ('node', 'python', or 'java'), and an output directory path.

mcp_server_generator

Introduction

mcp_server_generator is an open-source library designed to automatically generate a full MCP server codebase in Node.js, Python, or Java using a validated schema. The generated server includes modular files that are ready for CLI-based execution or integration with Claude Desktop. This tool ensures that developers can focus on their application logic while the generator handles the boilerplate code and best practices.

Features

- Multi-Language Support: Supports TypeScript (Node.js), Python, and Java output.
- Tool Creation: Generates essential tools, resources, prompts, and transports necessary for your server.
- Modular Codebase: Outputs a structured, modular codebase that is easy to navigate and extend.
- Ready-to-Run Server: Provides a fully functional server setup with minimal configuration required.
- Claude Desktop Compatibility: Ensures the generated structure is compatible with Claude Desktop integration.
- SDK-Compliant Directory Structure: Follows SDK-compliant best practices for directory organization.

Installation Instructions

Node.js (TypeScript)

To install mcp_server_generator in a TypeScript project, use npm:

npm install mcp_server_generator --save-dev

Python

For Python projects, you can install the library using pip:

pip install mcp-server-generator

Java

In your Java project, add the following dependency to your pom.xml if you are using Maven:

<dependency>
    <groupId>com.github.yourusername</groupId>
    <artifactId>mcp_server_generator</artifactId>
    <version>1.0.0</version>
</dependency>

Ensure you have the correct repository configured in your pom.xml if it's hosted on a custom Maven server.

Usage Examples

Node.js (TypeScript)

import { generateServer } from 'mcp_server_generator';

const schema = {
// Your validated schema here
};

generateServer(schema, 'node', './output')
.then(() => console.log('Server generated successfully!'))
.catch(err => console.error('Error generating server:', err));

Python

from mcp_server_generator import generate_server

schema = {
# Your validated schema here
}

generate_server(schema, 'python', './output')
print("Server generated successfully!")

Java

import com.github.yourusername.mcp_server_generator.McpServerGenerator;

public class Main {
public static void main(String[] args) {
try {
Map<String, Object> schema = new HashMap();
// Populate your validated schema here

McpServerGenerator.generateServer(schema, "java", "./output");
System.out.println("Server generated successfully!");
} catch (Exception e) {
System.err.println("Error generating server: " + e.getMessage());
}
}
}

API Documentation

generateServer Function

Node.js/TypeScript

generateServer(schema: object, language: 'node' | 'python' | 'java', outputDir: string): Promise<void>

- schema: The validated schema to be used for generating the server.
- language: The target programming language (node, python, or java).
- outputDir: The directory where the generated files will be placed.

Python

generate_server(schema: dict, language: str, output_dir: str) -> None

- schema: A dictionary representing the validated schema.
- language: The target programming language (node, python, or java).
- output_dir: A string specifying the directory for generated files.

Java

public static void generateServer(Map<String, Object> schema, String language, String outputDir) throws Exception

- schema: A map containing the validated schema.
- language: The target programming language (node, python, or java).
- outputDir: The directory where the generated files will be placed.

License

This project is licensed under the MIT License. See the LICENSE file for details.

---

Feel free to contribute to this library and make it better!

⚠️ Development Status

This library is currently in early development. Some tests may be failing with the following issues:


Contributions to fix these issues are welcome! Please submit a pull request if you have a solution.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.