ricardogrande-masmovil/billing-mcp
If you are the rightful owner of billing-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server designed to manage billing operations.
Billing MCP Server
A Model Context Protocol (MCP) server designed to manage billing operations.
Overview
This project provides a backend service that exposes billing functionalities through the Model Context Protocol. It allows clients to interact with billing data, such as creating, retrieving, and managing invoices. The server is built using Go, following principles of Hexagonal Architecture and Domain-Driven Design, with GORM as the ORM for database interactions and UUIDs for primary entity identification.
Features
- Retrieve invoice details by its UUID.
- Retrieve a list of invoices based on various criteria (e.g., status, issue date range).
- (Internally) Invoices are composed of line items aggregated from various movement sources.
Getting Started
To get started with the Billing MCP Server, follow these steps:
-
Clone the repository:
git clone https://github.com/ricardogrande-masmovil/billing-mcp.git
-
Navigate to the project directory:
cd billing-mcp
-
Install the required dependencies:
go mod tidy
-
Run the server:
go run cmd/main.go
Configuration
The server is configured via a .config.yaml
file in the root of the project. A sample configuration file named .config.example.yaml
is provided. You can copy this file to .config.yaml
and modify it to suit your environment.
Running Seed Data
To populate the database with initial seed data for development or testing, you can enable the runSeeds
option in your .config.yaml
file:
# .config.yaml
server:
host: "localhost"
port: "8080"
database:
host: "localhost"
port: 5432
user: "billing_user"
password: "yoursecurepassword"
dbname: "billing_db"
sslmode: "disable"
maxRetries: 3
logLevel: "info"
version: "0.0.1"
runSeeds: true # Set to true to run seed data on startup
By default, runSeeds
is false
.
Setup an MCP client
To set up an MCP client, you will need the following config:
{
"servers": {
"billing": {
"type": "sse",
"url": "http://localhost:8080/sse"
}
}
}
You can change the URL to point to your server's address if it's not running locally. This configuration works directly in VSCode, enabling you to test the server's functionality by using the agent chat mode.