Agents overview and quick start
Install the Haszno skill, CLI, and MCP server; run a first read-only command against the hosted demo in under five minutes.
The three tools
Haszno ships three packages for AI agents and automation scripts. The CLI and the MCP server call the same HTTP API with the same kind of credentials (an API key sent in the x-api-key header, or HTTP Basic), but they read them from different places: the CLI only from its --api-key / --api-url flags and environment variables (HASZNO_API_KEY, HASZNO_API_URL, HASZNO_BASIC), the MCP server from those environment variables or, if none is set, from ~/.config/haszno/config.json. See CLI configuration.
| Package | What it is | Best for |
|---|---|---|
MCP server (haszno-mcp) |
An MCP stdio server: 51 tools registered as haszno_* |
Interactive Claude Code or Claude Desktop sessions — tools appear natively, no shell invocation needed |
CLI (haszno) |
A Node.js command-line program | Shell scripts, cron jobs, Codex, Cursor terminal, headless agents |
Skill (haszno-skill) |
Guidance files for Claude Code: safety rules, workflow recipes, tool and command references | Claude Code can load it when the conversation is about Haszno; teaches the agent to use the MCP and CLI |
The skill is not a separate API surface. It loads in Claude Code and directs the agent to use the MCP when connected and fall back to the CLI otherwise.
Which one do I need?
| Your context | Use |
|---|---|
| Interactive Claude Code session | MCP server + skill |
| Claude Desktop | MCP server |
| Any MCP-compatible client (Cursor, Zed, …) | MCP server |
| Shell script or cron job | CLI |
| Codex terminal | CLI |
| You want all three set up at once | One-step installer |
Install
One-step installer (recommended)
Installs the CLI, MCP server, and skill in one command. Requires Node.js 20 or later, git, and npm.
curl -fsSL https://raw.githubusercontent.com/haszno-labs/haszno-skill/main/install.sh | bash
What it does:
- Clones all three repos into
~/.haszno/(withgh repo clonewhen the GitHub CLI is logged in, otherwisegit cloneover HTTPS) - Builds the CLI and MCP server (
npm install && npm run build) - Links the
hasznobinary globally withnpm link(falls back to a~/.local/bin/hasznosymlink) - Registers the MCP server with Claude Code:
claude mcp add haszno --scope user -- node ~/.haszno/haszno-mcp/dist/index.js(skipped ifclaudeis not on your PATH orhasznois already registered) - Copies skill files to
~/.claude/skills/haszno/
The installer does not set up credentials. At the end it prints the two export lines (HASZNO_API_URL, HASZNO_API_KEY) that the CLI needs.
The packages are not published on npm. Use the installer above or the GitHub install paths shown on the CLI reference and MCP server pages.
Local source override
HASZNO_SRC_DIR=~/Documents/medusa-shops/haszno-labs bash install.sh
Uninstall
bash ~/.haszno/haszno-skill/install.sh --uninstall
Removes ~/.haszno/, the ~/.local/bin/haszno symlink, the npm link (best effort), ~/.claude/skills/haszno/, and the MCP registration. It does not remove ~/.config/haszno/config.json.
What works without credentials
The hosted demo at https://haszno.com answers a set of public read-only endpoints without authentication, with synthetic data. Other endpoints return 401.
All prices, SKUs, and market data on the public demo are synthetic. Only the /api/settings and /api/impact responses carry a "demo": true field. See Authentication for how to get access to real data.
| Capability | No credentials (demo) | Needs credentials |
|---|---|---|
| List categories | Yes | — |
| List products with pricing and market comparisons | Yes | — |
| Dashboard stats, profit impact, pricing settings | Yes | — |
| View orders and proposals | Yes (empty lists) | — |
| Browse network suppliers or search the partner catalogue | — | Yes |
| View rules, automation status, product ideas | — | Yes |
| Update settings or prices | — | Yes |
| Approve or reject proposals | — | Yes |
| Push products to a webshop | — | Yes |
| Create or run automation rules | — | Yes |
Safety model
Read tools and list commands are always safe — call them freely without asking.
Every command that changes data requires an explicit confirmation:
- In the MCP server: pass
"confirm": truein the tool call arguments. Without it, write tools return a preview description and do not call the API. - In the CLI: pass
--yes. Without it, proposal, rule, import-push and peer commands print a preview and exit without changing anything; account, product, feed, idea and order write commands ask for confirmation at an interactive prompt.haszno import addis the exception: it writes without confirmation. See Write commands and confirmation.
Before any bulk write (approving proposals, running rules), check the automation kill switch:
haszno rules automation --json
# or via MCP: haszno_automation_get
If paused is true, do not approve proposals or run rules — report to the user first.
If an approved proposal batch looks wrong, call haszno proposals rollback --batch <batchId> or the haszno_proposals_rollback MCP tool before doing anything else. The batchId is returned by the approve command.
5-minute quick start
Step 1 — install
curl -fsSL https://raw.githubusercontent.com/haszno-labs/haszno-skill/main/install.sh | bash
Restart your shell (or open a new terminal) after installation.
Step 2 — verify connectivity
haszno account ping
No credentials needed. Expected output:
API: OK elérhető
Step 3 — run a first read command
Print the dashboard summary — no credentials needed:
haszno account stats --json
To use your own data later, export HASZNO_API_KEY for the CLI (see CLI configuration). The MCP server also reads ~/.config/haszno/config.json, which haszno login writes.
Step 4 — ask Claude
With the MCP server registered, open a Claude Code session and try:
"List the top Haszno categories and show me the product count for each."
"What are my current pricing settings?"
"What is the current pricing impact summary?"
Claude Code can load the skill on its own when you mention Haszno, dropshipping, or related topics.
Machine-readable docs
llms.txt
A structured index of every documentation page:
https://docs.haszno.com/llms.txt
This follows the llms.txt convention. AI agents that consume documentation before answering questions should fetch this file first to discover what pages exist.
llms-full.txt
A single file concatenating the full Markdown content of every page:
https://docs.haszno.com/llms-full.txt
Useful for agents that need the complete documentation in one HTTP request.
Markdown mirrors
Every HTML page has a plain-Markdown mirror at the same path with a .md suffix:
https://docs.haszno.com/en/agents.md
https://docs.haszno.com/en/cli.md
https://docs.haszno.com/en/mcp.md
https://docs.haszno.com/en/skill.md
Each HTML page also announces its mirror via an HTTP Link: response header:
Link: </en/agents.md>; rel="alternate"; type="text/markdown"
Copy page
Each page has a Copy page button that writes the page's Markdown to the clipboard. Use it in browser-embedded agents to ingest the current page without rendering HTML.
See also
- CLI reference — full command reference with all flags and examples
- MCP server — full tool reference with input and output schemas
- Agent skill — what the skill teaches, safety rules, workflow recipes
- Authentication — how to get API access beyond the demo
.com