allegro-mcp
v0.2.1
Published
MCP server for safe Allegro seller catalogue operations — connect, list offers, query, plan and apply price/stock changes
Maintainers
Readme
allegro-mcp
MCP server for Allegro seller catalogue work: connect an account, list an offer, find offers, plan a price or stock change, apply it only after explicit confirmation.
Node 20+. stdio by default, Streamable HTTP with --http. Works with Cursor, Claude Desktop, VS Code, and any
general purpose agent.
Created by NOXLABS AI. Brand kit: noxlabs-brand. Not affiliated with Allegro.pl.
_ ______ _ ____ ___ ___ ____ ___ ____
/ |/ / __ \| |/_/ / / _ | / _ )/ __/ / _ | / _/
/ / /_/ /> </ /__/ __ |/ _ |\ \ / __ |_/ /
/_/|_/\____/_/|_/____/_/ |_/____/___/ /_/ |_/___/
Created by NOXLABS AI
https://noxlabsai.com
https://github.com/noxlabs-aiInstall
npx -y allegro-mcp --helpOr install the command: npm install -g allegro-mcp.
1. Register an Allegro app
apps.developer.allegro.pl — sandbox: apps.developer.allegro.pl.allegrosandbox.pl.
- Type headless / device_code. No redirect URI.
2. Connect the agent
Add the server to your client's MCP config — Cursor ~/.cursor/mcp.json, Claude Desktop
claude_desktop_config.json, VS Code .vscode/mcp.json:
{
"mcpServers": {
"allegro": {
"command": "npx",
"args": ["-y", "allegro-mcp"],
"env": {
"ALLEGRO_CLIENT_ID": "your-client-id",
"ALLEGRO_CLIENT_SECRET": "your-client-secret",
"ALLEGRO_USER_AGENT": "YourApp/1.0.0 (+https://example.com/YourApp)",
"ALLEGRO_TOKEN_STORE": "/absolute/path/to/token.json"
}
}
}
}Set ALLEGRO_TOKEN_STORE to a fixed path. npx does not guarantee a stable working directory.
3. Authorize the seller account
Ask the agent: "which Allegro account am I connected to?" It calls connect_account, and you get one of two
things back:
CONNECTEDwith the account login — already authorized, you are done.AUTHORIZATION_REQUIREDwith a link and an 8-character code. Open the link, approve as the seller (within the hour), then ask the agent to confirm. It callsconfirm_connection, which reportsPENDINGuntil you approve and thenCONNECTED.
Then try "list this product card https://allegro.pl/produkt/..." or "find my active offers and take 10% off the USB-C cables" — the agent plans the write, shows what will change, and writes nothing until you confirm.
Allegro rotates the refresh token on every refresh and kills the old chain, so the token file outranks
ALLEGRO_REFRESH_TOKEN, deleting it costs you another approval round, and only one process per account may
run.
Configuration
| Variable | Default | Description |
|---|---|---|
| ALLEGRO_CLIENT_ID | required | App client id |
| ALLEGRO_CLIENT_SECRET | required | App client secret |
| ALLEGRO_USER_AGENT | required | Registered UA, sent on every request |
| ALLEGRO_API_BASE | https://api.allegro.pl | REST host |
| ALLEGRO_AUTH_BASE | https://allegro.pl/auth/oauth | Token URL is ${ALLEGRO_AUTH_BASE}/token |
| ALLEGRO_SITE | https://allegro.pl | Offer link base |
| ALLEGRO_TOKEN_STORE | token.json | Rotated refresh token |
| ALLEGRO_REFRESH_TOKEN | none | Seeds the first run only |
| ALLEGRO_AUDIT_PATH | audit.jsonl | Append-only apply log |
| HOST / PORT | 127.0.0.1 / 3000 | --http bind |
--http has no authentication — anyone who can reach the port gets the seller tools. Keep it on localhost.
Source, architecture, and tests: github.com/noxlabs-ai/allegro-merchant-mcp.
