midco-mcp
v0.1.2
Published
Midco — MCP context broker lokal (README §15.2). Wrapper npx: unduh binary prebuilt kalau ada, fallback build dari source.
Readme
midco-mcp (npx wrapper)
Paket npm tipis buat jalanin Midco MCP server lewat npx, tanpa perlu clone repo Rust-nya atau pasang toolchain cargo secara manual dulu. Cocok buat orang yang cuma mau pakai server-nya (lihat juga jalur non-npx di README utama §15.1).
Tidak ada dependency npm sama sekali — bin.js cuma pakai Node built-ins (https, fs, child_process, dst), biar wrapper-nya tetap tipis dan gampang diaudit.
Kenapa butuh wrapper ini
Midco MCP server sendiri adalah binary Rust (midco-mcp, lihat README utama). Wrapper ini:
- Deteksi OS/arch, coba unduh binary prebuilt yang cocok dari GitHub Releases ke cache lokal (
~/.cache/midco-mcp/bin/). - Kalau belum ada release buat platform ini (kondisi hari ini — lihat roadmap §19 di README utama), fallback build dari source: pakai clone repo lokal kalau wrapper ini dijalankan dari dalamnya, atau
cargo install --gitkalau tidak. - Exec binary yang sudah siap dengan argumen yang kamu kirim.
Jadi kamu tidak perlu tahu apakah binary-nya sudah pernah di-build atau belum — wrapper ini yang urus.
Pemakaian
npx midco-mcp@latest setup # sekali jalan: config.toml + .mcp.json + ingest awal
npx midco-mcp@latest serve # start server (README utama §16)setup dan serve (juga ingest/stats/tokens) adalah subcommand wrapper ini sendiri, bukan diteruskan mentah ke binary Rust — binary midco-mcp sendiri tidak punya subcommand, cuma flag langsung (--db, --config, --no-auth). Kalau kata-kata itu diteruskan apa adanya ke clap, hasilnya error "unexpected argument", jadi wrapper ini yang menerjemahkannya.
| Command | Yang terjadi |
|---|---|
| npx midco-mcp@latest setup | Di direktori kerja saat ini: bikin config.toml (default, README §15) dan .mcp.json (arah ke http://127.0.0.1:8766/mcp) kalau belum ada, lalu jalankan ingest --source data/skills --db data/index.sqlite sekali. Aman dipanggil berkali-kali — tidak menimpa file yang sudah ada. |
| npx midco-mcp@latest serve [flags] | Resolve binary midco-mcp, lalu jalankan dengan flags diteruskan apa adanya (mis. serve --no-auth, serve --db ... --config ...). |
| npx midco-mcp@latest ingest [flags] | Resolve + jalankan binary ingest (README §7). |
| npx midco-mcp@latest stats [flags] | Resolve + jalankan binary stats (README §12). |
| npx midco-mcp@latest tokens <cmd> [flags] | Resolve + jalankan binary tokens — kelola auth token per-project (README §14.1), mis. tokens create --project default. |
| Argumen lain | Diperlakukan sebagai flag buat binary server langsung — kompatibel dengan pemakaian lama sebelum ada subcommand setup/serve. |
Contoh alur lengkap dari nol:
npx midco-mcp@latest setup
npx midco-mcp@latest tokens create --project default # opsional, skip kalau mau --no-auth
npx midco-mcp@latest serve --no-authCoba lokal (sebelum di-publish ke registry)
Dari dalam clone repo ini:
node npm/bin.js setup
node npm/bin.js serve --no-authatau pakai npm link supaya perintah midco-mcp (tanpa npx) tersedia di $PATH:
cd npm && npm link
midco-mcp setup
midco-mcp serve --no-authKarena wrapper ini mendeteksi ada Cargo.toml satu level di atas npm/, build-from-source otomatis pakai source lokal repo ini (cargo build --release --bins), bukan cargo install --git.
Arsitektur
Lihat README utama §1 dan diagram di ../docs/architecture.svg untuk gambaran lengkap index-time vs query-time. Wrapper ini cuma jalur instalasi/start — begitu binary midco-mcp jalan, dia jadi HTTP MCP server lokal biasa (§16).
Referensi
- README utama — arsitektur, tools MCP, setup lengkap, keamanan.
- README §15 — perbandingan jalur instalasi (
install.shvs npx vsmidco-mcp.sh). - README §19 — roadmap (CI build+publish binary per platform, publish paket ini ke registry npm).
