Loyalteez Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Loyalteez Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Model Context Protocol (MCP) server for Loyalteez - enabling AI assistants to design loyalty programs, create events, track rewards, and access comprehensive documentation.
The Loyalteez MCP Server provides AI tools (Claude, ChatGPT, Cursor, etc.) with direct access to Loyalteez's loyalty infrastructure. Design entire programs through natural conversation, create custom events, track rewards, and access full documentation - all via the MCP protocol.
The First Loyalty Platform with Native AI Integration - Enable AI assistants to build complete loyalty integrations through natural conversation.
The MCP server focuses on 3rd-party developer integration capabilities. For brand admin features (Stripe checkout, DNS verification, analytics), use the Partner Portal. See SCOPE.md for detailed scope definition.
npm install -g @loyalteez/mcp-serverOr install locally:
npm install @loyalteez/mcp-server# Clone the repository
git clone https://github.com/Alpha4-Labs/loyalteez-mcp.git
cd loyalteez-mcp
# Install dependencies
npm install
# Build the project
npm run buildThe built server will be available at dist/index.js.
Add to your Claude Desktop MCP configuration:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonIf installed via npm:
{
"mcpServers": {
"loyalteez": {
"command": "npx",
"args": ["@loyalteez/mcp-server"],
"env": {
"LOYALTEEZ_NETWORK": "mainnet",
"LOYALTEEZ_BRAND_ID": "0x47511fc1c6664c9598974cb112965f8b198e0c725e"
}
}
}
}If installed from GitHub:
{
"mcpServers": {
"loyalteez": {
"command": "node",
"args": ["/absolute/path/to/loyalteez-mcp/dist/index.js"],
"env": {
"LOYALTEEZ_NETWORK": "mainnet",
"LOYALTEEZ_BRAND_ID": "0x47511fc1c6664c9598974cb112965f8b198e0c725e"
}
}
}
}LOYALTEEZ_NETWORK: Network to use - mainnet (default) or testnetLOYALTEEZ_BRAND_ID: Your brand wallet address (optional, can also be provided per-tool)All developer documentation is available as MCP resources with URIs like:
loyalteez://docs/architectureloyalteez://docs/api/rest-apiloyalteez://docs/integrations/discordloyalteez://docs/guides/custom-eventsloyalteez://contracts/ltz-token, loyalteez://contracts/perk-nft, loyalteez://contracts/points-sale, loyalteez://contracts/allloyalteez://network/config - Soneium network configurationloyalteez://events/standard - Standard event types reference (includes channel constraints and domain validation)loyalteez://shared-services/endpoints - API endpoints for gamification servicesloyalteez://platforms/mappings - OAuth provider ID formatsloyalteez://errors/codes - Complete HTTP status codes and error response referenceloyalteez://errors/handling - Error handling patterns and best practicesloyalteez://rate-limits/endpoints - Rate limits by endpoint with reset periodsloyalteez://rate-limits/strategies - Code examples for handling rate limitsloyalteez://sdk/methods - JavaScript SDK method reference with examplesloyalteez://sdk/examples - SDK usage examples for React, Vue, Next.jsUser: "Design a loyalty program for my developer Discord with events for quality contributions"
AI: [Uses loyalteez_design_program tool]
Returns: Complete program with events, implementation code, and best practicesUser: "Create 5 events for my Telegram trading community"
AI: [Uses loyalteez_create_events_batch tool]
Returns: All created events + Telegram bot implementation codeUser: "Track a helpful_answer event for Discord user 123456789"
AI: [Uses loyalteez_track_event tool]
Returns: Success, reward amount, new balance, transaction hashUser: "Set up daily check-ins with streak bonuses for my Telegram bot"
AI: [Uses loyalteez_streak_checkin tool]
Returns: Current streak, multiplier, reward amount, next milestoneUser: "What's the balance for user discord_123456789?"
AI: [Uses loyalteez_get_user_balance tool]
Returns: Current balance, wallet address, transaction historyUser: "Create a reaction drop for 50 LTZ, first 100 users"
AI: [Uses loyalteez_create_drop tool]
Returns: Drop ID, claim URL, embed data for postingAI Assistant (Claude/ChatGPT)
↓ MCP Protocol
Loyalteez MCP Server
↓ HTTP API
Loyalteez APIs
- Event Handler (api.loyalteez.app)
- Shared Services (services.loyalteez.app)
- Pregeneration (register.loyalteez.app)npm run buildnpm run typechecknpm testSee Testing section for details.
loyalteez-mcp/
├── src/
│ ├── index.ts # Entry point
│ ├── server.ts # MCP server setup
│ ├── tools/ # MCP tools
│ │ ├── events.ts
│ │ ├── program-design.ts
│ │ ├── identity.ts
│ │ ├── engagement.ts
│ │ ├── user.ts
│ │ ├── transactions.ts
│ │ ├── drops.ts
│ │ ├── integrations.ts
│ │ ├── perks.ts
│ │ └── achievements.ts
│ ├── resources/ # MCP resources
│ │ ├── docs.ts
│ │ ├── contracts.ts
│ │ ├── network.ts
│ │ ├── event-types.ts
│ │ ├── shared-services.ts
│ │ ├── oauth.ts
│ │ ├── errors.ts
│ │ ├── rate-limits.ts
│ │ └── sdk.ts
│ ├── utils/ # Utilities
│ │ ├── api-client.ts
│ │ ├── brand-id.ts
│ │ ├── doc-loader.ts
│ │ ├── doc-index.ts
│ │ └── validation.ts
│ └── types/ # TypeScript types
│ └── index.ts
├── tests/ # Test suite
│ ├── brand-id.test.ts
│ ├── validation.test.ts
│ ├── resources.test.ts
│ ├── tools.test.ts
│ ├── api-client.test.ts
│ ├── integration.test.ts
│ └── README.md
├── examples/ # Usage examples
└── README.mdThe MCP server interacts with these Loyalteez APIs:
https://api.loyalteez.app (mainnet) / https://api.loyalteez.xyz (testnet)https://services.loyalteez.app (mainnet) / https://services.loyalteez.xyz (testnet)https://register.loyalteez.app (mainnet) / https://register.loyalteez.xyz (testnet)The brandId parameter is required for most operations but can be provided in two ways:
LOYALTEEZ_BRAND_ID in your environmentbrandId as a parameter to each tool callIf neither is provided, tools will return a helpful error message explaining how to set it up.
brandId identifierFull documentation is available as MCP resources. Access via:
loyalteez://docs/{path}For example:
loyalteez://docs/architecture - System architectureloyalteez://docs/api/rest-api - REST API referenceloyalteez://docs/integrations/discord - Discord integration guideThe MCP server includes a comprehensive test suite to validate all tools and patterns.
# Run all tests
npm test
# Run tests in watch mode (for development)
npm run test:watch
# Run tests with coverage report
npm run test:coverageTests cover:
See tests/ directory for detailed test files and tests/README.md for test documentation.
If you see "BrandId is required but not provided":
LOYALTEEZ_BRAND_ID environment variable, orbrandId as a parameter to the tool callEnsure you've built the project:
npm run buildResources are loaded at server startup. Ensure:
loyalteez://docs/...)This is an internal tool for Alpha4 Labs. For issues or questions, contact the Loyalteez team.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.