> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quivly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Developers FAQ

> Common questions about the Quivly MCP server, API keys, the Usage Push API, and importing skills from GitHub.

<AccordionGroup>
  <Accordion title="How do I connect Claude to Quivly?">
    Add `https://mcp.quivly.ai/connect` as a custom connector in Claude (Settings → Connectors), or run `claude mcp add --transport http quivly https://mcp.quivly.ai/connect` in Claude Code. First use opens a one-time Quivly sign-in. See [MCP server](/developers/mcp-server).
  </Accordion>

  <Accordion title="Is the MCP server read-only?">
    Yes, with one exception: `create_notebook` can generate a new AI notebook. Nothing can be edited or deleted through MCP, and every call is logged.
  </Accordion>

  <Accordion title="How does MCP authentication work?">
    OAuth 2.1 — each user signs in with their own Quivly account in the browser on first connect. No API keys or shared tokens, and answers are scoped to the user's organization.
  </Accordion>

  <Accordion title="How do I send product usage data to Quivly?">
    POST batches of events (up to 1,000) to `https://app.quivly.ai/api/v1/usage/events` with an org API key as a bearer token. Events carry `external_customer_id`, `metric_key`, `value`, and optionally a timestamp, granularity, and properties. See the [Push API](/integrations/product-usage/api-overview).
  </Accordion>

  <Accordion title="Why aren't my pushed events showing up?">
    Events are stored only after the Push API source is published. Before that, calls run in verify mode — resolved and reported, never stored. Also check the response's errors array for unmatched customer IDs. Use `?dry_run=true` to test safely anytime.
  </Accordion>

  <Accordion title="Are Push API requests idempotent?">
    Send an `Idempotency-Key` header (a UUID) — retries with the same key replay the original response instead of double-writing.
  </Accordion>

  <Accordion title="Can I manage skills in a Git repo?">
    Yes — author them as `SKILL.md` files in the Anthropic Agent Skills format and import via the GitHub App. Re-import to sync changes. See [GitHub skill import](/developers/github-skill-import).
  </Accordion>

  <Accordion title="Is there a general REST API for customer data?">
    The documented public API today is the Usage Push API (data in). For reading data programmatically, the MCP server is the supported surface.
  </Accordion>
</AccordionGroup>
