@keyskraft/mcp
v2.0.1
Published
MCP server for Keyskraft product search and queues
Readme
@keyskraft/mcp
Read-only MCP server for Keyskraft product search and queues, backed by the NestJS API at /mcp/*.
Install: npmjs.com/package/@keyskraft/mcp
Cursor configuration
Add to Cursor Settings → MCP or .cursor/mcp.json.
Production (default)
Connects to https://api.keyskraft.com automatically:
{
"mcpServers": {
"keyskraft": {
"command": "npx",
"args": [
"-y",
"--package=@keyskraft/mcp",
"keyskraft-mcp",
"--api-key",
"your-production-api-key"
]
}
}
}Or with an environment variable:
{
"mcpServers": {
"keyskraft": {
"command": "npx",
"args": ["-y", "--package=@keyskraft/mcp", "keyskraft-mcp"],
"env": {
"KEYSKRAFT_API_KEY": "your-production-api-key"
}
}
}
}Local development
Point at your local API with --local or --api-url:
{
"mcpServers": {
"keyskraft": {
"command": "npx",
"args": [
"-y",
"--package=@keyskraft/mcp",
"keyskraft-mcp",
"--local",
"--api-key",
"your-local-api-key"
]
}
}
}Reload MCP servers in Cursor after saving (Settings → MCP → refresh).
CLI usage
Production:
npx -y --package=@keyskraft/mcp keyskraft-mcp --api-key your-production-api-keyLocal:
npx -y --package=@keyskraft/mcp keyskraft-mcp --local --api-key your-local-api-key| Flag / env | Description |
| --------------------------------------- | ------------------------------------------------------------------- |
| --api-key / KEYSKRAFT_API_KEY | API key matching API_KEY in the NestJS .env (required) |
| --local | Use http://localhost:3001 instead of the built-in production URL |
| --api-url | Override the API base URL (local dev only) |
| KEYSKRAFT_API_URL | Same as --api-url (optional override — not needed for production) |
| TRUPLAYS_API_KEY / TRUPLAYS_API_URL | Deprecated aliases kept for backward compatibility |
CLI flags take precedence over environment variables.
Available tools
Products
| Tool | Description |
| ----------------- | ------------------------------------------------------------------- |
| search_products | Search products by name, platform, region, DRM, category, and stock |
Queues
| Tool | Description |
| ---------------------------- | --------------------------------------------- |
| get_queue_status | Job counts for all Bull queues |
| get_queue_jobs | Jobs in a queue (with optional status filter) |
| get_queue_health | Health summary |
| get_queue_metrics | Throughput and error rate |
| get_key_procurement_status | Detailed key-procurement status |
| get_key_procurement_job | Single key-procurement job by ID |
API routes
The MCP server calls these read-only endpoints (protected by X-API-Key unless noted):
GET /search/products(public fallback for product search)GET /mcp/products/searchGET /mcp/queuesGET /mcp/queues/jobsGET /mcp/queues/healthGET /mcp/queues/metricsGET /mcp/queues/key-procurement/statusGET /mcp/queues/key-procurement/jobs/:jobId
Working on the package locally
cd mcp
npm install
npm run buildRun from the repo without publishing:
{
"mcpServers": {
"keyskraft": {
"command": "npx",
"args": [
"-y",
"--package=/absolute/path/to/truplays/mcp",
"keyskraft-mcp",
"--local",
"--api-key",
"your-local-api-key"
]
}
}
}Publishing
Create the @keyskraft npm org first if it does not exist, then:
cd mcp
npm version patch # or minor / major
npm publish --access publicThe README on npm updates automatically on the next publish.
Migration from @truplays/mcp
Replace @truplays/mcp / truplays-mcp with @keyskraft/mcp / keyskraft-mcp in your Cursor config. Rename TRUPLAYS_API_KEY to KEYSKRAFT_API_KEY (the old env var still works temporarily).
