Agent discovery
Agent card
Publish a standard A2A 1.0 agent card and compatible orchestrators discover and invoke n-get automatically.
# output the card
nget --agent-card
# serve it where orchestrators look
nget --agent-card > /var/www/.well-known/agent.json
Generated live from --capabilities — never drifts from what n-get actually supports.
Primary interface
MCP server
MCP tools for direct agent control. No subprocess spawning, no output parsing.
{
"mcpServers": {
"n-get": { "command": "nget-mcp" }
}
}
| Tool | What it does |
|---|---|
| download_file | Download a single file |
| batch_download | Download multiple URLs concurrently |
| cancel_session | Kill a specific session; others continue |
| get_session | Full current state of one session |
| get_jobs | All active sessions across all processes |
| set_profile | Apply a config profile: fast / secure / bulk / careful |
| get_history | Download history with status and time filters |
| get_capabilities | Full capabilities document |
| get_instructions | AGENTS.md — the complete agent guide |
| fetch_http | HTTP API call (GET/POST/PUT/DELETE/PATCH) without leaving the MCP loop |
| get_agent_card | Agent card — serve at /.well-known/agent.json |
Observation
NDJSON events & webhooks
Every download and API call emits a structured JSON line to stdout. Forward all events to any HTTP receiver with --webhook.
$ nget https://example.com/model.bin --agent-id my-agent --webhook https://receiver/events
{"event":"session_start", "sessionId":"s_abc", "agent":"my-agent"}
{"event":"download_start", "url":"https://example.com/model.bin"}
{"event":"progress", "bytes":524288, "total":1048576, "speed":"512KB/s"}
{"event":"checksum_complete", "algorithm":"sha256", "digest":"a3f9..."}
{"event":"download_complete", "path":"./model.bin", "size":1048576}
{"event":"session_end", "sessionId":"s_abc", "success":1, "errors":0}
| Event | Key fields |
|---|---|
| session_start | sessionId, agent, pid, startTime |
| download_queued | url |
| download_start | url |
| progress | bytes, total, speed |
| checksum_start | url, algorithm |
| checksum_complete | url, algorithm, digest |
| download_complete | url, path, size |
| download_error | url, error, code |
| session_end | sessionId, success, errors |
| fetch_start | url, method |
| fetch_complete | url, status, latencyMs, contentType |
| fetch_error | url, error, latencyMs |
# filter events in a pipeline
nget https://example.com/data.zip | jq 'select(.event == "download_complete")'
# webhook flags
nget --webhook https://receiver/events \
--webhook-header 'Authorization: Bearer token' \
--webhook-events download_complete,download_error \
https://example.com/model.bin
CLI
Quick ref
The CLI runs the same engine as the MCP server. nget --help for all flags. nget instructions for the full agent guide.
# download
nget https://example.com/model.bin -d ./data --agent-id my-agent
# HTTP API call — structured JSON response, same event stream as downloads
nget fetch https://api.example.com/data.json
nget fetch --method POST \
--header 'Authorization: Bearer $TOKEN' \
--header 'Content-Type: application/json' \
--data '{"key":"val"}' https://api.example.com/endpoint
# SFTP
nget sftp://user@host/path/file.tar.gz --ssh-key ~/.ssh/id_ed25519
# signed webhooks — receiver verifies X-NGet-Signature: sha256=<hex>
nget --webhook https://receiver/events --webhook-secret mysecret https://example.com/model.bin
# agent card
nget --agent-card
# self-discovery
nget --capabilities
nget --openapi-spec
nget instructions