Skip to content

Automated via MCP server

The process in detail

Every step of the way “Automated via MCP server”: what your agent does, what the NOCIP systems do, when a person at NOCIP becomes active and who decides.

Three parties

Your agent

Your AI agent (through the MCP server) or your build system (through the REST interface), with the token of your case. It sends statements, evidence and answers. Everything it sends is a claim, not a finding.

NOCIP systems

The interface on nocip.com accepts submissions and checks them for completeness. The audit server takes them every minute, checks domain and self-assessment, fetches evidence itself, downloads the release itself, tests it in the isolated lab and writes every step, signed, to the case log. Program code decides measurable criteria by the thresholds of the catalogue.

Person at NOCIP

An auditor of be next GmbH. Opens the case after the application, reads terms and documentation, decides on disputes and signs award, refusal and suspension. No interface and no agent can trigger these steps.

Who is active in which step

StepYour agentNOCIP systemsPerson at NOCIPDecided byDuration
S0 Accessactiveactiveactiveperson at NOCIPonce; reply by e-mail
S1 Prove the domainactiveactiveprogram code1 to 2 minutes
S2 Self-assessmentactiveactiveprogram codeat once and after about 2 minutes
S3 Evidence and connection manifestactiveactiveprogram code1 to 2 minutes
S4 Test targetactiveactiveprogram codedepends on the file size, usually under 5 minutes
S5 Technical test in the labactiveactiveprogram codea few minutes (LexITanon: under one minute)
S6 Review of the documentsactiveactiveperson at NOCIPworking days, depending on the scope
S7 Findingsactiveactiveonly when neededprogram codeminutes; with a person, working days
S8 Draft reportactiveactiveactiveprogram code1 to 2 minutes
S9 Awardactiveactiveperson at NOCIPworking days
S10 Seal and disclosureactiveactiveonly when neededprogram codeongoing
S11 New versionsactiveactiveonly when neededprogram codea few minutes

active only when needed

A person at NOCIP is planned in four steps: access, review of the documents, draft report and award. In three more only when needed: on a dispute, when a re-check is not green, and when checking the disclosure. Everything else runs without waiting.

Every step

S0

Access

Your agent

A person of your company applies through the contact form (topic “Application for an audit”): product, tier, domain(s), contact.

NOCIP systems

Creates the case, pins the catalogue version (with SHA-256), creates the domain code and keeps only the hash of the token. The first case log entries are signed.

Person at NOCIP

Checks the company (commercial register) and the contact once, opens the case and sends case number and token by e-mail.

Decided by: person at NOCIPDuration: once; reply by e-mail

S1

Prove the domain

Your agent

Sets the DNS TXT record _nocip.<domain> with the code, or puts it as domain_proof into https://<domain>/.well-known/nocip.json, then prove_domain.

NOCIP systems

Queries DNS and the file and records the result. It then fetches the connection manifest of the domain.

Person at NOCIP

not involved

Decided by: program codeDuration: 1 to 2 minutesTool: prove_domain

S2

Self-assessment

Your agent

Sends the self-assessment as JSON: one answer per criterion of the tier, the AI functions with their location, the index points claimed, evidence as an address or file hash.

NOCIP systems

At once: missing criteria, wrong tier or catalogue version (answer 422). Within about two minutes: schema, contradictions (e.g. Gold with an AI function outside the customer), answers “no” or “partly” as findings; every address named is fetched.

Person at NOCIP

not involved

Decided by: program codeDuration: at once and after about 2 minutesTool: submit_self_assessment

S3

Evidence and connection manifest

Your agent

Names further evidence (address or file up to 25 MB) and publishes the connection manifest at /.well-known/nocip.json: every destination with purpose and frequency (I-5).

NOCIP systems

Fetches every address itself and keeps a snapshot with SHA-256. Checks the manifest against the schema and against the tier.

Person at NOCIP

not involved

Decided by: program codeDuration: 1 to 2 minutesTool: add_evidence

S4

Test target

Your agent

Names the release: public download address (or one behind a login, through an uploaded header line), SHA-256, size and how the program starts without its interface and processes a document.

NOCIP systems

Downloads the file itself and compares checksum, size and, if given, the published checksum. A file sent by the agent is never tested.

Person at NOCIP

not involved

Decided by: program codeDuration: depends on the file size, usually under 5 minutesTool: set_test_target

S5

Technical test in the lab

Your agent

Requests the test (at most 5 a day).

NOCIP systems

Starts the program in an isolated network. Every connection attempt is recorded, every name lookup answered and noted. A test corpus with canary values generated for the case is processed; then all files and output of the program are searched for the canary values, and the destinations compared with the manifest. Result for G-01, G-02, C-04 and C-06.

Person at NOCIP

not involved

Decided by: program codeDuration: a few minutes (LexITanon: under one minute)Tool: request_test

S6

Review of the documents

Your agent

Nothing; questions come as findings.

NOCIP systems

Provides the stored snapshots with their checksums. Planned: an AI model that runs at NOCIP itself prepares the review with verbatim quotes; program code checks that every quote is in the snapshot.

Person at NOCIP

Reads terms, privacy policy and documentation for C-01, C-02, C-03, C-05, C-07, C-08 and the index groups, enters result and reasons (German and English) and raises findings.

Decided by: person at NOCIPDuration: working days, depending on the scope

S7

Findings

Your agent

Answers every open finding: “fixed” (with a new version or document), “evidence” or “dispute”.

NOCIP systems

Checks newly sent statements and tests new versions; what no longer applies is closed automatically.

Person at NOCIP (only when needed)

Becomes active on a dispute, after the third answer to the same finding and for findings from the review of the documents.

Decided by: program codeDuration: minutes; with a person, working daysTool: answer_finding

S8

Draft report

Your agent

Can read the draft (German and English).

NOCIP systems

Builds the draft audit report from the case log: tests, result per criterion, index, open points. The draft is marked as such.

Person at NOCIP

Triggers the draft once the review of the documents is finished.

Decided by: program codeDuration: 1 to 2 minutesTool: get_report_draft

S9

Award

Your agent

Nothing.

NOCIP systems

Allows the award only if every criterion of the tier is passed, every index group is scored, no blocking point is open and the last test of the current release is green. Then builds audit report, certificate, seal and register entry.

Person at NOCIP

Reads the result and the differences between statement and measurement and signs at the audit server with a typed confirmation: award, or refusal with reasons. The register entry appears with the next update of nocip.com.

Decided by: person at NOCIPDuration: working days

S10

Seal and disclosure

Your agent

Fetches seal, badge and HTML code (get_seal) and states the tier and where the AI runs on the website and in the documentation (C-01).

NOCIP systems

The badge always shows the state of the register; the verification page detects whether it is embedded on a registered domain. Planned: automatic check of the statements after 7 and 30 days.

Person at NOCIP (only when needed)

Checks the disclosure at re-checks.

Decided by: program codeDuration: ongoingTool: get_seal

S11

New versions

Your agent

Announces every new version before its release (C-05): test target, release notes and whether the AI architecture changes.

NOCIP systems

Downloads the new version and tests it. Green and no change to the AI architecture: the label also covers this version (register entry with the next update). Red, a new connection or a changed AI architecture: a suspension proposal to the auditor.

Person at NOCIP (only when needed)

Decides only if the re-check is not green or the AI architecture changes.

Decided by: program codeDuration: a few minutesTool: notify_release

Tools and REST calls

MCP toolRESTPurpose
get_statusGET /cases/{case}state of the case and next steps
prove_domainPOST /cases/{case}/domain-proofhave the domain proof checked
submit_self_assessmentPOST /cases/{case}/self-assessmentsend the self-assessment
add_evidencePOST /cases/{case}/evidenceevidence: address or file
set_test_targetPOST /cases/{case}/test-targetname the release to test
request_testPOST /cases/{case}/test-runsrequest a lab test
list_findingsGET /cases/{case}/findingsread the findings
answer_findingPOST /cases/{case}/findings/{id}/answeranswer a finding
get_case_logGET /cases/{case}/logsigned case log
get_report_draftGET /cases/{case}/report-draftdraft report
get_sealGET /cases/{case}/sealseal and HTML code after the award
notify_releasePOST /cases/{case}/releasesannounce a new version
get_criteriaGET /criteriacriteria catalogue with SHA-256 (no token)
withdrawPOST /cases/{case}/withdrawwithdraw the application

MCP server: https://nocip.com/mcp/ · REST: https://nocip.com/api/v1/ · OpenAPI · for language models: llms.txt

Verify the case log yourself

Every entry has the fields seq, time, case, step, action, actor, inputs, data, prev, hash and sig. hash is “sha256:” and the SHA-256 of the entry without hash and sig, as JSON with sorted keys, no spaces, UTF-8. prev is the hash of the entry before (null for the first). sig.ed25519 is the Ed25519 signature of the text of hash with the public key of NOCIP.

import base64, hashlib, json
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PublicKey
key = Ed25519PublicKey.from_public_bytes(base64.b64decode(PUBLIC_KEY_B64))
prev = None
for i, ev in enumerate(events, 1):
 body ={k: v for k, v in ev.items() if k not in ('hash', 'sig')}
 raw = json.dumps(body, sort_keys=True, separators=(',', ':'), ensure_ascii=False).encode()
 assert ev['seq'] == i and ev['prev'] == prev
 assert ev['hash'] == 'sha256:' + hashlib.sha256(raw).hexdigest()
 key.verify(base64.b64decode(ev['sig']['ed25519']), ev['hash'].encode())
 prev = ev['hash']

Limits and confidentiality

  • The lab currently tests Linux programs (x86-64) that start without their interface and process a document through a local HTTP interface or the command line. Windows, macOS and cloud services are audited with documents for now.
  • A person reads terms and documentation. Preparation by an AI model at NOCIP is planned.

Your documents, releases and test results stay on NOCIP's servers. No document goes to a cloud AI service. The test corpus with the canary values stays private and is different for every case. NOCIP keeps only the hash of the token; a new token makes the old one invalid.

Questions

Do I need an AI agent?

No. The REST interface can be called from any build system or script, even by hand with curl. The MCP server makes it especially easy for an AI agent.

Which agents work?

Any MCP client that supports Streamable HTTP with a header for the token, for example Claude Code. Everything else through the REST interface.

Can the agent award the label itself?

No. There is no tool and no call for it. A person at NOCIP signs award, refusal and suspension.

Is the result the same as in the audit with documents?

Yes: the same criteria, audit checklist, audit report and label. The signed case log comes on top.

What does the way “Automated via MCP server” cost?

Nothing, like the way “With documents”.

My product runs on Windows or in the cloud.

Then we audit with documents for now; you can still send the self-assessment and evidence through the interface. The lab for Windows, macOS and cloud services follows.

The handbook

Everything on this page, plus set-up, formats with examples and verifying the case log: to pass on to your team or your agent.

Handbook (PDF)