MCP Satu Data Ngawi
MCP (Model Context Protocol) Server untuk mengakses data dari Portal Satu Data Kabupaten Ngawi.
🌐 Portal Sumber Data
- Website: https://satudata.ngawikab.go.id
- API Base: https://apidata.kabngawi.id/api/guest
📦 Instalasi
1. Clone/Download Repository
git clone <repository-url>
cd mcp-satudata-ngawi
2. Install Dependencies
npm install
3. Build Project
npm run build
🔧 Konfigurasi untuk Claude Desktop
Tambahkan konfigurasi berikut ke file claude_desktop_config.json:
Windows
Lokasi: %APPDATA%\Claude\claude_desktop_config.json
macOS
Lokasi: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux
Lokasi: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"satudata-ngawi": {
"command": "node",
"args": ["/path/to/mcp-satudata-ngawi/dist/index.js"]
}
}
}
Atau jika menggunakan npx:
{
"mcpServers": {
"satudata-ngawi": {
"command": "npx",
"args": ["-y", "/path/to/mcp-satudata-ngawi"]
}
}
}
🛠️ Tools yang Tersedia
1. get_kategori_sektoral
Mendapatkan daftar kategori sektoral/sektor data.
Parameters:
page(number, optional): Nomor halaman (default: 1)per_page(number, optional): Jumlah data per halaman (default: 100)
Contoh Penggunaan: `` Tampilkan semua kategori data di Satu Data Ngawi ``
2. get_organisasi
Mendapatkan daftar organisasi/OPD (Organisasi Perangkat Daerah).
Parameters:
page(number, optional): Nomor halamanper_page(number, optional): Jumlah data per halamanq(string, optional): Kata kunci pencarian
Contoh Penggunaan: `` Cari organisasi dengan nama "Dinas Kesehatan" di Ngawi ``
3. get_data_sektoral
Mendapatkan daftar data sektoral/dataset.
Parameters:
page(number, optional): Nomor halamanper_page(number, optional): Jumlah data per halamanq(string, optional): Kata kunci pencariankategori_id(number, optional): Filter berdasarkan ID kategoriorganisasi_id(number, optional): Filter berdasarkan ID organisasi
Contoh Penggunaan: `` Tampilkan data sektoral tentang pertanian di Ngawi ``
4. get_detail_data
Mendapatkan detail lengkap dari sebuah data sektoral.
Parameters:
id(number, required): ID data sektoral
Contoh Penggunaan: `` Lihat detail data dengan ID 123 ``
5. search_data
Mencari data berdasarkan kata kunci.
Parameters:
keyword(string, required): Kata kunci pencarianlimit(number, optional): Jumlah hasil maksimal (default: 10)
Contoh Penggunaan: `` Cari data tentang "kemiskinan" di Satu Data Ngawi ``
6. get_statistics
Mendapatkan ringkasan statistik portal.
Parameters: Tidak ada
Contoh Penggunaan: `` Berapa total dataset yang ada di Satu Data Ngawi? ``
📚 Resources
satudata://kategori
Daftar lengkap kategori sektoral dalam format JSON.
🔍 Contoh Percakapan dengan Claude
User: Apa saja kategori data yang tersedia di Satu Data Ngawi?
Claude: [Menggunakan get_kategori_sektoral]
Berikut kategori data yang tersedia:
1. Pertanian
2. Peternakan
3. Pendidikan
4. Kesehatan
... dst
User: Cari data tentang kesehatan
Claude: [Menggunakan search_data dengan keyword "kesehatan"]
Ditemukan beberapa dataset tentang kesehatan:
1. Jumlah Puskesmas per Kecamatan
2. Data Imunisasi Anak
... dst
User: Lihat detail data nomor 1
Claude: [Menggunakan get_detail_data dengan ID yang sesuai]
Detail Data:
- Judul: Jumlah Puskesmas per Kecamatan
- Tahun: 2023
- Sumber: Dinas Kesehatan
... dst
🏗️ Struktur Project
mcp-satudata-ngawi/
├── src/
│ └── index.ts # Source code utama
├── dist/
│ └── index.js # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
📝 API Endpoints yang Digunakan
| Endpoint | Deskripsi | |----------|-----------| | /kategori-sektoral | Daftar kategori/sektor data | | /organisasi | Daftar OPD/instansi | | /data-sektoral | Daftar dataset | | /data-sektoral/{id} | Detail dataset |
🤝 Kontribusi
Silakan buat issue atau pull request jika menemukan bug atau ingin menambahkan fitur.
📄 Lisensi
MIT License
🙏 Credits
- Portal Satu Data Kabupaten Ngawi
- Anthropic MCP SDK












