loading…
Search for a command to run...
loading…
Enables automated LLM red teaming by submitting asynchronous test runs, retrieving aggregated metrics, and accessing artifacts.
Enables automated LLM red teaming by submitting asynchronous test runs, retrieving aggregated metrics, and accessing artifacts.
MCP server for llamator: automate LLM red teaming workflows
This repository provides a production-oriented service wrapper around LLAMATOR for automated LLM red teaming. It exposes two integration surfaces:
Execution is asynchronous and is orchestrated via ARQ + Redis. Artifacts are uploaded to MinIO and are retrieved through presigned URLs (returned as JSON; the API does not redirect).
api_key_present).LLAMATOR_MCP_ARTIFACTS_ROOT/<job_id>/....artifacts.zip.X-API-Key./metrics.Requirements:
Start the full stack:
docker compose up --build
Default service endpoints:
http://localhost:8000http://localhost:9000http://localhost:9001Healthcheck:
curl -sS http://localhost:8000/v1/health
All configuration is provided via environment variables prefixed with LLAMATOR_MCP_.
A complete reference is available in DOCUMENTATION.md.
Typical local setup:
cp .env.example .env
Key configuration categories:
X-API-Key protection.curl -sS -X POST "http://localhost:8000/v1/tests/runs" \
-H "Content-Type: application/json" \
-H "X-API-Key: <optional>" \
-d '{
"tested_model": {
"kind": "openai",
"base_url": "http://host.docker.internal:1234/v1",
"model": "llm",
"api_key": "lm-studio"
},
"run_config": { "enable_reports": false },
"plan": { "preset_name": "owasp:llm10", "num_threads": 1 }
}'
The response contains:
job_id (uuid4 hex, 32 characters)status (queued | running | succeeded | failed)created_at (UTC timestamp)curl -sS "http://localhost:8000/v1/tests/runs/<job_id>" \
-H "X-API-Key: <optional>"
Response includes:
status: current job stateresult: aggregated metrics (when succeeded)error: error details (when failed)error_notice: compact user-facing error message (when failed)List objects available for a job:
curl -sS "http://localhost:8000/v1/tests/runs/<job_id>/artifacts" \
-H "X-API-Key: <optional>"
Resolve a presigned download URL for a specific object:
curl -sS "http://localhost:8000/v1/tests/runs/<job_id>/artifacts/<path>" \
-H "X-API-Key: <optional>"
The download endpoint returns a JSON payload containing download_url and does not emit redirects.
The MCP server is mounted into the FastAPI application (default mount path: /mcp) and uses Streamable HTTP transport.
Exposed tools:
create_llamator_run: submits a job, waits for completion, returns aggregated metrics and (if available) a presigned
URL for artifacts.zip.get_llamator_run: returns aggregated metrics for a finished job and the optional artifacts archive URL.Both tools return a consistent response schema:
{
"job_id": "string",
"aggregated": {
"attack_name": {
"metric": 0
}
},
"artifacts_download_url": "string or null",
"error_notice": "string or null"
}
Protocol notes, headers, and examples are documented in DOCUMENTATION.md.
LLAMATOR_MCP_API_KEY is empty, authentication is disabled.X-API-Key: <value>.Install dependencies:
poetry install
Run the API server:
uvicorn llamator_mcp_server.main:app --host 0.0.0.0 --port 8000
Run the worker:
arq llamator_mcp_server.worker_settings.WorkerSettings
A Jupyter notebook with step-by-step examples is available at notebooks/llamator_mcp_server_tutorial.ipynb.
It demonstrates:
Integration tests are located in llamator-mcp-server/tests and rely on tests/.env.test.
Run:
pytest -q
This project is licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 International license. See the LICENSE file for details.
Выполни в терминале:
claude mcp add llamator-mcp-server -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.