A TypeScript-based server that enables seamless integration with the Firefly platform, allowing users to discover, manage, and codify resources across Cloud and SaaS accounts connected to Firefly.
4 stars3 watching0 forks

Firefly

Firefly MCP Server

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 the Cursor extension to connect to the MCP server - see Cursor Model Context Protocol documentation
  3. 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

https://github.com/user-attachments/assets/0986dff5-d433-4d82-9564-876b8215b61e

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

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

Support

For support, please visit Firefly's documentation or create an issue in this repository.

Features

Discovery
Codification
Authentication
Integration

Category

Cloud Platforms