Tools Reference
Tools Reference
The MCP server exposes 9 tools. Your AI assistant picks them automatically from your prompt, but they are documented here in full so you can call them directly over HTTP or check exactly what your assistant is doing.
Every argument below goes in params.arguments of a tools/call request — see
Calling the MCP directly over HTTP.
Tool summary
| Tool | Purpose | Required arguments |
|---|---|---|
list_tools |
List every tool with its description and input schema | — |
get_server_info |
Server name, version, endpoint count, supported integrations | — |
list_endpoints |
List every documented endpoint, grouped by integration and category | — |
get_endpoint |
Full spec for one endpoint: parameters, responses, error codes | integration, name |
search_docs |
Free-text search across endpoint names, summaries and categories | query |
sign_request |
Compute the signature header for a request | integration, key |
verify_signature |
Check whether a signature is valid — the request checker | integration, key, signature |
generate_snippet |
A runnable example for one endpoint in your language | integration, name, language |
generate_integration |
A complete, startable project for the whole transaction flow | integration, language |
**Always pass `integration: "reverse"`.** It scopes every answer to the reverse integration documented on this site.
Documentation tools
list_endpoints
Lists every documented endpoint, grouped by integration and category.
| Argument | Type | Required | Description |
|---|---|---|---|
integration |
string | Yes | reverse — scopes the listing to the integration on this site |
{ "name": "list_endpoints", "arguments": { "integration": "reverse" } }Returns the 19 reverse-integration entries:
| Category | Endpoints |
|---|---|
| Transaction Flow | GetAccount, GetBalance, Wager, Result, Wager And Result, Rollback, Jackpot |
| Game Launch | Game Launch, Dynamic Game URL |
| Free Round Bonuses | Create Bonus, Assign Bonus, Cancel FRB, Get FRB Status |
| Getting Started | Groove Reverse Integration Overview, Transaction API Overview, Free Round Bonus API Overview |
| Reference | Signature Validation, Error Code Appendix, Free Round Bonus FAQ |
Endpoint names are matched **exactly**, including spacing and capitalisation — `Wager And Result`, not `wagerAndResult`; `Cancel FRB`, not `Cancel Bonus`. Run `list_endpoints` first if you are unsure of a name.
get_endpoint
Returns the full structured spec for one endpoint: request parameters, response fields, status codes, signature scheme and authentication.
| Argument | Type | Required | Description |
|---|---|---|---|
integration |
string | Yes | reverse |
name |
string | Yes | Exact endpoint name, e.g. Wager, Get FRB Status |
{ "name": "get_endpoint", "arguments": { "integration": "reverse", "name": "Wager" } }Returns JSON — the endpoint’s method, path, category, summary, every documented parameter with its type and whether it is required, the success response shape, and the applicable status codes.
search_docs
Free-text search over endpoint names, summaries and categories.
| Argument | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | Free text, e.g. balance, free spin, idempotency |
integration |
string | Yes | reverse — scopes the search to this integration |
{ "name": "search_docs", "arguments": { "query": "free round", "integration": "reverse" } }Signature tools
Both signature tools implement the reverse scheme exactly as described in Signature Validation:
Signature = base64_encode(HMACSHA256(Path-And-Query, base64_decode(Access Key Value)))
Header = Authorization: HMAC-SHA256 Signature={Signature}Pass the Access Key Value as key — the tool performs the base64 decode for you.
sign_request
Computes the signature and returns the ready-to-send header.
| Argument | Type | Required | Description |
|---|---|---|---|
integration |
string | Yes | reverse |
pathAndQuery |
string | Yes | The request path plus query string, e.g. /groove?request=getbalance&accountid=1 |
key |
string | Yes | Your Access Key Value (base64, as issued by Groove) |
{
"name": "sign_request",
"arguments": {
"integration": "reverse",
"pathAndQuery": "/groove?request=getbalance&gamesessionid=123&accountid=456",
"key": "<your Access Key Value>"
}
}Result:
Authorization: HMAC-SHA256 Signature=<base64 signature>verify_signature
The request checker: confirms a signature matches the request. Use it when a signature is being rejected and you need to know whether the fault is yours or the sender’s.
| Argument | Type | Required | Description |
|---|---|---|---|
integration |
string | Yes | reverse |
pathAndQuery |
string | Yes | The path plus query string exactly as received |
key |
string | Yes | Your Access Key Value |
signature |
string | Yes | The base64 signature to check |
Result is valid, or invalid signature (401).
`Path-And-Query` must be the **exact** string that was signed: absolute path, the `?`, and the query in its original parameter order with original encoding. Re-ordering, decoding or dropping a parameter changes the hash and produces a false `invalid`.
Code generation tools
generate_snippet
A single runnable example for one endpoint, with the signing or verification step shown explicitly.
| Argument | Type | Required | Description |
|---|---|---|---|
integration |
string | Yes | reverse |
name |
string | Yes | Exact endpoint name, e.g. Wager |
language |
string | Yes | go, java, python, typescript, or curl |
{
"name": "generate_snippet",
"arguments": { "integration": "reverse", "name": "Wager", "language": "python" }
}generate_integration
Generates a complete, startable project — not a snippet. You get the files of a working skeleton:
- A real
/grooveentry point wired for all 7 reverse transaction operations:getaccount,getbalance,wager,result,rollback,jackpot,wagerAndResult. - Inbound
AuthorizationHMAC verification, implemented against the documented scheme. - The documented success responses and the full error catalogue — HTTP
200with the status in the body, as this API specifies. - One wallet seam per operation family: the small set of files you fill in with your own logic, routed per brand.
| Argument | Type | Required | Description |
|---|---|---|---|
integration |
string | Yes | reverse |
language |
string | Yes | go, java, python, or typescript |
{ "name": "generate_integration", "arguments": { "integration": "reverse", "language": "go" } }Returns a JSON list of files, each with a path, content, and an action:
action |
Meaning |
|---|---|
overwrite |
Regenerated on every call — protocol plumbing, do not hand-edit |
create-if-absent |
Written once and never clobbered — the wallet seams and config are yours to edit |
That split means you can re-run generate_integration after a docs update to refresh the plumbing without losing your
own code.
The generated project emits the full core transaction flow — there is no per-endpoint subsetting. For `java`, you get an opinionated Spring Boot blueprint.
Server tools
list_tools
Returns every registered tool with its description and full JSON input schema. No arguments. Useful for confirming your client is talking to the server you expect.
get_server_info
Reports the server’s identity and the size of its loaded catalogue. No arguments.
| Field | Meaning |
|---|---|
name |
Always groove-mcp |
version |
The tool catalogue version, e.g. 1.0.0 |
endpoints_loaded |
How many endpoint specs the server has in memory |
Use it as a liveness check: a successful response means your token is valid and the server is serving.