Quickstart

    Connect your AI client once and instruct it well: the gateway returns results with citations attached — or an explicit no-match, never a silent gap — and the instructions below make your client pass that honesty through. Five steps take you from nothing to a cited answer you can check. There is no SDK to install and no API key to paste: one URL, OAuth in the browser, and your client registers itself.

    step 1 · connect

    Connect a client

    The gateway speaks MCP over HTTP at a single endpoint — https://gateway.ansvar.eu/mcp. You do not need IT to install anything; you need IT to allow one connector. Two prerequisites: an Ansvar account (sign in with Google, Microsoft, or email and accept the business-use terms — no card, no VAT entry; start at pricing), and an AI client that allows custom MCP connectors — some client plans gate this, and the Setup guide lists the per-client requirements.

    claude desktop · claude.ai

    One click from the connector directory

    Ansvar is a listed Claude connector: open the listing, press Connect, sign in. Or add it by hand — Customize → Connectors → Add custom connector. Either way OAuth runs in the browser: Dynamic Client Registration plus PKCE. Approve once, then ask. To give your agent standing instructions to route bare compliance questions — no per-message “Using Ansvar” lead — also install the Using Ansvar routing skill (a ready-made ZIP, uploaded once under Settings → Skills).

    Name: Ansvar
    URL:  https://gateway.ansvar.eu/mcp
    claude code

    One command

    Registers the gateway as an HTTP MCP server. The first tool call opens the consent flow.

    claude mcp add --transport http ansvar https://gateway.ansvar.eu/mcp

    The --transport http flag is required — without it the CLI defaults to stdio and the server name resolves against a binary that doesn't exist. Then start Claude, run /mcp, choose Authenticate.

    cursor · vs code

    One JSON block each

    Same endpoint, same flow — but the two configs differ. Cursor reads ~/.cursor/mcp.json with an mcpServers key; VS Code (Copilot agent mode) reads .vscode/mcp.json with a servers key. They are not interchangeable.

    Cursor — ~/.cursor/mcp.json:

    {
      "mcpServers": {
        "ansvar": {
          "url": "https://gateway.ansvar.eu/mcp"
        }
      }
    }

    VS Code — .vscode/mcp.json:

    {
      "servers": {
        "ansvar": {
          "type": "http",
          "url": "https://gateway.ansvar.eu/mcp"
        }
      }
    }

    first tool call triggers the OAuth consent flow — tier comes from your account (Free / Solo / Premium / Team / Company)

    Any MCP-capable client works — these are the ones we test every release. For ChatGPT see Connect ChatGPT; for Gemini see Connect Gemini; for Azure AI Foundry see Connect Azure AI Foundry; for Continue and Open WebUI see the full Setup guide; for Copilot Studio see its own walkthrough.

    step 2 · instruct your agent

    The 60 seconds that decide whether answers are reliable.

    A connected client with no instructions will still answer from memory — fluent, uncited, unverifiable. These four instructions turn the same client into a research assistant that answers only from cited sources. Paste this into your client's instructions field:

    You are a compliance research assistant. Answer legal, regulatory,
    and security-standards questions only from Ansvar tool results,
    never from your own knowledge.
    
    For every legal, regulatory, or standards question:
    1. Call the search tool, always with a scope: jurisdictions=["SE"]
       (adapt to your market; add "EU" for EU regulation - GDPR, NIS2,
       the AI Act), or frameworks=["GDPR"] for one EU framework across
       the board. On the Free plan, pass exactly one jurisdiction or
       framework per call.
    2. Never pass the user's whole question as the query. Reduce it to
       1-3 legal key terms in the language of the law you are searching
       - Swedish terms for Swedish law. Try alternative terms as separate
       searches. If a multi-concept query returns nothing, split it into
       one search per concept.
    3. If a search returns nothing, retry once with a synonym or a
       broader term, then retry with allow_broadening=true and label
       any relaxed matches as such.
    4. Cite every answer: law, article, and source URL from the
       results. If the results do not contain the answer, say which
       searches you ran and that you will not answer from memory -
       never invent a source.

    Where to paste it: Claude — Project instructions (or profile custom instructions); Claude Code — CLAUDE.md; Cursor — Project rules; VS Code — .github/copilot-instructions.md; ChatGPT — Custom instructions; Copilot Studio — the agent's Instructions field.

    Why each rule exists, a Dutch variant, and auditor-ready output patterns: Instruct your agent — the full guide. For a complete task — CRA product duties, EU incident reporting — you can skip the pasting entirely and give your agent a ready-made skill instead.

    step 3 · first question

    The first answer carries its sources.

    There is no LLM inside the gateway. It routes each call to the servers in scope, fans out in parallel, and returns results with citations attached. Your client reasons; the gateway supplies evidence. Type one of these, exactly as written — each needs only a single source, so it fits every plan's scope, including Free:

    • Using Ansvar: what does the GDPR say about the right to erasure?
    • Using Ansvar: what are Sweden's consumer-protection laws?
    • Using Ansvar: which UK statute governs data protection?

    Naming Ansvar in the question makes your client call the gateway instead of answering from its own memory.

    A good answer names the law, the article, and links the official source. That is the product — not the answer, the citation.

    Claude · connected to gateway.ansvar.eu
    > Using Ansvar: what does DORA require for ICT incident classification?
    → search("ICT incident classification", jurisdictions=["EU"])
    ← eu-regulations · 200 · 3 items · 3 verified

    Classify incidents by clients and counterparts affected, duration, geographic spread, data losses, criticality of the services affected, and economic impact.
    DORA Art. 18(1)

    Major incidents start the reporting chain: initial notification, intermediate report, final report.
    DORA Art. 19(4)

    fan-out · 4 of 224 servers in scope · bounded per-source deadlines · 3 verified · 0 unresolved — counts illustrative, fleet size live

    step 4 · check it's real

    Sixty seconds of verification.

    1. Ask: "Using Ansvar, call get_my_capabilities and tell me my plan, quota, and add-ons." — catches a wrong-account connection immediately.
    2. Ask: "Using Ansvar: what does the GDPR say about data minimisation? Cite the article." — expect Article 5(1)(c) with a source link. Then ask one question in your market's own language — expect the national provision, cited in that language.
    3. The grounding check — paste: "Which Ansvar source did you query, and which article number is this from? If you didn't query Ansvar, say so explicitly."

    You are set up when your client visibly shows an Ansvar tool call and the answer names its source, the article or section, and links it. No tool call means the assistant answered from memory — go back to step 2.

    step 5 · from answers to deliverables

    Cited answers are the floor. Workflows produce review-ready documents.

    DPIAs, threat models, gap analyses, tender reviews — claims carry their citations, and anything the sources cannot support is explicitly marked unresolved instead of papered over. Citations make the work checkable; your experts stay the ones who sign.

    The free tier is real (100 search calls/day scoped to one jurisdiction or one framework per question, and 1 workflow run a month on a system you describe — threat model, gap analysis or DPIA) and exercises the full connect flow — sign up at pricing. Solo (750/day, 2 runs a month) unlocks multi-source fan-out across the full fleet; Premium (5,000/seat/day) adds the legal evidence layer (case law, preparatory works, agency guidance) and raises the allowance to 5 workflow runs a month across the full interview-grounded catalog — LINDDUN threat models and TARA join the teaser set on a system you describe. Workflows on your own documents (gap analysis, DPIA, tender review) and unwatermarked branded exports are Team and Company tiers — see Your first gap analysis.

    Start one by asking: "Using Ansvar, help me run a GDPR Article 35 DPIA for our new analytics feature." It runs on every plan against a system you describe; grounding it in your own uploaded documents starts at Team. Worked examples: use cases.

    under the hood · citation contract

    Every item arrives with its provenance.

    the citation contract

    The gateway does not paraphrase sources into anonymity. Each served item carries three fields, always:

    _citation.source_url · where the text lives
    _citation.publisher · who issued it
    _citation.license · what you may do with it

    Two envelopes travel with every payload: served source items carry _citation.* provenance, and synthesized claims carry the attribution through from the items they rest on — the citation block shown below. Failed lookups return errors — never silence. A claim the fleet cannot verify arrives marked unresolved, not papered over; see What is the gateway for the design rationale.

    refusal discipline · unresolved beats invented
    under the hood · wire format

    One claim, on the wire.

    What your client receives. The claim and its anchor travel together — strip one and the other is useless by design.

    citation envelope · one claim
    { "claim": "Incidents are classified by clients affected, duration, geographic spread, data losses, criticality, and economic impact",
      "citation": { "source": "dora", "article": "18(1)",
        "url": "https://eur-lex.europa.eu/eli/reg/2022/2554#art18",
        "verified": true } }

    served items additionally carry _citation.source_url · _citation.publisher · _citation.license

    under the hood · tool reference

    A small surface, on purpose.

    Seven calls cover most sessions.

    ToolWhat it does
    searchFull-text search across in-scope sources, routed by jurisdiction and sector. Every hit carries its citation.
    get_provisionOne provision, verbatim, at article level — with source URL, publisher, and license.
    list_coverageWhat is live right now: jurisdictions, sources, and counts, machine-readable.
    validate_citationRound-trips a citation against the source corpus before you rely on it — a deterministic, non-model check: article numbers resolve, anchors exist, the URL returns the cited text.
    search_regulatory_updatesWhat regulators newly published (EUR-Lex OJ-L, Commission, EDPB) — typed records with original-publisher deep links, for monitoring what's new. Premium and above.
    describe_capabilitiesThe caller’s own view: tools, sources, and limits for the authenticated tier.
    search_guidanceAgency guidance from regulators, alongside the statute — part of the legal evidence layer, Premium and above.

    excerpt — run describe_capabilities for the live listing