lightning-mcp

lightning-mcp

3

The Lightning Network MCP Server is designed to allow AI models to make payments via the Lightning Network using a Model Context Protocol (MCP) compliant API. Its standout feature includes paying invoices on the Lightning Network, facilitating AI integration.

🌐 Lightning Network MCP Server

A Model Context Protocol (MCP) server that enables AI models to interact with Lightning Network, allowing them to pay invoices.

smithery badge TypeScript MCP Lightning Network

🚀 Features

  • 📝 Pay invoices on Lightning Network
  • 🤖 MCP-compliant API for AI integration

👷‍♂️ TODOs

  • Add support for multiple Lightning Network backends
  • Implement stdin transport mode (configurable via environment variable)

📋 Prerequisites

  • Node.js 18+

🛠️ Installation

Installing via Smithery

To install Lightning Network MCP Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @AbdelStark/lightning-mcp --client claude

Manual Installation

  1. Clone the repository:
git clone https://github.com/AbdelStark/lightning-mcp
cd lightning-mcp
  1. Install dependencies:
npm install
  1. Create a .env file:

💡 You can copy the .env.example file and modify it as needed.

# Bitcoin Lightning Network
## lnbits information
BITCOIN_LNBITS_NODE_URL="https://demo.lnbits.com"
BITCOIN_LNBITS_ADMIN_KEY="..."
BITCOIN_LNBITS_READ_KEY="..."

🚦 Usage

Starting the Server

# Development mode with hot reload
npm run dev

# Production mode
npm start

Available Tools

pay_invoice

Pays an invoice on the Lightning Network.

Example input:

{
  "content": "lnbc20n1pneh8papp5x0syxmdqffcltfk8mqp00qc6j4kf5elkmr5pws9gm242mw9n0ejsdqqcqzzsxqyz5vqrzjqvueefmrckfdwyyu39m0lf24sqzcr9vcrmxrvgfn6empxz7phrjxvrttncqq0lcqqyqqqqlgqqqqqqgq2qsp563lg29qthfwgynluv7fvaq5d6y2hfdl383elgc6q68lccfzvpvfs9qxpqysgq2n6yhvs8aeugvrkcx8yjzdrqqmvp237500gxkrk0fe6d6crwpvlp96uvq9z2dfeetv5n23xpjlavgf0fgy4ch980mpv2rcsjasg2hqqpalykyc"
}

🔧 Development

Project Structure

lightning-mcp/
├── src/
│   ├── index.ts        # Main server entry point
│   ├── lnbits-client.ts # Lightning Network client implementation
│   └── types.ts        # TypeScript type definitions
├── .env               # Environment configuration
└── tsconfig.json     # TypeScript configuration

Running Tests

npm test

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some 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 file for details.

🔗 Resources

📬 Contact

Feel free to follow me if you’d like, using my public key:

npub1hr6v96g0phtxwys4x0tm3khawuuykz6s28uzwtj5j0zc7lunu99snw2e29

Or just scan this QR code to find me:

Nostr Public Key QR Code


Made with ❤️ for the Bitcoin community