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
Info

**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).

Warning

`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 /groove entry point wired for all 7 reverse transaction operations: getaccount, getbalance, wager, result, rollback, jackpot, wagerAndResult.
  • Inbound Authorization HMAC verification, implemented against the documented scheme.
  • The documented success responses and the full error catalogue — HTTP 200 with 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.

Info

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.