baselinker-mcp
# baselinker-mcp
Free, open-source **MCP server + CLI** for the [BaseLinker API](https://api.baselinker.com/).
There is no free BaseLinker MCP on the market — this is one. MIT licensed.
It is **token-lean by design**: instead of dumping ~150 tool schemas into the model's
context, it exposes two tools — a generic `baselinker_call` that can invoke *any* of the
~150 API methods (including future ones), and `baselinker_list_methods` for on-demand
discovery. Full API coverage, minimal context cost.
## Install
```bash
pipx install baselinker-mcp # or: pip install baselinker-mcp
```
From source:
```bash
git clone https://github.com/konradbachowski/baselinker-mcp
cd baselinker-mcp
pip install -e .
```
## Get a token
BaseLinker panel → **My account → API** → copy the token. Then either:
```bash
baselinker auth set <YOUR_TOKEN> # stored in ~/.config/baselinker/config.json (chmod 600)
# or
export BASELINKER_TOKEN=<YOUR_TOKEN>
```
## MCP usage
The server command is `baselinker-mcp` and reads `BASELINKER_TOKEN` from the environment.
**Claude Desktop / Claude Code** (`claude_desktop_config.json` or `.mcp.json`):
```json
{
"mcpServers": {
"baselinker": {
"command": "baselinker-mcp",
"env": { "BASELINKER_TOKEN": "your-token-here" }
}
}
}
```
**Cursor** (`.cursor/mcp.json`): same shape.
The two exposed tools:
| Tool | Purpose |
|------|---------|
| `baselinker_call(method, parameters)` | Invoke any BaseLinker API method. |
| `baselinker_list_methods(filter?)` | Discover method names, categories and params. |
## CLI usage
```bash
baselinker methods # list all ~150 methods
baselinker methods order # filter by name/category
baselinker call getOrders --params '{"get_unconfirmed_orders": true}'
baselinker call updateInventoryProductsStock \
--params '{"inventory_id": 123, "products": {"456": {"bl_001": 10}}}'
```
Output is the raw JSON response from BaseLinker.
## Security
- **Never commit your token.** `.env` and `~/.config/baselinker/` are gitignored.
- The API token grants full account access — treat it like a password.
- BaseLinker rate limit is **100 requests/min**; the client throttles to stay under it.
## Method coverage
All ~150 documented methods across Orders, Invoices, Receipts, Order Returns, Courier
Shipments, CRM, Product Catalog (Inventory), Inventory Documents, Purchase Orders,
Fulfillment Deliveries, Suppliers, Payers, BaseLinker Connect and External Storages.
Run `baselinker methods` for the full list, or read [the API docs](https://api.baselinker.com/).
## Need it built for you?
This tool is free — but wiring BaseLinker into your stack (syncing stock and orders across
marketplaces, automating fulfillment, connecting your ERP/CRM, custom integrations) is real
work. That's what we do at **[HeyNeuron](https://heyneuron.com)**, an AI-first software house.
- **E-commerce integrations** → https://heyneuron.com/pl/uslugi/integracje/ecommerce
- **Business automation** → https://heyneuron.com/pl/uslugi/automatyzacje
- **Free audit / quote (reply within 2h on business days)** → https://heyneuron.com/pl/bezplatny-audyt
If you want BaseLinker automation or an e-commerce integration implemented, get in touch.
## License
MIT — see [LICENSE](LICENSE).
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: one discovers available API methods and the other invokes them. There is no overlap or ambiguity in selecting between them.
Both tools share the baselinker_ prefix and use snake_case, but baselinker_call is a bare verb while baselinker_list_methods follows a verb_noun pattern. This is a minor inconsistency rather than a chaotic naming scheme.
At two tools, this is slightly below the typical 3-15 range, but each tool earns its place for a generic API bridge: one for discovery and one for execution. The count is minimal without feeling incomplete.
The generic baselinker_call provides access to every BaseLinker API method, so there are no missing CRUD or lifecycle operations. The baselinker_list_methods tool covers the discovery gap that would otherwise leave agents guessing at method names.