loading…
Search for a command to run...
loading…
Enables AI assistants to manage KiotViet retail and F\&B operations including products, orders, customers, invoices, and inventory through the Public API. Featu
Enables AI assistants to manage KiotViet retail and F\&B operations including products, orders, customers, invoices, and inventory through the Public API. Features 36 integrated tools with automatic token refresh, middleware chain support, and configurable presets for different access levels.
MCP (Model Context Protocol) Server cho KiotViet Public API — Kết nối AI assistant với hệ thống quản lý bán hàng KiotViet.
Client ID, Client Secret, Retailer name từ Thiết lập cửa hàng → Thiết lập kết nối API# Clone và cài dependencies
git clone <repo-url>
cd kiotviet-mcp
npm install
npm run build
Tạo file .env từ template:
cp .env.example .env
Điền thông tin:
KIOTVIET_CLIENT_ID=your_client_id
KIOTVIET_CLIENT_SECRET=your_client_secret
KIOTVIET_RETAILER=your_retailer_name
Thêm vào claude_desktop_config.json:
{
"mcpServers": {
"kiotviet": {
"command": "node",
"args": ["/path/to/kiotviet-mcp/dist/cli.js", "mcp"],
"env": {
"KIOTVIET_CLIENT_ID": "your_client_id",
"KIOTVIET_CLIENT_SECRET": "your_client_secret",
"KIOTVIET_RETAILER": "your_retailer_name"
}
}
}
}
# stdio mode
node dist/cli.js mcp --client-id X --client-secret Y --retailer Z
# HTTP mode
node dist/cli.js mcp --client-id X --client-secret Y --retailer Z --mode http --port 3000
# Build image
docker build -t kiotviet-mcp .
# Chạy container
docker run -d -p 3000:3000 \
-e KIOTVIET_CLIENT_ID=your_client_id \
-e KIOTVIET_CLIENT_SECRET=your_client_secret \
-e KIOTVIET_RETAILER=your_retailer_name \
kiotviet-mcp
Endpoints:
http://localhost:3000/healthhttp://localhost:3000/mcphttp://localhost:3000/sse# Tất cả tools
node dist/cli.js tools
# Theo project
node dist/cli.js tools --project products
# Xem presets
node dist/cli.js tools --presets
| Nhóm | Tools |
|---|---|
| categories | kiotviet_categories_list |
| products | list, get_by_id, get_by_code, create, update, delete |
| customers | list, get_by_id, get_by_code, create, update |
| customers | kiotviet_customer_groups_list |
| orders | list, get, create, update, cancel |
| invoices | list, get_by_id, get_by_code, create, update, cancel |
| purchase-orders | list, get, create |
| branches | kiotviet_branches_list |
| users | kiotviet_users_list |
| suppliers | kiotviet_suppliers_list |
| bank-accounts | kiotviet_bank_accounts_list |
| cashbook | kiotviet_cashbook_list |
| webhooks | list, create, update, delete |
| Preset | Mô tả | Số tools |
|---|---|---|
preset.default |
Tất cả tools | 36 |
preset.readonly |
Chỉ GET — an toàn cho môi trường read-only | 21 |
preset.products |
Hàng hóa + nhóm hàng | 7 |
preset.sales |
Đơn hàng + hóa đơn + khách hàng | 17 |
preset.inventory |
Hàng hóa + nhập kho + nhà cung cấp | 11 |
Kích hoạt preset qua CLI:
node dist/cli.js mcp --tools "preset.readonly" ...
Dùng cho nhà hàng, quán cà phê (API F&B):
KIOTVIET_BASE_URL=https://publicfnb.kiotapi.com
KiotViet dùng OAuth 2.0 Client Credentials. Token có hiệu lực 1 giờ và được tự động làm mới trước khi hết hạn (buffer 5 phút).
Token endpoint: https://id.kiotviet.vn/connect/token
src/
├── auth/
│ └── token-manager.ts # Client Credentials + auto-refresh
├── mcp-server/
│ ├── init.ts # Khởi tạo server, đăng ký tools
│ └── transport/
│ ├── stdio.ts # stdio transport
│ └── sse.ts # HTTP/SSE transport
├── mcp-tool/
│ ├── types.ts # McpTool, MiddlewareContext...
│ ├── handler.ts # KiotViet API handler
│ ├── registry.ts # Đăng ký tất cả tools + presets
│ ├── presets.ts # Resolver preset/filter
│ ├── middleware/
│ │ ├── chain.ts
│ │ ├── error-handler.ts
│ │ ├── rate-limiter.ts
│ │ ├── pagination.ts
│ │ └── validation.ts
│ └── tools/ # 13 modules tool definitions
└── utils/
├── config.ts
├── http-client.ts
└── logger.ts
Dockerfile
docker/
└── docker-compose.yml
npm run build # Build TypeScript → dist/
npm run dev # Chạy trực tiếp với ts-node
npm run format # Format code với Prettier
npm test # Chạy tests
npm run test:coverage
| Thông số | Giá trị |
|---|---|
| pageSize tối đa | 100 bản ghi/request |
| Token TTL | 3600 giây (1 giờ) |
| Webhook timeout | 5 giây |
| Base URL Retail | https://public.kiotapi.com |
| Base URL F&B | https://publicfnb.kiotapi.com |
MIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"kiotviet-mcp-server": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also