PrijsProfeet MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PrijsProfeet MCPWhat's the price forecast for the PS5?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
This is an independent integration. It is not developed, endorsed, or supported by PrijsProfeet.
PrijsProfeet MCP exposes all 24 operations from the supported PrijsProfeet API contract as validated MCP tools. Use it from a local stdio client or deploy it as an authenticated Streamable HTTP server.
Contents
Related MCP server: OpenAI-Compatible MCP Gateway
Quick start: Docker + GHCR
Prerequisites: Docker Engine with Docker Compose v2. The GitHub Actions workflow publishes ghcr.io/thijserven/prijsprofeet-mcp:latest on pushes to main and also publishes immutable sha-<commit> tags.
git clone https://github.com/thijserven/prijsprofeet-mcp.git
cd prijsprofeet-mcp
# Required: protect the remote MCP endpoint.
export PRIJSPROFEET_MCP_AUTH_TOKEN="$(openssl rand -base64 32)"
export PRIJSPROFEET_MCP_BIND_ADDRESS="127.0.0.1:3000"
export PRIJSPROFEET_MCP_IMAGE="ghcr.io/thijserven/prijsprofeet-mcp:latest"
# Optional: required for PrijsProfeet Pro endpoints.
export PRIJSPROFEET_API_KEY=""
docker compose up --detach
curl --fail http://127.0.0.1:3000/healthThe server is now available at http://127.0.0.1:3000/mcp. Authenticate every MCP request with Authorization: Bearer <PRIJSPROFEET_MCP_AUTH_TOKEN>.
For a production deployment, replace :latest with a reviewed immutable digest (or an immutable sha-<commit> tag). Do not expose the endpoint directly to the public internet; bind to loopback or a specific LAN address and put an access-controlled reverse proxy in front of it when remote access is required.
To stop it:
docker compose downManual build
Use this path to build the image from the checked-out source rather than pulling GHCR.
git clone https://github.com/thijserven/prijsprofeet-mcp.git
cd prijsprofeet-mcp
export PRIJSPROFEET_MCP_AUTH_TOKEN="$(openssl rand -base64 32)"
export PRIJSPROFEET_MCP_BIND_ADDRESS="127.0.0.1:3000"
export PRIJSPROFEET_API_KEY="" # Optional; needed for Pro endpoints.
docker compose -f docker-compose.local.yaml up --build --detach
curl --fail http://127.0.0.1:3000/healthThe local image is named prijsprofeet-mcp:local. Stop it with:
docker compose -f docker-compose.local.yaml downDevelopment mode
Prerequisites: Node.js 22+ and npm.
npm install
cp .env.example .env
npm run devnpm run dev starts the stdio transport directly from TypeScript. stdout is reserved for the MCP protocol, so use an MCP client or the Inspector to interact with it. Add PRIJSPROFEET_API_KEY to .env only when you need Pro endpoints.
For the built stdio executable:
npm run build
node dist/index.jsConnect an MCP client
Streamable HTTP (Docker)
Configure an MCP client with:
URL: http://127.0.0.1:3000/mcp
Header: Authorization: Bearer <your PRIJSPROFEET_MCP_AUTH_TOKEN>GET /health is public; /mcp always requires the bearer token.
stdio (local development or manual build)
Use the built entrypoint. The server reads .env from its current working directory, so set the client's working directory to the repository root or pass the environment explicitly.
{
"mcpServers": {
"prijsprofeet": {
"command": "node",
"args": ["/absolute/path/to/prijsprofeet-mcp/dist/index.js"],
"cwd": "/absolute/path/to/prijsprofeet-mcp"
}
}
}Capabilities
Every tool validates its input with Zod before an upstream request. Object responses are returned both as readable JSON text and as MCP structuredContent. Upstream HTTP errors and timeouts are returned as MCP tool errors.
Area | Tools |
Health |
|
Products |
|
Search |
|
Matching |
|
Deals |
|
Partner |
|
API-key requirements
Public product, search, deal, and category operations can run without an API key. A PrijsProfeet Pro key is required for get_price_history, match_by_ean, match_product, compare_prices, and get_ean_stats. get_partner_usage also requires a key.
The MCP tool metadata includes _meta["nl.prijsprofeet/requiresProPlan"] so compatible clients can identify Pro-only tools before calling them. Request a free key through the PrijsProfeet API page or request_free_api_key.
Configuration
API client
Set these variables in .env for local stdio use, or in the deployment environment for Docker. Never commit .env.
Variable | Default | Purpose |
| unset | Sent as |
|
| API origin; non-HTTPS is allowed only for localhost |
|
| Positive upstream request timeout in milliseconds |
| project default | Identifies this integration to PrijsProfeet |
HTTP server (Docker)
Variable | Required | Purpose |
| Yes | Bearer token required for |
| Yes | Host address and port, for example |
| GHCR compose file only | Image reference, for example |
| No | Container bind host; defaults to |
| No | Container port; defaults to |
Architecture
stdio: src/index.ts ──────────────┐
├─ src/server.ts ─ src/tools/definitions.ts ─ PrijsProfeet API
HTTP: src/http-entry.ts ─ src/http.ts ┘ │
└─ Zod input schemassrc/tools/definitions.tsis the deterministic tool catalog: endpoint paths, HTTP methods, argument mapping, metadata, and validation.src/api/client.tsowns URL construction, headers, JSON encoding, timeouts, and upstream-error translation.src/config.tsis the only environment-reading boundary.src/server.tsis transport-independent.src/index.tshosts stdio;src/http-entry.tshosts authenticated Streamable HTTP.
dist/ is generated by npm run build; do not edit it directly.
Quality checks
npm run check
npm pack --dry-runnpm run check formats-checks, lints, type-checks, runs unit/in-memory MCP/stdio handshake tests, and builds the project. Tests do not call the live PrijsProfeet API.
For interactive local inspection:
npm run inspectThe Inspector launches the built stdio server. Tool calls made there are live upstream calls and count toward PrijsProfeet rate limits.
Operational notes
Respect the PrijsProfeet API terms, upstream rate limits, and anti-bot controls. This server does not bypass those controls and does not automatically retry requests, including
429responses.Pricing matches are not automatically current offers. Before presenting a cheapest current price, check
is_current_deal,promotion_status,valid_from, andvalid_until; usecurrent_only: truewhere a matching tool supports it.EAN matching is exact when an EAN exists. Name/brand/category matching is indicative, not proof of product identity. Dietary labels are indicative and not allergen information.
References
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
Alicense-qualityCmaintenanceMCP server exposing the full CutPro v1 API as 34 tools for AI clients — analyze videos, submit clipping jobs, manage clips, render, and publish posts. Supports stdio, Streamable HTTP, and OAuth 2.1.461MIT- Flicense-qualityDmaintenanceLocal MCP server that exposes fixed tools for GPT, Claude, and Gemini while routing to any OpenAI-compatible chat completions backend with independent configuration per target.1
- Alicense-qualityBmaintenanceMCP server that provides tools to retrieve weather information from a weather API, supporting both local stdio and remote Streamable HTTP transports.2701MIT
- Flicense-qualityCmaintenanceA production-oriented MCP server exposing tools for weather, currency conversion, text statistics, and server introspection, with auto-discovery, rate limiting, and API key auth.
Related MCP Connectors
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
A basic MCP server to operate on the Postman API.
MCP server for interacting with the Supabase platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/thijserven/prijsprofeet-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server