1. Conduid
  2. Developer Tools
  3. Pulumi Example Gen MCP
MCP server · Developer Tools

Pulumi Example Gen MCP

MCP Server that generates resource constructor examples

Unclaimed last commit a year ago devtools
41Fair

Scored 5 months ago · breakdown

About Pulumi Example Gen MCP

Pulumi Example Gen MCP is an MCP server published by corymhall in the Developer Tools category: mCP Server that generates resource constructor examples.

The repository has 2 stars and 0 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/corymhall/pulumi-example-gen-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Pulumi Example Gen MCP

Powered by Claude · Grounded in docs

I know everything about Pulumi Example Gen MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • !License declaredNo license file. Legally you have no right to use it in a product.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

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:

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",
    },
});
_, 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"),
        },
})

README fetched from the repository 7 days ago. The original is authoritative.

Questions

About Pulumi Example Gen MCP

How do I install Pulumi Example Gen MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Pulumi Example Gen MCP safe to use with an AI agent?

Its trust score is 41 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Pulumi Example Gen MCP still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.