luridarmawan/mcp-api-server
If you are the rightful owner of mcp-api-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
A lightweight, high-performance API Server using ElysiaJS with Bun runtime, integrated with Model Context Protocol (MCP) and WebSocket support.
API & MCP Server Skeleton (ElysiaJS + Bun)
(Documentation is not yet complete.)
📑 Daftar Isi
A lightweight, high-performance API Server using ElysiaJS with Bun runtime, integrated with Model Context Protocol (MCP) and WebSocket support.
🚀 Features
- REST API Server powered by Bun runtime.
- WebSocket Event Handling (realtime communication).
- Model Context Protocol (MCP) base support:
- MCP Plugin Registry
- MCP Discovery Endpoint (
/.well-known/mcp.json)
- Hot reload during development.
- Ready for scalable deployment.
- Example Events: Prayer Schedule, Event Registration.
📋 Requirements
- Bun runtime (v1.0+): Install Bun
- Node.js (optional, for installing tools like wscat)
- WebSocket client (Postman, wscat, etc.)
🛠️ Getting Started
Clone this project and install dependencies:
git clone https://github.com/luridarmawan/mcp-api-server.git
cd mcp-api-server
bun install
Run development server:
bun run dev
Open http://localhost:3000 in your browser.
🧠 Model Context Protocol (MCP)
MCP is a lightweight communication protocol designed to enable context-aware interactions with AI agents or applications.
- Base URL: http://localhost:3000/mcp
- Discovery Endpoint: http://localhost:3000/mcp/.well-known/mcp.json
Example basic MCP interaction via WebSocket:
{
"event": "prayer:schedule",
"data": {
"city": "Jakarta"
}
}
For full details, see .
🔌 WebSocket Usage
You can interact with the server via WebSocket:
- Install wscat if needed:
npm install -g wscat
- Connect to the WebSocket server:
wscat -c ws://localhost:3000
- Example Events you can send:
| Event | Payload Example | Description |
|---|---|---|
prayer:schedule | "Jakarta" | Get prayer times for a city |
registration:new | { "name": "Alice", "phone": "081122334455", "email": "alice@example.com" } | Register a new user |
# Install wscat (jika belum ada)
npm install -g wscat
# Connect ke socket server
wscat -c ws://localhost:3000
# Setelah terhubung, kirim event:
>> {"event":"prayer:schedule","data":{"city":"Jakarta"}}
>> {"event":"registration:new","data":{"name":"Alice","phone":"081122334455","email":"alice@example.com"}}
📁 Project Structure
.
├── constants.ts
├── index.test.ts
├── index.ts
├── modules
│ ├── mcp
│ │ ├── index.ts
│ │ └── types.ts
│ ├── prayer
│ │ ├── index.ts
│ │ └── types.ts
│ └── registration
│ ├── index.ts
│ └── types.ts
├── services
│ └── prayerService.ts
├── sockets
│ └── index.ts
└── utils
└── http.ts
🚀 Deployment
Build and run for production:
bun run build
bun start
Ready to deploy on platforms like Vercel, Railway, Fly.io, or any Bun-supported environment.
📄 License
This project is licensed under the .