Gameball MCP Server
Click on "Deploy 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., "@Gameball MCP Server Search docs for customer creation API"
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.
Gameball Integrations
Unified Model Context Protocol (MCP) server providing comprehensive access to Gameball's developer documentation and API integration.
Features
This server combines two subsystems and a status tool:
Documentation Tools (7 tools)
No API keys required - Automatically fetches and indexes documentation from GitHub
Search and browse Gameball developer docs
Get API endpoint specifications
Generate code examples in multiple languages (JavaScript, Python, C#, Go, PHP, Java)
Access tutorials and guides
Integration Tools (71 tools)
Requires API keys - Make real API calls to Gameball's services
Customer management (create, update, query, balance, tags, notifications)
Transaction handling (cashback, redemption, holds, refunds, OTP)
Order tracking and queries
Coupon validation and burning
Batch operations
Configuration queries
Referral system
Leaderboards
Events and payments
Status Tool (1 tool)
gameball-status- Shows server health, subsystem status, configuration, and cache info
Total: 79 tools in one server
Related MCP server: ls-apis-mcp
Installation
Prerequisites
Node.js >= 20
Clone and build the project:
git clone <repository-url> gameball-integrations
cd gameball-integrations
npm install
npm run buildAdd to Your Project (recommended)
Create a .mcp.json file at the root of your project. Claude Code automatically detects this file and loads the MCP server for that workspace.
Docs only (no API keys needed):
{
"mcpServers": {
"gameball": {
"command": "node",
"args": ["/path/to/gameball-integrations/dist/index.js"]
}
}
}Docs + Integration (requires API keys):
{
"mcpServers": {
"gameball": {
"command": "node",
"args": ["/path/to/gameball-integrations/dist/index.js"],
"env": {
"GAMEBALL_API_KEY": "your-api-key",
"GAMEBALL_SECRET_KEY": "your-secret-key"
}
}
}
}Tip: If the MCP repo is a sibling directory, use a relative path:
"args": ["../gameball-integrations/dist/index.js"]
Add Globally (all projects)
To make the tools available across all projects, add the config to ~/.claude/settings.json under the same mcpServers structure shown above.
Via Claude Code CLI
# Docs only
claude mcp add gameball node /path/to/gameball-integrations/dist/index.js
# With API keys
claude mcp add gameball node /path/to/gameball-integrations/dist/index.js \
-e GAMEBALL_API_KEY=your-api-key \
-e GAMEBALL_SECRET_KEY=your-secret-keyEnvironment Variables
Variable | Required | Description | Default |
| For integration tools | Your Gameball API key |
|
| For sensitive operations | Your Gameball secret key |
|
| No | API base URL |
|
| No | GitHub token for higher rate limits |
|
Tool Categories
Documentation Tools (docs-* prefix)
All documentation tools work without API keys:
Tool | Description |
| START HERE - Comprehensive lookup returning tutorials, docs, and API endpoints for a topic |
| Get full content of a specific documentation page |
| Get detailed API endpoint specification with parameters and schemas |
| Generate code examples in JavaScript, Python, C#, Go, PHP, or Java |
| Full-text search across all documentation |
| Browse documentation structure and available topics |
| Get step-by-step tutorial content |
Integration Tools (by domain)
All integration tools require GAMEBALL_API_KEY. Tools marked with š also require GAMEBALL_SECRET_KEY.
Authentication (1 tool)
generate-session-token- Generate JWT session token
Customers (21 tools)
create-customer,get-customer,update-customer,delete-customerget-customer-balance,adjust-customer-balancešget-customer-referrals,send-customer-notificationget-customer-tags,add-customer-tag,remove-customer-tagAnd more...
Transactions (13 tools)
cashback-transaction,redeem-points,redeem-points-otphold-points,cancel-hold,refund-transactionquery-transactions,reverse-transactionAnd more...
Orders (4 tools)
track-order,refund-order,query-orders,cancel-order
Coupons (7 tools)
validate-coupon,burn-coupon,lock-coupon,unlock-couponrevoke-burn-coupon,revoke-validation,list-customer-coupons
Batch Operations (9 tools)
batch-adjust-balance,batch-send-events,batch-cashbackbatch-redeem,batch-refund,batch-hold,batch-cancel-holdAnd more...
Configuration (10 tools)
get-action-config,get-challenge-config,get-level-configget-tier-config,query-tiers,query-levelsAnd more...
Other Domains
Custom (2 tools): Utilities like customer count, cart tracking
Events (1 tool): Send customer events
Leaderboard (1 tool): Get leaderboard rankings
Payments (1 tool): Record payments
Referrals (1 tool): Validate referral codes
Status Tool
Tool | Description |
| Shows subsystem health, API key configuration, cache location, and sync status |
How It Works
Startup
Fetches the latest commit SHA from GitHub (single API call)
Loads both subsystems in parallel:
Docs subsystem: Fetches
.mdxfiles anddocs.json, builds MiniSearch indexIntegration subsystem: Fetches
openapi.jsonindependently (gzip-cached)
Parses the OpenAPI spec into endpoint definitions (shared by both subsystems)
Registers all tools and connects via stdio
Progress is reported to stderr during loading:
Checking for updates...
Loading...
Ready ā 79 toolsDocumentation Subsystem
GitHub Fetching: Fetches Gameball docs from GitHub with batched requests
Commit-SHA Cache: Validates cache with 1 API call, re-fetches only when docs change
Full-Text Indexing: MiniSearch with fuzzy matching and heading-based chunking
Stale-Cache Fallback: Uses cached docs if GitHub is unreachable
Integration Subsystem
Independent OpenAPI Fetch: Fetches only
openapi.json(not the full docs repo)Gzip Cache: Stores the OpenAPI spec compressed with atomic writes
Auto-Generated Tools: All 71 tools generated from OpenAPI spec at startup
Smart Adaptive Verbosity: Intelligent descriptions save 78% tokens (~7,000 tokens)
HTTP Client: Wraps Gameball API v4.0 with automatic auth header injection
Graceful Failure
All GitHub fetches have a 10-second timeout. If GitHub is unavailable:
With cache: Falls back to stale cached data
Without cache (cold start): Server starts with 0 tools + status tool
The
gameball-statustool always registers and shows the error state
First run: ~2-3 seconds (fetches from GitHub) Subsequent runs: ~200-500ms (validates cache with 1 API call)
Architecture
gameball-integrations/
āāā src/
ā āāā index.ts # Entry point (stdio transport)
ā āāā server.ts # Server creation (parallel init, graceful failure)
ā āāā status-tool.ts # gameball-status tool
ā āāā docs/ # Documentation subsystem (7 tools)
ā ā āāā index.ts # Init + tool registration
ā ā āāā fetcher.ts # GitHub fetching + SHA-based cache
ā ā āāā doc-indexer.ts # MiniSearch indexing + chunking
ā ā āāā mdx-parser.ts # MDX ā plain text
ā ā āāā codegen.ts # Multi-language code generation
ā ā āāā types.ts # Doc-specific types
ā ā āāā tools/ # 7 documentation tools
ā āāā integration/ # API integration subsystem (71 tools)
ā ā āāā index.ts # Client creation + tool registration
ā ā āāā openapi-fetcher.ts # Independent openapi.json fetch + gzip cache
ā ā āāā http-client.ts # GameballClient (auth, error formatting)
ā ā āāā generator.ts # Auto-generates 71 tools from OpenAPI
ā āāā shared/ # Common utilities
ā āāā github-cache.ts # GitHub fetch, SHA check, cache dir, timeout
ā āāā types.ts # Shared type definitions (ApiEndpoint, etc.)
ā āāā openapi-parser.ts # OpenAPI JSON ā ApiEndpoint mapCache Layout
~/.cache/gameball-integrations/
āāā manifest.json # Docs cache manifest (commitSha, file list)
āāā [__-delimited .mdx files] # Cached documentation pages
āāā openapi-manifest.json # OpenAPI cache manifest (commitSha, timestamp)
āāā openapi.json.gz # Gzip-compressed OpenAPI specUsage Examples
Learning about Gameball
Use docs-lookup-topic to learn about "customer referrals"
Use docs-get-doc to read "tutorials-new/referral-setup"
Use docs-generate-code-example for JavaScript customer creationMaking API Calls
Use create-customer to register a new customer
Use cashback-transaction to reward points
Use query-transactions to check transaction historyChecking Server Health
Use gameball-status to see subsystem status, config, and cache infoDevelopment
# Install dependencies
npm install
# Run in development mode (with auto-reload)
npm run dev
# Build for production
npm run build
# Run built version
npm startRequirements
Node.js >= 20
For integration tools: Valid Gameball API credentials
License
MIT
Links
Support
For issues or questions:
Documentation tools: Check cache at
~/.cache/gameball-integrations/Integration tools: Verify API credentials in environment variables
GitHub Issues: [Report bugs or request features]
Available Tools
40 toolsachieveSocialChallengeD
š Create social-challenge
Inputs: customerId (required), challengeId (required), email, mobile.
attachCustomerTagsD
š Create tag
Inputs: tags (required), customerId (required).
calculateOrderCashbackD
Create cashback
Inputs: totalPaid (required), totalDiscount (required), totalShipping (required), email, +5 more.
calculatePaymentCashbackD
Create cashback
Inputs: email, mobile, merchant, totalTax, +6 more.
createCustomerC
Create customer
Inputs: customerId (required), email, guest, mobile, +4 more.
deleteCustomerC
š Delete customer
Inputs: customerId (required).
docs-generate-code-exampleDocs: Generate Code ExampleA
Generate a code example for a Gameball API endpoint in a specific programming language. Use when the user asks for code in a specific language (not cURL, which is already included in docs-get-api-endpoint).
Inputs: method (required), endpoint (required), language (required), body.
docs-get-api-endpointDocs: Get API EndpointA
Get full details of a specific REST API endpoint including parameters, request/response schemas, and a cURL example. Use after docs-lookup-topic when you need details on a specific endpoint.
Inputs: method, search, endpoint.
docs-get-docDocs: Get Doc PageA
Get the full content of a specific doc page by path. Use after docs-lookup-topic when you need to read a specific page in full.
Inputs: path (required).
docs-get-tutorialDocs: Get TutorialA
Get a specific Gameball tutorial by topic. Use when you need the full step-by-step tutorial content. For broad questions, use docs-lookup-topic instead.
Inputs: topic (required).
docs-list-sectionsDocs: List SectionsA
List the documentation structure: tabs, sections, and page slugs. Use when the user wants to browse available topics or you need to discover page paths.
Inputs: section.
docs-lookup-topicDocs: Lookup TopicA
START HERE. Comprehensive single-call lookup that returns tutorials, related docs, AND relevant API endpoints for a topic. Use this first for any broad question (e.g. "how to create an order with redemption", "referral setup", "customer management"). Only use the other tools if you need to drill deeper into a specific page or endpoint.
Inputs: topic (required).
docs-search-docsDocs: Search DocsA
Full-text search across all Gameball docs. Returns titles and snippets. Use when docs-lookup-topic did not find what you need or you need to search within a specific section.
Inputs: query (required), limit, section.
gameball-statusGameball: Server StatusA
Shows server health, subsystem status, configuration, and cache info.
Inputs: no named parameters.
getCampaignsConfigurationsC
Get reward-campaign
Inputs: lang, customerId, productSku, collectionId.
getCustomerD
Get customer
Inputs: customerId (required).
getCustomerActivitiesD
š Get activitie
Inputs: customerId (required), limit, startAfter, activityType.
getCustomerActivitiesCountD
š Get count
Inputs: customerId (required), activityType.
getCustomerAutomationCampaignsD
Get automation
Inputs: customerId (required), campaignType.
getCustomerBalanceC
š Get balance
Inputs: customerId (required), expand.
getCustomerCampaignsProgressD
š Get reward-campaigns-progres
Inputs: customerId (required), lang, campaignId, campaignType.
getCustomerCouponsD
š Get coupon
Inputs: customerId (required).
getCustomerDailyStreakProgressD
š Get streak
Inputs: campaignId (required), customerId (required).
getCustomerDetailsD
š Get detail
Inputs: customerId (required).
getCustomerHashD
š Get hash
Inputs: customerId (required).
getCustomerNotificationsCountD
Get count
Inputs: customerId (required), lang, isRead.
getCustomerReferralsC
š Get referral
Inputs: customerId (required), limit, startAfter.
getCustomerReferralsCountD
š Get count
Inputs: customerId (required).
getCustomerStampsProgressD
š Get stamp
Inputs: customerId (required), challengeId (required).
getCustomerTierProgressD
š Get tier-progres
Inputs: customerId (required), lang, expand.
getOrderTransactionsC
š Get transaction
Inputs: orderId (required).
getReferralsConfigurationsC
Get referral
Inputs: lang.
getTiersConfigurationsC
Get tier
Inputs: lang.
listCustomerNotificationsD
Get notification
Inputs: customerId (required), lang, limit, isRead, +1 more.
markNotificationsReadD
š Update read
Inputs: customerId (required), notificationIds (required).
removeCustomerTagC
š Delete tag
Inputs: tag (required), customerId (required).
removeCustomerTagsD
š Delete tag
Inputs: tags (required), customerId (required).
sendEventsD
Create event
Inputs: events (required), customerId (required).
trackOrderC
š Create order
Inputs: orderId (required), orderDate (required), totalPaid (required), customerId (required), +14 more.
validateReferrerCodeD
Get validate
Inputs: referrerCode (required), forCustomerId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogā¦
TDQS
Scored across 40 tools
Many tools target distinct resources (balance, tier progress, referrals, activities), but overlaps exist: getCustomer vs getCustomerDetails, removeCustomerTags vs removeCustomerTag, and the docs-lookup-topic/search-docs and get-doc/get-tutorial pairs could confuse agents.
The tool set mixes two conventions: docs tools use hyphenated lowercase with a docs- prefix (e.g., docs-lookup-topic), while API tools use camelCase verbs (e.g., createCustomer, getCustomer). Pluralization is also inconsistent (removeCustomerTags vs removeCustomerTag).
40 tools is excessive for a single server, especially with ~15 getCustomer* variations. This makes selection harder and suggests tools could be consolidated into parameterized endpoints.
The server covers a broad range of Gameball operations (customers, orders, campaigns, referrals), but lacks obvious operations like updating a customer or fetching a single order. Documentation tools are comprehensive, but the API surface is not fully CRUD-complete.
Maintenance
Related MCP Connectors
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
Find, document and execute authenticated API calls across 1000+ apps via one MCP server
Unified.to MCP server ā one API for 500+ B2B SaaS integrations across 28+ categories
MCP server for AI access to Swagger by SmartBear.
Related MCP Servers
- FlicenseBqualityDmaintenanceProvides access to all 471+ DigitalOcean API endpoints through an MCP server that dynamically extracts them from the OpenAPI specification, enabling search, filtering, and direct API calls with proper authentication.61-
- MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for API discovery and execution with a token-efficient search -> execute workflow over OpenAPI, Google Discovery, and optional native GraphQL and gRPC sources.90 npm13Apache 2.0
- AlicenseBqualityDmaintenanceComprehensive API development and testing MCP server for Claude Code. Integrates OpenAPI parsing, testing, SDK generation, and documentation generation into Claude workflows.81MIT