Skip to main content
One tool is one public GraphQL operation. tags runs query tags. customersAdd runs mutation customersAdd. There is no second API behind MCP.
  1. The app chooses a tool and passes arguments. Those arguments are the GraphQL arguments.
  2. The MCP server builds the query and POSTs it to your GraphQL URL with Authorization: Bearer.
  3. The JSON result is handed back to the app as text.
If the API key cannot run that operation, the tool cannot either. Test the same operation in the Playground before you blame the model. Scopes are explained in Authentication. Field docs for each operation are in the GraphQL reference. The names are listed in the tool catalog.

Show the agent fewer tools

A pack is the list you want. Set KARZOUN_MCP_PACK locally, or call /mcp/customer-support over HTTP.
KARZOUN_MCP_TOOL_PREFIX cuts that list further. customers keeps customers, customersAdd, and customerDetail, and drops everything else. Use a pack first. Use a prefix when one pack is still too wide.

Reads and writes

Queries are marked read-only. Mutations are marked as writes. Those marks are hints for the app. They do not stop a delete. The API key’s scopes do.

When a call fails

The tool returns JSON with an error string. Permission failures, validation failures, and replies over 512 KB all look like that. Lower perPage or add a filter when the message says the response is too large. See Pagination. MCP does not stream new inbox messages. Use webhooks for that. It also does not install MiniApps.

Local and hosted

On your computer the npx process holds KARZOUN_API_KEY and calls GraphQL itself. Hosted MCP is POST https://YOUR_SUBDOMAIN.api.karzoun.chat/mcp. Your server sends Authorization: Bearer on each request, or Claude.ai and ChatGPT sign the user in. Details: HTTP MCP.
Last modified on August 8, 2026