I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

automcp
Bibliothèque pour le serveur MCP et le code client AutoGeener sur une base d'un schéma YAML spécifié
1
Github Watches
1
Github Forks
1
Github Stars
AutoMCP
AutoMCP is a code generator for the Model Context Protocol that automatically creates server and client code based on YAML service definitions.
This is a work in progress. The repo contains artifacts that will be removed when finalized for packaging for npm, pypl, etc.
Please refer to MCP Agent to have an idea of how you could use this in agentic workflows.
Features
- Generates MCP-compatible server code
- Generates client libraries for easy service consumption
- Creates handler stubs for implementing tool functionality
- Organizes code by service in dedicated directories
Getting Started
Prerequisites
- Node.js 18 or higher
- npm or yarn
Installation
- Clone this repository
- Install dependencies:
npm install
Usage
Defining a Service
Create a YAML file in the services/[service-name]/
directory with the following structure:
service:
name: ServiceName
version: 1.0.0
description: Description of your service
tools:
- name: toolName
description: Description of what the tool does
parameters:
- name: paramName
type: string
description: Description of the parameter
returns:
type: string
description: Description of what the tool returns
Generating Code
Run the generator script:
./bin/automcp.sh generate
This will:
- Create server code in
generated/[service-name]/[service-name]_server.ts
- Create client code in
generated/[service-name]/[service-name]_client.ts
- Create handler stubs in
src/custom/[service-name]/[tool-name]Handlers.ts
Implementing Handlers
Edit the generated handler files in src/custom/[service-name]/
to implement your tool functionality.
Using the Generated Clients
import { ServiceNameClient } from "./generated/service-name/service_name_client.js";
async function main() {
const client = new ServiceNameClient();
try {
await client.connect();
// Call a tool
const result = await client.toolName({ paramName: "value" });
console.log(result);
} finally {
await client.disconnect();
}
}
main().catch(console.error);
Example
See the examples/client_example.ts
file for a complete example of using the generated clients.
Testing
Use the test script to verify the functionality of your services:
./bin/test-service.sh [service-name]
Temporary Directory Structure (will be improved for packaging)
.
├── bin/ # Scripts
├── examples/ # Example usage
├── generated/ # Generated code
│ ├── service-name/ # Service-specific generated code
│ │ ├── service_name_server.ts
│ │ └── service_name_client.ts
├── services/ # Service definitions
│ └── service-name/ # Service-specific YAML files
├── src/ # Source code
│ ├── custom/ # Custom handler implementations
│ │ └── service-name/ # Service-specific handlers
│ │ └── toolHandlers.ts
│ └── generator.ts # Code generator
└── templates/ # Code templates
├── client.ts.ejs # Client template
└── server.ts.ejs # Server template
Future Plans
- Support for multiple programming languages
- Add custom typing so schemas do not drift from generated code
- Integration with existing MCP solutions
- Implement with prompts and resource mechanisms
- Enhanced composition mechanisms for complex tool chains
License
MIT
相关推荐
I find academic articles and books for research and literature reviews.
Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.
Confidential guide on numerology and astrology, based of GG33 Public information
Emulating Dr. Jordan B. Peterson's style in providing life advice and insights.
Your go-to expert in the Rust ecosystem, specializing in precise code interpretation, up-to-date crate version checking, and in-depth source code analysis. I offer accurate, context-aware insights for all your Rust programming questions.
Advanced software engineer GPT that excels through nailing the basics.
Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.
L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.
Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX
Plateforme d'automatisation de workflow à code équitable avec des capacités d'IA natives. Combinez le bâtiment visuel avec du code personnalisé, de l'auto-hôte ou du cloud, 400+ intégrations.
🧑🚀 全世界最好的 LLM 资料总结 (数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Résumé des meilleures ressources LLM du monde.
Une liste organisée des serveurs de protocole de contexte de modèle (MCP)
Reviews

user_B8EncOrh
I've been using the Remote MCP Server on Cloudflare by juramaia-ai, and it has greatly improved my workflow. The integration is seamless and the performance is outstanding. I appreciate the reliability and security it offers, making remote management very efficient. Highly recommend to anyone looking for a robust server solution!