🌐 ERP MCP - AI Ready
Base URL otomatis dari host request:
https://mcp-server-erp.commitflow.space
🔐 API Key (REQUIRED)
Semua request ke endpoint /mcp memerlukan API key dari environment variable.
Setup:
- Set API key di
.env:API_KEY=your-secure-api-key # Generate: openssl rand -hex 32
- Restart server
Usage dalam Request:
Method 1: Header (Recommended)
curl -X POST https://mcp-server-erp.commitflow.space/mcp -H "x-api-key: your-api-key" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":"1","method":"tools/list"}'
Method 2: Query Parameter
curl -X POST "https://mcp-server-erp.commitflow.space/mcp?api_key=your-api-key" -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":"1","method":"tools/list"}'
✨ MCP 2.0 Standard Endpoint
- POST /mcp - JSON-RPC 2.0 Handler (MCP Standard, requires API key)
- Methods:
tools/list,tools/call
🔍 Discovery & Endpoints
- GET /.well-known/mcp.json - MCP Discovery (STANDARD, public)
- GET /mcp-manifest.json - Machine-readable manifest (public)
- GET /tool-examples - Complete tool examples & payload format (for AI agents)
- GET /tools - Legacy tools endpoint
- GET /health - Health check
- GET /meta - Server metadata
- GET /ai-ready - Markdown docs
📚 Full Documentation
# ERP MCP - AI Ready
Goal: generate ERP full HTML report with live, filtered database data.
BASE_URL auto-derived from current host:
- BASE_URL: https://mcp-server-erp.commitflow.space
## 🔐 API Key (REQUIRED)
All MCP endpoint calls require a valid API key from environment variable.
### Setup
1. Set API key in `.env`:
```env
API_KEY=your-secure-api-key
# Generate: openssl rand -hex 32
```
2. Restart server
### Usage in Requests
**Method 1: Header (Recommended)**
```bash
curl -X POST https://mcp-server-erp.commitflow.space/mcp \
-H "x-api-key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":"1","method":"tools/list"}'
```
**Method 2: Query Parameter**
```bash
curl -X POST "https://mcp-server-erp.commitflow.space/mcp?api_key=your-api-key" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":"1","method":"tools/list"}'
```
## 🌐 Standard MCP 2.0 Endpoint (NEW)
**POST https://mcp-server-erp.commitflow.space/mcp** - JSON-RPC 2.0 Handler
### Available Methods:
1. **tools/list** - Get all available tools
2. **tools/call** - Execute a specific tool
### Example:
```json
{
"jsonrpc": "2.0",
"id": "1",
"method": "tools/list"
}
```
## Discovery
- **GET https://mcp-server-erp.commitflow.space/.well-known/mcp.json** - MCP discovery (STANDARD, public)
- GET https://mcp-server-erp.commitflow.space/tools - Legacy tools endpoint
- GET https://mcp-server-erp.commitflow.space/mcp-manifest.json - Machine-readable manifest (public)
## Required Workflow
1. read_schema_context
2. read_prisma_schema
3. build validated filters
4. generate safe SQL with explicit columns + pagination
5. execute via sql_query
6. render responsive/print-friendly HTML report
7. upload report to S3 and get URL for sharing
## Filter Contract (Recommended)
{"date_from":"YYYY-MM-DD","date_to":"YYYY-MM-DD","branch_id":"string|null","doctor_id":"string|null","limit":100,"offset":0,"timezone":"Asia/Jakarta"}
## Execute
### MCP Standard (NEW):
- **POST https://mcp-server-erp.commitflow.space/mcp** - JSON-RPC 2.0 format
- Body: {"jsonrpc":"2.0","id":"1","method":"tools/call","params":{"name":"<tool>","arguments":{...}}}
### Legacy (Still Supported):
- POST https://mcp-server-erp.commitflow.space/execute
- Body: {"tool":"<name>","input":{...}}
## Tools
### Database & Schema
- sql_query - Execute SQL queries
- read_schema_context - Read ERP schema
- read_prisma_schema - Read Prisma models
- test_connection - Test DB connection
### File Upload (S3/S3-Compatible)
- s3_upload - Upload file to S3 (public-read by default)
- s3_list - List files in S3 bucket
- s3_delete - Delete file from S3
- s3_url - Generate S3 file URL
### Report Generation ✨
- generate_report - Generate dynamic HTML reports with charts, tables, KPIs
- Support multiple SQL queries
- Visualizations: bar, line, doughnut charts
- KPI cards, data tables, filters
- Tabbed view via `tabs[]`: multiple report pages/domains in one HTML
- Root `sections[]` can hold global header/filter; each `tabs[].sections[]` can hold its own KPI/chart/table/filter sections
- Filterable reports should provide `queryTemplates` with tokens for every filter used by KPI/chart/table sections
- Optional S3 upload & public sharing
### generate_report Tabbed View Contract
Use `tabs` when the user asks for a dashboard with multiple views, modules, or grouped analysis.
```json
{
"title": "ERP Executive Dashboard",
"queries": [
{ "name": "sales_summary", "sql": "SELECT ..." },
{ "name": "inventory_summary", "sql": "SELECT ..." }
],
"sections": [
{ "type": "header", "title": "ERP Executive Dashboard" }
],
"tabs": [
{
"id": "sales",
"title": "Penjualan",
"sections": [
{ "type": "kpi", "query": "sales_summary", "config": { "items": [{ "label": "Omzet", "key": "omzet", "format": "currency" }] } }
]
},
{
"id": "inventory",
"title": "Inventory",
"sections": [
{ "type": "table", "query": "inventory_summary", "columns": [{ "key": "product_name", "label": "Produk" }] }
]
}
],
"uploadToS3": true
}
```
## Health
- GET https://mcp-server-erp.commitflow.space/health
## 📚 Documentation & Examples
- GET https://mcp-server-erp.commitflow.space/tool-examples - **Complete examples for each tool** (payload format, usage patterns)
- GET https://mcp-server-erp.commitflow.space/ai-ready - This markdown documentation
- GET https://mcp-server-erp.commitflow.space/.well-known/mcp.json - MCP discovery manifest
## AI Agent One-Liner
Use MCP endpoint **https://mcp-server-erp.commitflow.space/mcp** with JSON-RPC 2.0 protocol. Goal: generate ERP full HTML report with live filtered data, upload to S3, and share via public URL. Mandatory flow: read_schema_context -> read_prisma_schema -> validated filters -> safe SQL -> sql_query -> HTML render -> s3_upload -> share URL. **Refer to https://mcp-server-erp.commitflow.space/tool-examples for complete payload examples.**