my-mcp-server
by RianHarahap
README.md
# My MCP Server (untuk Pemula)
MCP (Model Context Protocol) Server buatan sendiri dengan:
- Modul API key & URL sendiri lewat file `.env`
- Tool contoh: `echo` dan `call_my_api`
- Siap dites pakai **MCP Inspector**
- Siap dipakai langsung di VS Code (GitHub Copilot Chat)
## 1. Install dependencies
```powershell
npm install
```
## 2. Buat file `.env`
Salin `.env.example` menjadi `.env`, lalu isi dengan API key dan URL milikmu:
```powershell
Copy-Item .env.example .env
```
Isi `.env`:
```
MY_API_KEY=api-key-asli-kamu
MY_API_BASE_URL=https://api.contohkamu.com
MCP_SERVER_NAME=my-mcp-server
```
> ⚠️ Jangan pernah commit file `.env` ke git. File ini sudah otomatis di-ignore lewat `.gitignore`.
## 3. Build project
```powershell
npm run build
```
Perintah ini mengompilasi TypeScript di `src/` menjadi JavaScript di `build/`.
## 4. Tes dengan MCP Inspector
MCP Inspector adalah tool visual (browser) untuk mencoba tool-tool MCP-mu tanpa perlu client lain.
```powershell
npm run inspector
```
Ini akan menjalankan `npx @modelcontextprotocol/inspector node build/index.js` dan membuka Inspector di browser. Dari sana kamu bisa:
1. Klik tab **Tools**
2. Pilih tool `echo` atau `call_my_api`
3. Isi parameter, klik **Run Tool**, lihat hasilnya
## 5. Pakai langsung di VS Code
File [.vscode/mcp.json](.vscode/mcp.json) sudah disiapkan. Buka Command Palette → `MCP: List Servers` → pilih `my-mcp-server` → `Start Server`. Server ini otomatis membaca `.env` lewat `envFile`.
## Struktur Project
```
├── .env # rahasia kamu (tidak di-commit)
├── .env.example # contoh isi .env
├── .vscode/mcp.json # konfigurasi MCP untuk VS Code
├── src/
│ ├── config.ts # loader environment variable
│ ├── apiClient.ts # modul pemanggilan API eksternal (pakai API key & URL)
│ └── index.ts # server MCP utama + daftar tool
├── package.json
└── tsconfig.json
```
## Menambah tool baru
Tambahkan blok `server.registerTool("nama_tool", { ... }, async (input) => { ... })` baru di [src/index.ts](src/index.ts), lalu jalankan ulang `npm run build`.
## Troubleshooting
- **Error "Environment variable ... belum diisi"** → pastikan `.env` sudah ada dan terisi.
- **Tool `call_my_api` gagal** → cek apakah `MY_API_BASE_URL` dan `MY_API_KEY` sudah benar, dan endpoint API mendukung header `Authorization: Bearer <key>`.
- **Inspector tidak terbuka** → pastikan sudah `npm run build` terlebih dahulu.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues