LogoLogo
  • Welcome to Firefly Documentation
  • Introduction
    • What is Firefly?
    • Who is Firefly for?
    • Why use Firefly?
    • Terminology (Glossary)
  • Key Features
    • Infrastructure-as-Code Automation
    • Cloud Asset Inventory
    • Drift Detection & Remediation
    • Policy-as-Code for Compliance & Governance
    • Cost Visibility & Optimization
    • AI Assistant
    • ChatOps Integration
  • Getting Started
    • Account Setup & Onboarding
    • Connecting Cloud Accounts
    • UI Walkthrough & Navigation
    • First Steps in Firefly
  • Detailed Guides
    • Dashboard Overview
    • Cloud Asset Inventory
      • Remediating Drifts
      • Deleting Assets
      • Creating IaC-Ignore Rules
      • Creating Exclude-Drift Rules
    • Policy & Governance
      • Creating Policy-as-Code Governance Rules
      • Remediating Policy Violations
    • Workflows & Guardrails
      • Creating Workflows
      • Creating Guardrail Rules
    • Codification
    • Self-Service
    • IaC Explorer
    • Event Center
    • Backup and Disaster Recovery
    • Notifications
    • User Management
    • SSO Configuration
  • Integrations
    • Integrations Overview
    • Integrating Data Sources
      • AWS
      • Azure
      • Google Cloud
      • Kubernetes
      • Akamai
      • Datadog
      • New Relic
      • Okta
      • GitHub
      • Cloudflare
      • NS1
      • PagerDuty
      • MongoDB Atlas
      • HashiCorp Vault
    • Integrating IaC Remote State
      • Terraform Cloud
      • Google Cloud Storage
      • env0
      • HashiCorp Consul
      • Firefly States Redactor
    • Integrating Version Control
      • GitHub
      • GitLab
      • Azure DevOps
      • CodeCommit
      • Bitbucket
    • Integrating Notifications
      • Slack
      • Microsoft Teams
      • PagerDuty
      • Opsgenie
      • Torq
      • Webex
      • Google Chat
      • Webhook
    • Integrating Project Management
      • Jira
      • ServiceNow
    • Integrating Workflows with CI/CD
    • Integrating Backstage
    • Integrating MCP
  • Use Cases & Best Practices
    • Cloud Governance & Visibility
    • Cost Optimization Strategies
    • Compliance and Security Best Practices
    • Infrastructure Automation & Self-Service
    • Best Practices and Implementation Tips
  • Analytics & Reporting
    • Analytics Dashboard Overview
    • Using Analytics for Improvement
    • Exporting and Sharing Reports
    • Analytics Security and Privacy
  • Code Snippets & Examples
    • Terraform Snippet for an AWS EC2 Instance (Codified via Firefly)
    • Example Rego Policy (OPA) for a Custom Rule
    • GitHub Actions Workflow YAML for Firefly Integration
    • JSON Output Example: Exporting Inventory
  • Troubleshooting & FAQs
    • Common Issues and Solutions
    • FAQs
  • General Information
    • Firefly API
      • Authentication
      • Inventory
      • Codification
      • Workflows
      • Self-Service
      • Policy & Governance
      • IaC Explorer
      • Event Center
      • Backup & Disaster Recovery
      • Notifications
      • Integrations
      • Identity & Access Management
    • Security & Compliance
    • Pricing Tiers & Add-ons
    • Contacting Support
Powered by GitBook
On this page
  • Features
  • Generating MCP Configuration via Firefly UI (Hosted MCP Server)
  • Steps
  • Running the MCP Server Locally
  • Prerequisites
  • Installation
  • Usage
  • Using with Cursor
  • Demo
  • Contributing
  • License

Was this helpful?

  1. Integrations

Integrating 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

Generating MCP Configuration via Firefly UI (Hosted MCP Server)

You can easily generate the MCP configuration for Cursor, Claude, or any other MCP client directly from the Firefly UI. This method allows you to securely connect to the Firefly-hosted MCP server with authentication, without running a local MCP server.

Steps

  1. Open the Firefly UI and navigate to the MCP Server integration section.

  2. Click on "Generate MCP configuration". The UI will generate a configuration block for you, including the required authentication.

  3. Copy the generated configuration and use it in your MCP client (e.g., Cursor, Claude).

Example generated configuration

{
  // The 'mcpServers' object defines available MCP servers
  "mcpServers": {
    "firefly": {
      // URL to the Firefly-hosted MCP server with authentication token
      "url": "https://mcp.firefly.ai/sse?auth=YOUR_AUTH_TOKEN",
      "headers": {
        // Authorization header for secure access
        "Authorization": "Basic YOUR_AUTH_TOKEN"
      }
    }
  }
}
  • YOUR_AUTH_TOKEN will be provided by the Firefly UI. It is a sensitive value and should be kept secret. This token contains your authentication credentials and should never be shared publicly or committed to version control systems.

  • This configuration can be used directly in Cursor, Claude, or any compatible MCP client.

Note: This method is an alternative to running your own local MCP server. It is recommended for users who want a quick and secure setup without managing server infrastructure.

Running the MCP Server Locally

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

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"
      }
    }
  }
}

SSE

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"
    }
  }
}

Usage

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

PreviousIntegrating BackstageNextCloud Governance & Visibility

Last updated 8 days 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