Omise MCP Server
Omise MCP Server is a comprehensive server for integrating with Omise payment APIs using Model Context Protocol (MCP). Implemented in TypeScript with full support for Omise API v2017-11-02.
๐ Key Features
๐ณ Payment Processing
Charge Management: Create, retrieve, update, capture, and reverse payments
Tokenization: Secure card information tokenization
Source Management: Support for various payment methods
Refunds: Partial and full refund processing
๐ฅ Customer Management
Customer Information: Create, retrieve, update, and delete customers
Card Management: Manage customer card information
Metadata: Store custom information
๐ Transfers & Recipients
Transfer Processing: Send money to recipients
Recipient Management: Create, verify, and manage recipients
Bank Accounts: Manage bank account information
๐ Schedules & Recurring Payments
Recurring Payments: Automatic payments based on schedules
Occurrence Management: Manage schedule execution
Flexible Configuration: Daily, weekly, and monthly schedules
๐ Monitoring & Analytics
Event Management: Track system events
Dispute Management: Handle chargebacks
Webhooks: Real-time notifications
๐ Links & Chains
Payment Links: Shareable payment links
Chain Management: Multi-tenant support
Capability Check: API functionality verification
๐ Supported APIs
Category | Features | Tool Count | Documentation |
Payment | Charges, Tokens, Sources | 8 | |
Customer | Customer & Card Management | 7 | |
Transfer | Transfer & Recipient Management | 6 | |
Refund | Refund Processing | 3 | |
Dispute | Chargeback Processing | 7 | |
Schedule | Recurring Payments | 5 | |
Event | Event Management | 2 | |
Webhook | Notification Management | 5 | |
Link | Payment Links | 3 | |
Chain | Multi-tenant | 4 | |
Capability | Feature Verification | 1 |
Total: 51 tools covering all Omise API functionality
๐ ๏ธ Technology Stack
Runtime: Node.js 20+
Language: TypeScript 5.2+
Framework: Model Context Protocol (MCP)
HTTP Client: Axios
Logging: Winston
Testing: Jest + MSW
Containerization: Docker + Docker Compose
Monitoring: Prometheus + Grafana
Caching: Redis
Log Aggregation: Loki
๐ Quick Start
Prerequisites
Node.js 20+
npm or yarn
Omise Account and API keys
1. Installation
2. Environment Setup
3. Start Development Server
4. Verify Installation
๐ Usage
Basic Payment Processing
Recurring Payment Setup
Transfer Processing
๐ง Configuration
Environment Variables
Variable | Description | Required | Default |
| Omise public key | โ | - |
| Omise secret key | โ | - |
| Environment (test/production) | โ | - |
| Server port | - | 3000 |
| Server host | - | localhost |
| Log level | - | info |
| Log format | - | simple |
| Enable rate limiting | - | true |
| Maximum requests | - | 100 |
| Time window (ms) | - | 60000 |
Obtaining Omise API Keys
Access Omise Dashboard
Create an account or log in
Get keys from the API Keys section
Test Environment: Use keys starting with
pkey_test_
andskey_test_
Production Environment: Use keys starting with
pkey_live_
andskey_live_
Important: Always use live keys in production and test keys in test environment.
๐๏ธ Project Structure
๐งช Development
Development Environment Setup
Testing
Linting
Build
๐ณ Docker Deployment
Development Environment
Production Environment
Automated Deployment
๐ Monitoring & Logs
Prometheus Metrics
Metrics: CPU, memory, request count, response time
Alerts: High load, error rate monitoring
Grafana Dashboard
Login: admin / admin (default)
Dashboards: System monitoring, application monitoring
Log Management
๐ Security
Security Features
Non-root user: Run containers as non-root user
Security headers: Proper HTTP header configuration
Rate limiting: API call restrictions
Sensitive data masking: Hide sensitive information in logs
Environment isolation: Complete separation of test and production environments
SSL/TLS Configuration
Security Scanning
๐จ Troubleshooting
Common Issues
1. Service Won't Start
2. Health Check Fails
3. Memory Issues
Log Analysis
๐ API Reference
Payment Tools
create_charge
Create a new charge.
Parameters:
amount
(required): Amount in smallest currency unitcurrency
(required): Currency code (THB, USD, JPY, etc.)description
(optional): Charge descriptioncustomer
(optional): Customer IDcard
(optional): Card IDsource
(optional): Source IDcapture
(optional): Capture immediately (default: true)return_uri
(optional): Redirect URImetadata
(optional): Metadata
retrieve_charge
Retrieve charge information.
Parameters:
charge_id
(required): Charge ID to retrieve
list_charges
List charges.
Parameters:
limit
(optional): Number of items to retrieve (default: 20)offset
(optional): Offset (default: 0)order
(optional): Sort order (chronological/reverse_chronological)status
(optional): Status filtercustomer
(optional): Customer ID filter
Customer Tools
create_customer
Create a new customer.
Parameters:
email
(optional): Customer email addressdescription
(optional): Customer descriptioncard
(optional): Card IDmetadata
(optional): Metadata
retrieve_customer
Retrieve customer information.
Parameters:
customer_id
(required): Customer ID to retrieve
Token Tools
create_token
Create a secure card token for payment processing.
Parameters:
card
(required): Card informationname
(required): Cardholder namenumber
(required): Card numberexpiration_month
(required): Expiration month (1-12)expiration_year
(required): Expiration year (4 digits)city
(optional): Billing address citypostal_code
(optional): Billing address postal codesecurity_code
(optional): Security code (CVV/CVC)
๐ External Links
Omise Official Documentation
Technical Documentation
Support
GitHub Issues: Bug reports and feature requests
Omise Support: Omise official support
Community: Developer community
๐ License
This project is licensed under the MIT License.
๐ค Contributing
Contributions to the project are welcome! Please follow these steps:
Fork this repository
Create a feature branch (
git checkout -b feature/amazing-feature
)Commit your changes (
git commit -m 'Add some amazing feature'
)Push to the branch (
git push origin feature/amazing-feature
)Create a Pull Request
Development Guidelines
Write code in TypeScript
Maintain test coverage
Follow ESLint rules
Write clear commit messages
๐ Roadmap
v1.1.0 (Planned)
Additional payment method support
Advanced reporting features
Performance optimizations
v1.2.0 (Planned)
Enhanced multi-tenant support
Advanced monitoring features
Enhanced security features
๐ Statistics
Total Tools: 51
Supported APIs: 11 categories
Test Coverage: 95%+
TypeScript: 100%
Docker Support: โ
Monitoring Support: โ
Omise MCP Server - Achieve secure and efficient payment processing! ๐
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables comprehensive payment processing through Omise APIs including charges, customers, transfers, refunds, disputes, recurring payments, and webhooks. Provides 51 tools covering all Omise API functionality for secure payment integration.
- ๐ Key Features
- ๐ Supported APIs
- ๐ ๏ธ Technology Stack
- ๐ Quick Start
- ๐ Usage
- ๐ง Configuration
- ๐๏ธ Project Structure
- ๐งช Development
- ๐ณ Docker Deployment
- ๐ Monitoring & Logs
- ๐ Security
- ๐จ Troubleshooting
- ๐ API Reference
- ๐ External Links
- ๐ License
- ๐ค Contributing
- ๐ Roadmap
- ๐ Statistics