Connect Affine to your AI assistant.
Once you connect Affine, your assistant can use it to answer legal questions. Affine researches legislation, case law and regulatory guidance for your jurisdictions, reasons through how they fit together and returns research your assistant cites. This guide covers the two ways to connect, your first question and how to check what comes back. If something is not working, go to Support.
1Two ways to connect
Choose one before you start. The steps are different.
Everything from Your first question onward applies to both.
2Add Affine from your assistant's directory.
Affine has a listing in each assistant below. You add it from there and sign in with your Affine account. There is no address to paste.
What you need first
- An Affine account with your jurisdictions chosen. Sign in at affine.neuralshift.ai once and finish the setup steps. Your jurisdictions tell Affine which sources to research. Until you choose them, your assistant gets a message asking you to finish setup.
- An account with your assistant. In an organization an admin decides which listings members can add. If the listing shows a request button, send the request.
Claude
Listing: Affine in the Claude directory
- Open the listing. You can also reach it from Customize → Connectors → Discover by searching for Affine.
- Select Connect to Claude.
- Sign in with your Affine account and approve the access. If your organization uses Microsoft accounts, choose Sign in with Microsoft.
- Affine appears under Your connectors as Connected.
- In a new conversation select + in the message box, then Connectors, and check that Affine is on.
ChatGPT
Listing: Affine in ChatGPT
- Open the listing and sign in to ChatGPT if it asks.
- Add Affine from the listing.
- Sign in with your Affine account and approve the access. If your organization uses Microsoft accounts, choose Sign in with Microsoft.
- In a new chat type @Affine and pick it from the list.
Microsoft 365 Copilot
Listing: Affine in the Agent Store
- Open the listing and sign in with your work account. It opens in the Agent Store as Affine - AI Legal Research.
- Select Add. If the button reads Request approval, your IT administrator approves it first.
- Start a chat with the Affine agent. The first time, sign in with your Affine account.
- From then on you can also reach it from any Copilot chat by typing @Affine and picking it from the list.
Harvey
Listing: Harvey's connector library
Affine is listed in Harvey's connector library under the Legal Tech tab. The library has no page for each connector, so the link opens the library itself. In Harvey a workspace admin decides which connectors are available and who can use them. Ask your Harvey workspace admin to make Affine available to you. If they need help, write to us.
3Set up a custom connector.
You add Affine by its address instead of from a listing. Most people should add Affine from the directory. Use a custom connector when your assistant allows one and:
- Your organization restricts directory installs. Ask your admin which way is approved. In an organization an admin adds a custom connector too.
- Your assistant has no Affine listing.
- You are connecting an internal tool.
You do this once per assistant. You paste an address and sign in.
What you need first
- An Affine account with your jurisdictions chosen. Sign in at affine.neuralshift.ai, finish the setup steps and choose your jurisdictions before you add the connector. Without them the connector has no sources to research.
- A plan that allows custom connectors. ChatGPT needs Plus, Pro, Business, Enterprise or Edu, on the website or the desktop app. Claude allows custom connectors on every plan, and the Free plan allows one.
- Affine's address.The address you paste
https://mcp.affine.neuralshift.ai/mcp
Claude
On a personal plan you add Affine yourself. On Team and Enterprise an Owner adds it for the organization first. Open the one that matches you.
Claude Free, Pro or Maxyour own Claude account
- Open Customize → Connectors.
- Choose Add custom connector.
- Paste the address and confirm.
- Click Connect. Sign in with your Affine account and allow access. If your organization uses Microsoft accounts, choose Sign in with Microsoft.
- The connector appears in the list as Affine.
Claude Team or Enterpriseyour firm manages the organization
Members cannot add a custom connector themselves. It takes two steps.
- An Owner adds Affine for the organization. In Organization settings → Connectors click Add, choose Custom, then Web, paste the address and save. On Enterprise a custom role with that permission can do it too.
- Each member then connects it. Open Customize → Connectors, find Affine, click Connect, sign in with your Affine account and allow access. If your organization uses Microsoft accounts, choose Sign in with Microsoft.
If Affine is not listed under Customize → Connectors, ask an Owner of your Claude organization to add it.
In a new conversation select + in the message box, then Connectors, and check that Affine is on.
ChatGPT
The website and the desktop app have different screens, and workspaces add an admin step. Open the one that matches you.
ChatGPT on the webchatgpt.com on your own Plus or Pro plan
- Open your profile menu at the bottom left, then Settings → Security and login. Scroll to Developer mode and turn it on. ChatGPT labels it elevated risk because developer mode also allows connectors that change data. Affine only reads data.
- Open Plugins in the left sidebar or go to
chatgpt.com/plugins, and click the + button at the top right, next to the search box. - In the New Plugin form, name it Affine. Under Connection keep Server URL and paste the address. Leave Authentication on OAuth. Check the acknowledgment and click Create.
- Sign in with your Affine account and allow access. If your organization uses Microsoft accounts, choose Sign in with Microsoft.
- Affine now appears under Installed on the Plugins page and under Settings → Plugins.
ChatGPT desktop appsmacOS and Windows
The desktop app has its own screen for this and no developer mode switch. Follow these steps, not the web steps.
- Open Settings and choose Plugins, listed under Integrations.
- Click Add at the top right and choose Add MCP server. A form titled Connect to a custom MCP opens.
- Name it Affine. Under Type switch from STDIO to Streamable HTTP. An address field replaces the command fields.
- Paste the address and click Save. If the app asks to restart, let it.
- Affine now appears under the MCPs tab. If it is marked as needing sign-in, click Authenticate, sign in with your Affine account and allow access. If it is not, you sign in the first time Affine is used.
ChatGPT mobile appsiPhone, iPad and Android
Custom connectors are not available on mobile. OpenAI lists them as web only. The mobile apps cannot add one and OpenAI does not support using one there. Set up and use Affine on a computer.
ChatGPT Business, Enterprise or Eduyour firm manages the workspace
In a workspace your administrators govern custom connectors.
- Business: only an admin or owner can turn on developer mode and add the connector, from Workspace settings → Apps → Create. Some workspaces show Plugins. Once it is created and tested they publish it from Drafts and it appears for everyone in the workspace.
- Enterprise and Edu: an admin first grants you developer mode under Permissions & roles → Connected data. You then turn it on under Settings → Apps → Advanced settings or Security and login and add the connector as in the web steps. Admins can also publish it to everyone in the workspace.
If Affine has already been published to your workspace, find it in Plugins, click Connect and sign in with your Affine account.
In a new chat type @Affine and pick it from the list. On the website you can also open the + menu next to the message box, choose More → Developer mode and switch Affine on. The choice applies to the message you are writing, so mention Affine again on a follow-up that needs new research.
Another assistant or an internal tool
Use the same address. Where the tool asks for a type choose Streamable HTTP, and for authentication choose OAuth. Each person signs in with their own Affine account.
If you are building your own AI tools, talk to us about integration.
4Your first question
Ask a legal question in your own words and name Affine so your assistant uses it.
- In Claude, check that Affine is on and start with “Using Affine, …”.
- In ChatGPT and Microsoft 365 Copilot, type @Affine and pick it from the list.
What happens next:
- Your assistant passes Affine the question as you asked it.
- Affine uses the jurisdictions and sources on your account. Say the jurisdiction when your question concerns a different one.
- Affine researches the question. It searches your sources, opens documents, compares them and writes a cited report. This takes a few minutes. Wait for it to finish.
- Your assistant answers, with the documents it relied on attached as citations you can open.
5Getting better answers
- Call Affine by name. Name Affine in your question, then check that the answer cites legal documents. Type @Affine in ChatGPT and Microsoft 365 Copilot. In Claude, check that Affine is on and start with "Using Affine, …".
- Ask one question at a time. Split a multi-part question into separate messages. Each gets its own researched answer.
- Say the jurisdiction when it is not your usual one. Write “in Spain” or “under EU law” in the question.
- Ask for the source. “Which article says that?” or “Quote the exact wording.” The assistant can open the document and read its text.
- Ask for the current status. “Is this still in force?” or “Has it been amended?”
- Ask the question itself. Your assistant chooses the tool, and a substantive question gets full research.
- Follow up on a single document. Once an answer cites something, “quote me article 12 of that” or “what else does that decision say about notice periods” keeps the assistant inside the document it already found. That is quicker than a new research pass.
- Check the citations. Open the cited documents before you rely on an answer. The legal judgment is yours.
6Citations
Every document Affine returns carries a ready-made citation link that Affine builds. With every result, Affine instructs the assistant to copy those links without changes and to list its sources at the end of an answer.
The assistant usually follows these instructions, but Affine cannot guarantee it. In practice:
- An answer with no citations to legal documents should be treated as unverified. Ask “which article says that?” or “search Affine and cite the articles you used”.
- Citation links point to the document, not yet to the exact passage inside it. To get to the passage, ask the assistant to quote it. It can open the document and quote the relevant lines.
- For anything high-stakes, open the cited document and read it. Affine bases the answer on the documents it cites. The legal judgment is yours.
7The five tools
Connecting Affine gives your assistant five tools. Your assistant chooses which one to use. This section explains what each tool does, for when you want to know how an answer was produced.
The list is the same for every user. It does not change with your plan, your jurisdictions or your role.
One tool answers questions. The other four find, read or search individual documents.
| Tool | What it does | When your assistant uses it |
|---|---|---|
research | Runs a full research pass over your sources and writes a cited answer. It searches, reads and cross-checks documents. | For any legal, tax or regulatory question. It is the starting point. |
find_document | Looks a document up by its name or number. | You name a document rather than ask a question. |
read_document | Returns the full text of one document. | The exact wording matters or you ask for the context around a citation. |
search_in_document | Finds the passages of one document that bear on a question, by meaning. | It has the document but needs the relevant paragraph. |
grep_document | Finds an exact string inside one document. | You ask for a specific article number, defined term or citation. |
Every document that comes back carries an identifier and a ready-made citation link. An identifier looks like law_pt.1974376. The last four tools take a document's identifier as input. Your assistant copies it from an earlier result, so you never need to see or type one.
researchresearch a question
It is the entry point and the only tool that answers a question end to end. It takes your question, searches your sources, opens the relevant documents, resolves conflicts between them and writes a report in which every substantive statement carries an inline citation. It comes back with the list of documents it relied on.
- Your question is passed as you asked it. It is not reduced to keywords or translated. Any constraint you mention, such as a date, a particular law or your own situation, limits the scope of the research.
- Affine applies your jurisdictions and source set from your account.
- It runs several searches and reads before answering, so it takes longer than a lookup. A researched answer takes a few minutes.
- If it finds nothing, it says so rather than answering from the assistant's own knowledge.
- It reaches public legal sources only.
find_documentlocate a document by name
Your assistant uses it when you name a document it has not seen yet, such as “the Portuguese Labour Code” or “Lei n.º 7/2009”. It returns matching documents as references with title, date, aliases and identifier. It does not return their contents. Reading one is a separate step. It searches public legal sources only, never your private documents.
read_documentthe full text
Returns one document's full text, so the assistant quotes the wording rather than a summary of it. The text comes back with line numbers, alongside the document's metadata. Where the source has structure, it also comes with an outline of its sections and the lines each one covers. Long documents come back in windows. The assistant can page through them or jump to a section.
Microsoft 365 Copilot and ChatGPT render inline app content. In them a document opened this way also appears as a readable panel in the conversation, laid out in that source's own format instead of as plain text. Portuguese legislation and case law, EU legislation and Court of Justice rulings in Portuguese, Spanish consolidated legislation and Portuguese arbitral decisions have their own layouts today. Other sources appear as plain text.
search_in_documentfind the relevant passages
Semantic search inside one document. It ranks that document's passages by relevance to a question. Your assistant uses it when it has the right document but not the right part of it. That happens when the cited excerpt was too short or when you want to see how a point is treated across the text. It accepts up to five questions at once.
It returns ranked excerpts instead of the whole text. Each excerpt is placed in the document's structure. This matters in case law, where a passage carries different weight depending on whether it is the court's decision or a party's allegation.
grep_documentfind exact text
Exact matching inside one document, for when the exact words matter more than meaning: an article number, a defined term, a specific phrase or citation. Matches come back as numbered lines. Each one can include the lines around it and is placed in the document's structure.
The line numbers match those in read_document, so a match can be opened at the same line. Your assistant can open a match in its surrounding context.
8What it cannot do
These limits are by design. Through your assistant, Affine:
- reaches public legal sources only. Your private documents, uploads, projects and audio transcripts are not in reach from a conversation. Use the Affine app for those.
- cannot act for you. It does not edit documents, send emails or save files. Its access is read-only.
- covers the law as it stands today. Documents no longer in force and earlier versions of a consolidated document are not reachable yet. A repealed article or the wording as it read a few years ago will not come back.
- takes a few minutes on a researched answer. Some assistants time out before then. When an assistant's timeout is shorter than the research pass, you see a failure rather than a partial answer. Ask once more after it fails. Resending while it is still running does not help.
- shows no progress along the way. You cannot see the intermediate searches. The full report appears when the research is done.
- renders one kind of panel. Only a document opened with
read_documentappears as a styled panel, and only in assistants that support inline app content. Everything else is text. - does not have structure for every source. Outlines, section labels and per-section navigation exist where the source provides them. Other documents come back as continuous text without sections.
Coverage differs from source to source. Very recent publications are not always there yet. When a date matters, ask the assistant to check the document's date and whether it is still in force.
9Privacy
- It runs under your own Affine login. Your assistant reaches the public legal sources your account's jurisdictions cover.
- Only the question travels. To answer you, your assistant sends Affine the question or search terms it needs to look up. Affine returns the matching legal documents.
- Affine has no access to your other conversations in ChatGPT, Claude or Copilot.
- Your private documents in Affine are never exposed through the connector.
- Affine never uses your documents, prompts or conversations to train generative AI models and never shares them with other clients.
The Security page covers how Affine handles your data in general, and the Privacy Notice is the formal version.
10Need help?
Support covers the problems we see most often and what each message means. They include an assistant that never mentions Affine, a sign-in that loops and an answer about the wrong country. If none of it matches, write to general@affine.law and a person on our team will reply.