loading…
Search for a command to run...
loading…
An MCP server for AI-powered API testing that enables automated positive, negative, and security testing directly from AI chat interfaces. It supports multiple
An MCP server for AI-powered API testing that enables automated positive, negative, and security testing directly from AI chat interfaces. It supports multiple AI providers and generates detailed security reports.
MCP Server untuk AI-powered API testing — positive, negative, dan security testing langsung dari chat AI.
sentinel-mcp/
├── src/
│ ├── index.ts # MCP server entry point
│ ├── types.ts # Type definitions
│ ├── tools/
│ │ └── apiTest.ts # MCP tool handlers
│ ├── runner/
│ │ ├── runner.ts # HTTP test engine
│ │ └── loader.ts # YAML config loader
│ ├── providers/
│ │ ├── factory.ts # Provider resolver
│ │ ├── prompt.ts # Shared prompt builder
│ │ ├── ollama.ts # Ollama adapter
│ │ ├── claude.ts # Claude adapter
│ │ ├── openai.ts # OpenAI adapter
│ │ └── gemini.ts # Gemini adapter
│ └── reports/
│ └── generator.ts # Markdown report generator
├── tests/endpoints/
│ └── suite.yaml # Definisi endpoint yang ditest
├── reports/ # Output report (auto-created)
├── .env.example
└── claude_desktop_config.example.json
cd sentinel-mcp
npm install
cp .env.example .env
# Edit .env sesuai kebutuhanmu
# macOS / Linux
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull llama3
Secara default, test config dimuat dari suites/, tests/endpoints/suite.yaml, atau lokasi default lainnya.
Edit file tersebut sesuai API kamu. Jika kamu memiliki test suite di luar project, kamu bisa memberikan path langsung ke MCP via chat AI (mendukung single file config maupun satu directory khusus berisikan banyak konfigurasi).
Salin isi claude_desktop_config.example.json ke:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonGanti path absolut sesuai lokasi project kamu, lalu restart Claude Desktop.
Kamu dapat menggunakan bahasa manusia secara natural di AI client yang mendukung MCP (seperti Claude Desktop, Cline, Windsurf). Di balik layar, AI akan otomatis memilih tool yang relevan.
1. Basic Testing (Menggunakan file config default):
"Tolong jalankan API test untuk semua endpoint saya" "Test endpoint login saja pakai gemini ya" "Coba run security test untuk sistem saya"
2. Menggunakan File / Direktori Eksternal (suite_dir / suite_file):
Jika konfigurasi test API kamu ada di folder project lain (di luar project Sentinel MCP), kamu tinggal beri tahu path-nya ke AI:
"Test API saya menggunakan config di folder
/Users/nama/ProjectLain/api-suites/" "Tolong jalankan security test berdasarkan file/path/to/custom-project/suite.yaml"
3. Kombinasi:
"Bantu cek security untuk API payment saya yang ada di
/Users/dev/ecommerce/suites/, gunakan provider klaude karena saya butuh analisa security tingkat tinggi."
4. Mengatur Provider AI:
"Provider apa saja yang saat ini tersedia?" "Bisa switch ke openai untuk test endpoint register?"
| Test | Deskripsi |
|---|---|
| No Auth | Akses endpoint tanpa Authorization header |
| SQL Injection | Payload ' OR 1=1-- dan variasinya |
| XSS | Payload <script>alert(1)</script> dan reflection check |
| Info Leak | Cek apakah error response bocorkan stack trace / SQL |
| Oversized Payload | Kirim 100KB payload untuk cek DoS resistance |
Report disimpan di folder reports/ dengan nama YYYY-MM-DD-[provider].md.
Isi report:
Edit tests/endpoints/suite.yaml:
- name: nama-endpoint
method: POST # GET | POST | PUT | PATCH | DELETE
path: /api/resource
auth: true # sertakan Authorization header?
expectedStatus: 201
body:
field: value
expectedFields:
- id
- name
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"sentinel-mcp": {
"command": "npx",
"args": []
}
}
}