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

🌐 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 LICENSE 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


<p align="center"> Made with ❀️ for the Bitcoin community </p>

Features

Lightning
Payments
Integration

Category

Integrations