Firefly Documentation Portal
  • Welcome to the Documentation Portal
  • Contacting Firefly support
  • User Guides
    • QuickStart Guide
      • Onboarding
      • Dashboard
      • FAQ
      • Glossary
        • IaC status
    • Exploring the Inventory
    • Compose: Generating new configuration
    • Navigating the IaC Explorer
    • Workflows
      • Guardrails
    • Integrations
      • Integrate your providers and tools
        • Integrate your data sources
          • Integrate PagerDuty
          • Integrate MongoDB Atlas
          • Integrate AWS
            • Integrate AWS using Terraform
            • Integrate AWS using CloudFormation
            • Upgrading AWS integration to event-driven
            • AWS Discovery Status
          • Integrate Google Cloud
            • Integrate Google Cloud using a service account key
            • Integrate Google Cloud using Terraform
            • Google Cloud Discovery Status
          • Integrate Kubernetes
          • Integrate Datadog
          • Integrate New Relic
          • Integrate Okta
          • Integrate GitHub service
          • Integrate Cloudflare
          • Integrate NS1
          • Integrate Microsoft Azure
            • Integrate Microsoft Azure using Terraform
            • Azure Discovery Status
          • Integrate HashiCorp Vault
        • Integrate your IaC remote states
          • Integrate Terraform Cloud
          • Integrate Terraform Enterprise
          • Integrate HashiCorp Consul
          • Integrate remote stacks in Google Cloud Storage
          • Integrate env0
        • Integrate your version control system
          • Integrate GitHub
          • Integrate GitLab
          • Integrate Bitbucket
            • Integrate Bitbucket Data Center
            • Integrate Bitbucket Cloud
          • Integrate AWS CodeCommit
          • Integrate Azure DevOps
        • Send Firefly notifications to your messaging tools
          • Send Firefly notifications to Slack
            • Send notifications to Slack using the Slack App
            • Sending notifications to Slack using a webhook
          • Send Firefly notifications to Microsoft Teams
          • Send Firefly notifications to Torq
          • Send Firefly notifications to webhooks
          • Send Firefly notifications to Opsgenie
          • Send Firefly notifications to PagerDuty
            • Integration Key
            • General Access REST API Key
          • Send Firefly notifications to Google Chat
        • Integrate project management tools
          • Integrate Jira
    • Governance
    • Event-Center
    • How-to Guides
      • Manage assets
        • Codify assets
          • Codify assets to Config Connector
          • Codify assets to Manifest
          • Codify assets to Helm
          • Codify assets to CDK8S
          • Codify assets to Terraform
          • Codify assets to Pulumi
          • Codify assets to CloudFormation
          • Codify assets to CDK
          • Codify assets to Crossplane
          • Codify assets to Ansible
        • Delete unmanaged assets
        • Fix drifts
        • Remove asset Terraform code
        • Excluded drifts
        • IaC-Ignored assets
      • Monitor events
      • Manage notifications
      • Manage user roles
    • Deep Dive articles
      • Disaster recovery
      • Drifts
      • Codification
      • Notifications
      • Governance
      • Event-driven
      • IaC-Ignored assets
  • Appendix
    • Migrating CloudFormation resources to Terraform
    • Terraform Cloud Run Tasks
    • Creating a key pair
    • SSO Configuration
    • Firefly API Documentation
    • Support Matrix
    • Data privacy and AI usage
  • Firefly MCP
  • Firefly Backstage Plugin
Powered by GitBook
On this page
  • Features
  • Prerequisites
  • Installation
  • Environment Variables
  • Usage
  • Stdio
  • Using with Cursor
  • Demo
  • Contributing
  • License

Was this helpful?

Firefly MCP

The Firefly MCP (Model Context Protocol) server is a TypeScript-based server that enables seamless integration with the Firefly platform. It allows you to discover, manage, and codify resources across your Cloud and SaaS accounts connected to Firefly.

Features

  • Resource Discovery: Find any resource in your Cloud and SaaS accounts

  • Resource Codification: Convert discovered resources into Infrastructure as Code

  • Secure Authentication: Uses FIREFLY_ACCESS_KEY and FIREFLY_SECRET_KEY for secure communication

  • Easy Integration: Works seamlessly with Claude and Cursor

Prerequisites

  • Node.js (v14 or higher)

  • npm or yarn

  • Firefly account with generated access keys

Installation

You can run the Firefly MCP server directly using NPX:

npx @fireflyai/firefly-mcp

Environment Variables

You can provide your Firefly credentials in two ways:

  1. Using environment variables:

FIREFLY_ACCESS_KEY=your_access_key FIREFLY_SECRET_KEY=your_secret_key npx @fireflyai/firefly-mcp
  1. Using arguments:

npx @fireflyai/firefly-mcp --access-key your_access_key --secret-key your_secret_key

Usage

Stdio

Update the mcp.json file with the following:

{
  "mcpServers": {
    "firefly": {
      "command": "npx",
      "args": ["-y", "@fireflyai/firefly-mcp"],
      "env": {
        "FIREFLY_ACCESS_KEY": "your_access_key",
        "FIREFLY_SECRET_KEY": "your_secret_key"
      }
    }
  }
}

Run the MCP server using one of the methods above with the following command:

npx @fireflyai/firefly-mcp --sse --port 6001

Update the mcp.json file with the following:

{
  "mcpServers": {
    "firefly": {
      "url": "http://localhost:6001/sse"
    }
  }
}

Using with Cursor

  1. Start the MCP server using one of the methods above

  2. Use natural language to query your resources

Example:

Prompt

Find all "ubuntu-prod" EC2 instance in 123456789012 AWS account and codify it into Terraform

Response

resource "aws_instance" "ubuntu-prod" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.micro"
}

Demo

Contributing

  1. Create your feature branch (git checkout -b feature/amazing-feature)

  2. Commit your changes (git commit -m 'feat: Add amazing feature')

  3. Push to the branch (git push origin feature/amazing-feature)

  4. Open a Pull Request

License

PreviousData privacy and AI usageNextFirefly Backstage Plugin

Last updated 1 month ago

Was this helpful?

Use the Cursor extension to connect to the MCP server - see

Fork the

This project is licensed under the MIT License - see the file for details.

Cursor Model Context Protocol documentation
Video
repository
LICENSE