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 henry@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 .