MCP server
Connect Claude, ChatGPT, Microsoft Copilot and other AI assistants to Sentinel through the Model Context Protocol.
The Sentinel MCP server gives AI assistants secure access to a firm's matters through the Model Context Protocol, an open standard for connecting AI tools to outside data. The assistant acts as the signed-in user, within that user's matter access, and every tool call is audited.
To call Sentinel from your own code, use the REST API instead.
What you can do
- Search a matter by keyword, meaning or both, then read the documents behind the hits.
- Review the record: timelines, focus issues, privilege logs, email threads, deposition transcripts and RFP coverage.
- Check a draft for citations to documents that don't exist.
- Act on what you find: tag and code documents, pin documents to a focus issue, and save findings with linked evidence.
Data a third-party assistant receives from Sentinel is handled under your firm's agreement with that provider.
Prerequisites
- A Sentinel staff account (client and external accounts can't connect apps).
- An assistant that supports remote MCP servers over Streamable HTTP with OAuth.
- Your firm's MCP address, from Your account → Connected apps in Sentinel:
https://yourfirm.api.sntlabs.io/mcpSetup guides
Client menus change often. If a step doesn't match what you see, look for Connectors or MCP in the client's settings.
- Open Settings → Connectors.
- Select Add custom connector.
- Name it Sentinel and paste your MCP address.
- Select Connect, then sign in to Sentinel in the window that opens.
- In a chat, open the tools menu and make sure Sentinel is on.
Team and Enterprise: an organization owner can add Sentinel once in the organization's connector settings. Each person still signs in with their own Sentinel account and sees only their own matters.
- Open Settings → Connectors. On some plans, custom connectors are under Advanced or need Developer mode.
- Select Create to add a custom connector.
- Paste your MCP address and choose OAuth authentication.
- Sign in to Sentinel when prompted.
Enterprise and Edu: a workspace admin may need to add or approve the connector first.
Copilot connects to MCP servers through Copilot Studio, usually set up by an admin:
- In Copilot Studio, open your agent and go to Tools → Add a tool → Model Context Protocol.
- Enter a name, your MCP address, and choose OAuth 2.0 with dynamic discovery.
- Publish the agent to Microsoft 365 Copilot or Teams.
The first time someone uses a Sentinel tool, Copilot asks them to sign in to Sentinel.
Claude Code opens a browser for the Sentinel sign-in the first time you use the server, or when you run /mcp:
claude mcp add --transport http sentinel https://yourfirm.api.sntlabs.io/mcpTo use an API key instead of signing in:
claude mcp add --transport http sentinel https://yourfirm.api.sntlabs.io/mcp \
--header "Authorization: Bearer $SENTINEL_KEY"Most MCP clients read a JSON config like this:
{
"mcpServers": {
"sentinel": {
"type": "http",
"url": "https://yourfirm.api.sntlabs.io/mcp"
}
}
}If the client can't do OAuth, add an API key header: "headers": { "Authorization": "Bearer sk_live_..." }.
Check the connection by asking something only Sentinel can answer, such as "Which Sentinel matters do I have access to?"
Available tools
Clients discover these, with full input schemas, through tools/list.
| Tool | Description | Example prompt |
|---|---|---|
list_matters |
The matters you can access | "What matters do I have in Sentinel?" |
get_matter |
One matter's details | "Give me the basics on Acme v. Rivera." |
get_matter_summary |
Folders, document counts, custodians, top senders, tags | "What's in the Acme v. Rivera matter?" |
search_documents |
Keyword, semantic, hybrid or visual search | "Find emails from J. Patel about the price increase." |
get_document_text |
A document's text, image or PDF | "Read me the March 4 supply agreement." |
get_case_timeline |
Key events in date order | "Walk me through the timeline for Q2 2024." |
get_focus_issues |
Attorney-defined focus issues | "What are the open focus issues?" |
get_detected_issues |
Detected topics, high-risk people and anomalies | "What risks has Sentinel flagged?" |
get_privilege_log |
Privilege log stats and entries | "Show me the privilege log." |
get_email_threads |
Email conversations, largest first | "List the threads about the audit." |
get_thread_messages |
Every message in one thread | "Show the full back-and-forth in that thread." |
list_recorded_statements |
Depositions, interviews and sworn statements | "What recorded statements do we have?" |
get_recorded_statement |
One statement with its transcript | "Pull the transcript of the Garcia interview." |
search_recorded_statements |
Transcript passages matching a query | "Did any witness mention the loading dock?" |
get_rfp_coverage |
Production counts per request for production | "Which of our RFPs look under-produced?" |
verify_citations |
Whether a draft's cited documents exist | "Check the citations in this draft memo." |
tag_documents |
Tag listed documents | "Tag those three documents Hot." |
tag_documents_by_query |
Tag every document matching a query or filters | "Tag every email mentioning Project Falcon." |
code_documents |
Set review coding on listed documents | "Code these as responsive." |
code_documents_by_query |
Set review coding on every matching document | "Code all newsletters as not responsive." |
add_to_focus_issue |
Pin documents to a focus issue | "Pin these emails to the notice issue." |
create_finding |
Create a finding with linked evidence | "Save a finding that Patel knew by March, citing those emails." |
Tagging and coding by query ask for confirmation before changing a large set, and every tagging or coding change can be undone from Bulk Actions in Sentinel.
Connection details
| Endpoint | https://<your firm>.api.sntlabs.io/mcp |
| Transport | Streamable HTTP, stateless, plain JSON responses |
| Auth | OAuth 2.1 with PKCE and dynamic client registration, or an API key. See OAuth for MCP clients. |
| Capabilities | Tools |
Troubleshooting
The sign-in window says "Authorization error"
The client sent an incomplete request. Sentinel requires response_type=code, a valid redirect_uri and a PKCE S256 challenge. Remove the connector and add it again.
"No Sentinel account was found for this email in this workspace"
The email and password are valid, but not for this firm's Sentinel. Check that the MCP address is your firm's.
"Your account can't connect apps to Sentinel"
Client and external accounts can't connect apps. Ask your firm's Sentinel admin.
403 MCP access is not available for restricted-access accounts
Accounts with limited access to any matter can't use the MCP server. The REST API supports them and hides the documents they're fenced from.
Tools don't appear in the chat
Turn the connector on for the conversation, or start a new chat after connecting.
401 on every call
The connection was revoked or the key expired. Reconnect, or create a new API key.
FAQ
Can everyone at the firm use the same address?
Yes. Each person signs in with their own account and sees only their own matters.
Where do I see or remove connections?
Your account → Connected apps lists your connections, with Disconnect. Admins see every connection under Firm → Connected apps & API keys.
Does Sentinel keep the conversation?
No. Each tool call stands on its own, and the conversation lives in the assistant. Changes the assistant makes are saved in Sentinel and audited like any other change.