Connect Claude and other AI assistants (MCP)
Let Claude, Claude Code, Cursor and other MCP clients read and work on your compliance program, with exactly the access of the person who connected them.
Aegis runs a Model Context Protocol (MCP) server. Once connected, an AI assistant can answer questions like "which SOC 2 controls are still missing evidence?" or "draft answers for the unanswered questions in this vendor questionnaire", and, if you allow it, update tasks, risks and trust portal requests for you, or propose answers to your security assessment for a person to confirm.
The server address is:
https://api.nexusvoidhq.com/v1/mcp
You can find it, with copy buttons, under Settings → API Keys → Connect to Claude.
Access is never more than yours
A connection always acts as the person who made it, inside one organization.
- It can see and do only what your role allows in Aegis. An auditor's connection is read-only; an employee's connection sees the policies and tasks assigned to them and nothing else.
- Permissions are checked on every call against your current role. If your role is narrowed, the connection narrows with it. If you are removed from the organization, it stops working.
- Tools you don't have permission for are not even shown to the assistant.
Connecting
claude.ai
Add a custom connector
In Claude, open Settings → Connectors → Add custom connector and paste the server address above.
Sign in to Aegis
Claude opens the Aegis sign-in page. Sign in as you normally do.
Choose the organization
If you belong to more than one organization, pick the one this connection may use, review what it will be able to do, and click Allow.
Claude Code
Run:
claude mcp add --transport http aegis https://api.nexusvoidhq.com/v1/mcp
Then run /mcp inside Claude Code and choose aegis to sign in in your browser.
Other clients (API key)
Clients that don't support sign-in can use an API key. Create one under Settings → API Keys (it can only carry permissions you hold yourself) and send it as a header:
{
"mcpServers": {
"aegis": {
"url": "https://api.nexusvoidhq.com/v1/mcp",
"headers": { "x-api-key": "<your API key>" }
}
}
}
What the assistant can do
Read
| Tool | What it returns |
|---|---|
get_compliance_overview | Readiness per framework, policies needing attention, open tasks and findings |
list_frameworks, get_framework | Frameworks and requirement-by-requirement status |
list_controls, get_control | Controls with their policies, tasks and status |
list_tasks, get_task | Tasks with status, assignee and review dates |
list_policies, get_policy | Policies, review dates and full text |
list_risks | Risk register with inherent and residual scores |
list_vendors | Vendors, assessment status and subprocessors |
list_findings | Unresolved auditor findings |
get_training_status | Who has and hasn't completed security training |
list_trust_access_requests | Trust portal access requests waiting for review |
list_questionnaires, get_questionnaire | Security questionnaires and their questions |
answer_security_question | A drafted answer from your policies and knowledge base, with sources. Nothing is saved |
get_assessment_state | The security assessment one section at a time: progress, questions, current answers and their source, pending suggestions, and the rules below |
Change (only if your role allows it)
| Tool | What it does |
|---|---|
update_task_status | Moves a task to to-do, in progress, done or not relevant. When your organisation requires evidence approval, it can't mark a task done or in review, or change a task that is in review |
create_task | Creates a task, optionally assigned and linked to controls |
add_comment | Comments on a task as you |
update_risk_treatment | Sets a risk's treatment, rationale and residual likelihood and impact |
approve_trust_access_request, deny_trust_access_request | Decides a trust portal access request |
save_questionnaire_answer | Saves your answer to one questionnaire question |
propose_assessment_answer | Proposes an answer to one assessment question. Held until a person confirms it |
mark_assessment_unknown | Records that neither you nor a connected source answers a question, with the reason |
Every change tool has a dry run that shows exactly what would change, and assistants are told to confirm with you before making a change. Claude asks for your approval before running any of them.
Answer the assessment with your agent
An assistant can help fill in your security assessment from what you tell it, from your Document Vault, and from connected systems. Open Answer with your agent in the assessment to connect it and to watch what it sends.
The contract
Every assessment tool, and the server's own instructions, carry the same sentence:
Never answer from general knowledge about the company. If the user has not told you and no connected source says it, call mark_assessment_unknown.
An assistant that doesn't know an answer is expected to say so, not guess. "Couldn't answer" items show up in the assessment for a person to answer.
Nothing counts until a person confirms it
- Every answer an assistant sends is stored as a pending suggestion, never as an answer. It has no effect on the assessment, your scope, program generation or the roadmap until a signed-in person confirms it in Aegis.
- A person can confirm, edit or reject each suggestion, or a whole section at once.
- There is no submit tool and no confirm tool. Only a person can confirm answers or submit the assessment, and the assessment's REST endpoints refuse API keys for those actions.
- Pending suggestions are discarded when the assessment is submitted.
The rules the server enforces
Each proposal is checked on the server. A rejection starts with the rule it broke, so the assistant can tell what to fix.
| Rule | In plain language |
|---|---|
| R1 evidence | Every answer needs evidence of 10 to 2,000 characters: your words, a quote from a document, or what an integration showed. Evidence that only repeats the answer is refused. "Couldn't answer" needs a real reason too |
| R2 hidden | Only questions currently visible, given the confirmed answers, can be answered |
| R3 options | The value must be one of the question's options and the right type. Text answers are capped at 2,000 characters |
| R4 source | A document answer must name a Vault document in your organisation and quote a passage of at least 40 characters and 6 words that really appears in it; only that verified passage is kept. An integration answer needs an https link or an active integration connection |
| R5 quarantine | Nothing is refused here: every answer waits for a person. When a person confirms an inferred answer, it is saved as stated by that person, with a record of who confirmed it and which key or app proposed it |
| R6 no-overwrite | A suggestion never replaces an answer. On an answered question it appears next to the answer, and proposing the current answer stores nothing. An assistant can replace only its own pending suggestion, not another assistant's, and can't mark an answered question as unknown |
| R7 audit | Every call, including rejected ones and dry runs, is logged with the API key or connected app that made it |
The assistant also says where each answer came from (you told it, a document, an integration, or its own inference), and inferred answers are flagged for the person reviewing them.
Both write tools support a dry run and share a limit of 60 calls a minute.
Who gets the assessment tools
| Who | Tools |
|---|---|
| Owners and admins | All three |
Custom roles with assessment:update | All three |
Auditors, and roles with only assessment:read | get_assessment_state |
| Employees and contractors | None |
API keys can carry the Security Assessment read and update scopes (assessment:read,
assessment:update). As always, a key never has more access than its creator holds now. With
assessment:update, a key's assistant can propose answers; it still cannot confirm or submit.
get_assessment_state starts the assessment if your organisation has not opened it yet. When the
connection can read the Vault, it also lists the analysed Vault documents the assistant may cite.
Audit trail
Every call, read or write, is recorded in the organization's audit log as you, with the tool name and its arguments (anything that looks like a secret is redacted). Changes also appear in the activity of the task, risk or request they touched.
Disconnecting
Settings → API Keys → Connected apps lists the assistants connected to your organization. Disconnect revokes access immediately. Owners and admins see and can disconnect everyone's connections; everyone else sees their own. API keys are revoked from the same page.
Limits and what it does not do
- It works on one organization per connection. Connect again to use another.
- It does not upload evidence files, edit policy text, or delete anything.
- It cannot confirm assessment answers or submit the assessment, and it cannot upload to or search the Document Vault.
- It does not return evidence file contents, secrets, credentials or access tokens.
- Results are paginated and capped in size; ask for a narrower list if an answer is cut short.
- Calls are limited to 120 a minute per connection,
answer_security_questionto 20 a minute, and the two assessment write tools to 60 a minute between them. - Answers drafted by
answer_security_questioncome from your own policies and knowledge base. Review them before sending them to a customer; when there is no supporting evidence it says so instead of guessing.