Elementary POS 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., "@Elementary POS MCPShow me the current actual stock for all items."
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.
Elementary POS MCP
Servidor MCP en TypeScript para la Elementary POS Public API (api.elementarypos.com, X-Api-Key, endpoints /v1/...). Expone operaciones de lectura/escritura como tools MCP y funciona en stdio (local) y Streamable HTTP (remoto/Docker).
Arquitectura
MCP Client (Cursor / Claude / opencode)
│ stdio: stdin/stdout ──► node dist/index.js
│ http: POST /mcp ──► node dist/http.js ──► X-Api-Key ──► Elementary POS API
└───────────────────────────────► api.elementarypos.com/v1/...src/index.ts— stdio (serveStdio)src/http.ts— Streamable HTTP stateless (WebStandardStreamableHTTPServerTransport {sessionIdGenerator: undefined}), CORS,/health,/src/server.ts— registra 32 toolssrc/config.ts— env + validaciónzodsrc/lib/api-client.ts—fetchconX-Api-Key, timeout,apiKeypor-requestsrc/tools/*+src/schemas/*
Related MCP server: MCP Officegest
Herramientas (32)
Dominio | Tools |
bills |
|
categories |
|
customers |
|
items |
|
orders |
|
receipts |
|
stock |
|
suppliers |
|
taxes |
|
webhooks |
|
Write/destructive anotadas con destructiveHint/idempotentHint.
Requisitos
Node.js 22+ (Docker usa
node:22-alpine,pnpm 10.11.0)API key de Elementary POS (
pak-...)
Variables de entorno
Variable | Default | Descripción |
| — | API key (recomendado). Alias legacy |
| — | Header |
|
| Base URL API |
|
| Timeout fetch |
|
| Puerto HTTP |
|
| Host HTTP |
|
|
|
|
| Path MCP |
Prioridad API key: apiKey param del tool > header x-api-key (por request) > X_API_KEY env > ELEMENTARY_POS_API_KEY env.
Formas de configurar la API key
1. Remoto Streamable HTTP — header (recomendado Docker)
opencode.json / cliente remoto:
{
"mcpServers": {
"elementary-mcp": {
"type": "remote",
"url": "http://localhost:3000/mcp",
"headers": { "x-api-key": "pak-JchAcmiGJgi9Lui41aGIKxfYZRUu9a" }
}
}
}Alternativas: Authorization: "Bearer pak-...". El servidor loguea apiKey from header (pak-JchA...) por request (stateless).
2. Por tool (sin env, multi-tenant)
Cualquier cliente puede pasar apiKey en el input del tool; el LLM lo inyecta si el usuario lo tiene en su config. Útil para mismo despliegue con distintas tiendas:
{ "apiKey": "pak-...", "dateFrom": "2026-08-29", "limit": 100 }3. Stdio local — env
Para stdio el host inyecta env al proceso:
Cursor .cursor/mcp.json:
{
"mcpServers": {
"elementary-pos": {
"type": "stdio",
"command": "node",
"args": ["/ABS/elementary-mcp/dist/index.js"],
"env": { "X_API_KEY": "${env:X_API_KEY}" }
}
}
}Claude Code:
claude mcp add --transport stdio --env X_API_KEY=pak-... elementary-pos -- node /ABS/dist/index.jsopencode stdio:
{ "type": "local", "command": ["node","dist/index.js"], "environment": { "X_API_KEY": "pak-..." } }Instalación y build
pnpm install
pnpm run typecheck
pnpm run build
# dev
pnpm run dev # stdio: tsx src/index.ts (se queda esperando stdin, normal)
pnpm run dev:http # http: tsx src/http.ts -> http://localhost:3000/mcp
pnpm run start:http # prod http: node dist/http.js
pnpm run start # prod stdio: node dist/index.jsDocker
# Dockerfile: node:22-alpine, pnpm 10.11.0, multi-stage, non-root appuser
# EXPOSE 3000, CMD ["node","dist/http.js"]docker build -t elementary-mcp .
docker run -p 3000:3000 elementary-mcp
# o con puerto custom:
docker run -p 8080:8080 -e PORT=8080 -e MCP_HTTP_PATH=/mcp elementary-mcp
# health
curl http://localhost:3000/health
# MCP endpoint
curl http://localhost:3000/mcp -H "x-api-key: pak-..."MCP_TRANSPORT=both levanta HTTP + stdio simultáneamente; stdio solo no expone puerto.
API source
Swagger 2.0 api.elementarypos.com.
Desarrollo
pnpm run typecheck
pnpm run buildLogs HTTP: [mcp] POST /mcp apiKey from header o no apiKey header. Got headers: ... para debug de opencode.json.
This server cannot be installed
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 Connectors
Malaysian SME accounting, e-Invoice and payroll for your AI. 56 tools; writes are approved drafts.
1Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Directory of APIs, merchants, and tools AI agents can actually use.
Build, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage KiotViet retail and F\&B operations including products, orders, customers, invoices, and inventory through the Public API. Features 36 integrated tools with automatic token refresh, middleware chain support, and configurable presets for different access levels.3
- FlicenseNot gradedqualityDmaintenanceExposes a curated subset of the Officegest API v2 (22 CRUD tools) for managing clients, sales, and stock to AI clients like Claude Code and Claude Desktop.1
- AlicenseBqualityDmaintenanceEnables AI agents to issue, void, query, and manage Taiwan e-invoices via 27 MCP tools, wrapping the Universal EC POS Web Service.27MIT
- AlicenseAqualityBmaintenanceExposes the Loyverse API as MCP tools to manage stores, products, inventory, customers, receipts, and more from AI assistants.54MIT
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/pedrocastellanos/elementary-pos-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server