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
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
Open the Firefly UI and navigate to the MCP Server integration section.
Click on "Generate MCP configuration". The UI will generate a configuration block for you, including the required authentication.
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:
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
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
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
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.
Last updated
Was this helpful?