About Firefly MCP Server
Firefly MCP Server connects MCP clients to Firefly for discovering and managing resources across connected cloud and SaaS accounts. It can also turn discovered resources into Infrastructure as Code.
Key features
- 01Discover cloud and SaaS resources
- 02Manage connected account resources
- 03Codify resources as Infrastructure as Code
- 04Authenticate with Firefly access keys
Use cases
- 01Find resources across connected accounts
- 02Convert a discovered resource into Terraform
- 03Query Firefly resources from Cursor
MCP support
Exposes Firefly resource discovery, management, and codification capabilities to MCP clients. It supports stdio and SSE connection modes.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEFirefly 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 (v20 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:
- Using environment variables:
FIREFLY_ACCESS_KEY=your_access_key FIREFLY_SECRET_KEY=your_secret_key npx @fireflyai/firefly-mcp
- 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
- Start the MCP server using one of the methods above
- Use the Cursor extension to connect to the MCP server - see Cursor Model Context Protocol documentation
- 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
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
