pulumi-example-gen-mcp

corymhall/pulumi-example-gen-mcp

3.2

If you are the rightful owner of pulumi-example-gen-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Pulumi Example Gen MCP Server is a tool designed to generate complete constructor examples with placeholder values for Pulumi resources.

Pulumi Example Gen MCP Server

MPC server for generating complete constructor examples with placeholder values for Pulumi resources.

Install

go install github.com/corymhall/pulumi-example-gen-mcp@latest

Configuration

{
  "mcpServers": {
    "pulumi-example-gen": {
      "command": "pulumi-example-gen-mcp",
    }
  }
}

Example Output

For the aws.s3.Bucket resource this will generate an example like this:

TypeScript
const bucketResource = new aws.s3.Bucket("bucketResource", {
    accelerationStatus: "string",
    acl: "string",
    bucket: "string",
    bucketPrefix: "string",
    corsRules: [{
        allowedMethods: ["string"],
        allowedOrigins: ["string"],
        allowedHeaders: ["string"],
        exposeHeaders: ["string"],
        maxAgeSeconds: 0,
    }],
    forceDestroy: false,
    grants: [{
        permissions: ["string"],
        type: "string",
        id: "string",
        uri: "string",
    }],
    lifecycleRules: [{
        enabled: false,
        abortIncompleteMultipartUploadDays: 0,
        expiration: {
            date: "string",
            days: 0,
            expiredObjectDeleteMarker: false,
        },
        id: "string",
        noncurrentVersionExpiration: {
            days: 0,
        },
        noncurrentVersionTransitions: [{
            storageClass: "string",
            days: 0,
        }],
        prefix: "string",
        tags: {
            string: "string",
        },
        transitions: [{
            storageClass: "string",
            date: "string",
            days: 0,
        }],
    }],
    logging: {
        targetBucket: "string",
        targetPrefix: "string",
    },
    objectLockConfiguration: {},
    objectLockEnabled: false,
    policy: "string",
    region: "string",
    replicationConfiguration: {
        role: "string",
        rules: [{
            destination: {
                bucket: "string",
                accessControlTranslation: {
                    owner: "string",
                },
                accountId: "string",
                metrics: {
                    minutes: 0,
                    status: "string",
                },
                replicaKmsKeyId: "string",
                replicationTime: {
                    minutes: 0,
                    status: "string",
                },
                storageClass: "string",
            },
            status: "string",
            deleteMarkerReplicationStatus: "string",
            filter: {
                prefix: "string",
                tags: {
                    string: "string",
                },
            },
            id: "string",
            prefix: "string",
            priority: 0,
            sourceSelectionCriteria: {
                sseKmsEncryptedObjects: {
                    enabled: false,
                },
            },
        }],
    },
    requestPayer: "string",
    serverSideEncryptionConfiguration: {
        rule: {
            applyServerSideEncryptionByDefault: {
                sseAlgorithm: "string",
                kmsMasterKeyId: "string",
            },
            bucketKeyEnabled: false,
        },
    },
    tags: {
        string: "string",
    },
    versioning: {
        enabled: false,
        mfaDelete: false,
    },
    website: {
        errorDocument: "string",
        indexDocument: "string",
        redirectAllRequestsTo: "string",
        routingRules: "string",
    },
});
Go
_, err := s3.NewBucket(ctx, "bucketResource", &s3.BucketArgs{
        AccelerationStatus: pulumi.String("string"),
        Acl:                pulumi.String("string"),
        Bucket:             pulumi.String("string"),
        BucketPrefix:       pulumi.String("string"),
        CorsRules: s3.BucketCorsRuleArray{
                &s3.BucketCorsRuleArgs{
                        AllowedMethods: pulumi.StringArray{
                                pulumi.String("string"),
                        },
                        AllowedOrigins: pulumi.StringArray{
                                pulumi.String("string"),
                        },
                        AllowedHeaders: pulumi.StringArray{
                                pulumi.String("string"),
                        },
                        ExposeHeaders: pulumi.StringArray{
                                pulumi.String("string"),
                        },
                        MaxAgeSeconds: pulumi.Int(0),
                },
        },
        ForceDestroy: pulumi.Bool(false),
        Grants: s3.BucketGrantArray{
                &s3.BucketGrantArgs{
                        Permissions: pulumi.StringArray{
                                pulumi.String("string"),
                        },
                        Type: pulumi.String("string"),
                        Id:   pulumi.String("string"),
                        Uri:  pulumi.String("string"),
                },
        },
        LifecycleRules: s3.BucketLifecycleRuleArray{
                &s3.BucketLifecycleRuleArgs{
                        Enabled:                            pulumi.Bool(false),
                        AbortIncompleteMultipartUploadDays: pulumi.Int(0),
                        Expiration: &s3.BucketLifecycleRuleExpirationArgs{
                                Date:                      pulumi.String("string"),
                                Days:                      pulumi.Int(0),
                                ExpiredObjectDeleteMarker: pulumi.Bool(false),
                        },
                        Id: pulumi.String("string"),
                        NoncurrentVersionExpiration: &s3.BucketLifecycleRuleNoncurrentVersionExpirationArgs{
                                Days: pulumi.Int(0),
                        },
                        NoncurrentVersionTransitions: s3.BucketLifecycleRuleNoncurrentVersionTransitionArray{
                                &s3.BucketLifecycleRuleNoncurrentVersionTransitionArgs{
                                        StorageClass: pulumi.String("string"),
                                        Days:         pulumi.Int(0),
                                },
                        },
                        Prefix: pulumi.String("string"),
                        Tags: pulumi.StringMap{
                                "string": pulumi.String("string"),
                        },
                        Transitions: s3.BucketLifecycleRuleTransitionArray{
                                &s3.BucketLifecycleRuleTransitionArgs{
                                        StorageClass: pulumi.String("string"),
                                        Date:         pulumi.String("string"),
                                        Days:         pulumi.Int(0),
                                },
                        },
                },
        },
        Logging: &s3.BucketLoggingTypeArgs{
                TargetBucket: pulumi.String("string"),
                TargetPrefix: pulumi.String("string"),
        },
        ObjectLockConfiguration: &s3.BucketObjectLockConfigurationTypeArgs{},
        ObjectLockEnabled:       pulumi.Bool(false),
        Policy:                  pulumi.Any("string"),
        Region:                  pulumi.String("string"),
        ReplicationConfiguration: &s3.BucketReplicationConfigurationArgs{
                Role: pulumi.String("string"),
                Rules: s3.BucketReplicationConfigurationRuleArray{
                        &s3.BucketReplicationConfigurationRuleArgs{
                                Destination: &s3.BucketReplicationConfigurationRuleDestinationArgs{
                                        Bucket: pulumi.String("string"),
                                        AccessControlTranslation: &s3.BucketReplicationConfigurationRuleDestinationAccessControlTranslationArgs{
                                                Owner: pulumi.String("string"),
                                        },
                                        AccountId: pulumi.String("string"),
                                        Metrics: &s3.BucketReplicationConfigurationRuleDestinationMetricsArgs{
                                                Minutes: pulumi.Int(0),
                                                Status:  pulumi.String("string"),
                                        },
                                        ReplicaKmsKeyId: pulumi.String("string"),
                                        ReplicationTime: &s3.BucketReplicationConfigurationRuleDestinationReplicationTimeArgs{
                                                Minutes: pulumi.Int(0),
                                                Status:  pulumi.String("string"),
                                        },
                                        StorageClass: pulumi.String("string"),
                                },
                                Status:                        pulumi.String("string"),
                                DeleteMarkerReplicationStatus: pulumi.String("string"),
                                Filter: &s3.BucketReplicationConfigurationRuleFilterArgs{
                                        Prefix: pulumi.String("string"),
                                        Tags: pulumi.StringMap{
                                                "string": pulumi.String("string"),
                                        },
                                },
                                Id:       pulumi.String("string"),
                                Prefix:   pulumi.String("string"),
                                Priority: pulumi.Int(0),
                                SourceSelectionCriteria: &s3.BucketReplicationConfigurationRuleSourceSelectionCriteriaArgs{
                                        SseKmsEncryptedObjects: &s3.BucketReplicationConfigurationRuleSourceSelectionCriteriaSseKmsEncryptedObjectsArgs{
                                                Enabled: pulumi.Bool(false),
                                        },
                                },
                        },
                },
        },
        RequestPayer: pulumi.String("string"),
        ServerSideEncryptionConfiguration: &s3.BucketServerSideEncryptionConfigurationTypeArgs{
                Rule: &s3.BucketServerSideEncryptionConfigurationRuleArgs{
                        ApplyServerSideEncryptionByDefault: &s3.BucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultArgs{
                                SseAlgorithm:   pulumi.String("string"),
                                KmsMasterKeyId: pulumi.String("string"),
                        },
                        BucketKeyEnabled: pulumi.Bool(false),
                },
        },
        Tags: pulumi.StringMap{
                "string": pulumi.String("string"),
        },
        Versioning: &s3.BucketVersioningTypeArgs{
                Enabled:   pulumi.Bool(false),
                MfaDelete: pulumi.Bool(false),
        },
        Website: &s3.BucketWebsiteArgs{
                ErrorDocument:         pulumi.String("string"),
                IndexDocument:         pulumi.String("string"),
                RedirectAllRequestsTo: pulumi.String("string"),
                RoutingRules:          pulumi.String("string"),
        },
})