@odatano/nightgate-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NIGHTGATE_TOKEN | No | Agent-grant token (ngat_...) or plain bearer token | |
| NIGHTGATE_BASE_URL | No | NIGHTGATE host app | http://localhost:4004 |
| NIGHTGATE_PASSWORD | No | Basic auth password | |
| NIGHTGATE_USERNAME | No | Basic auth username | |
| NIGHTGATE_TIMEOUT_MS | No | Per-request timeout | 30000 |
| NIGHTGATE_SERVICE_PATH | No | OData service path | /api/v1/nightgate |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| verify_attestationA | Verify against LIVE Midnight contract state that a payload hash is attested in an AttestationVault (crawler-free, no txHash needed). Optionally also checks that the anchored content root matches. Returns verified:false (not an error) when absent. |
| verify_predicateA | Verify against LIVE Midnight contract state that a ZK predicate proof (e.g. "hidden value <= threshold") was recorded true on-chain. Id-free: works for proofs NIGHTGATE never saw. threshold must be the SAME scaled integer the circuit hashed (scaling mismatch yields verified:false). Supply fieldKey for a field-bound proof, omit it for a plain one. |
| verify_predicate_attestationA | Verify a server-issued predicate attestation by its NIGHTGATE row id (UUID). Confirms the proving transaction succeeded, with a crawler-free live-state fallback. Use verify_predicate instead when you only have on-chain coordinates. |
| verify_documentA | Verify an anchored document by its NIGHTGATE document id: compares the provided sha256 against the anchored original and confirms the anchoring transaction, with a crawler-free live-state fallback when contractAddress is supplied. |
| prepare_document_proofA | Turn a structured document into everything the proof tools need: canonical JSON and its payloadHash (what anchor_document anchors), a Merkle contentRoot over an ORDERED list of up to 16 proof fields, and per-field inclusion paths ready for prove_field_predicate. Keep the field order stable across anchor and proof: it is part of the tree identity. Compute-only and synchronous, nothing is stored server-side. The returned fields carry witness material (scaled values): treat as sensitive. Store canonicalDocument at your storageRef; re-serializing with different key order will not re-hash equal. |
| attest_agent_outputA | Anchor agent-output provenance on the Midnight chain: "agent X produced output O from input I at time T". Builds the canonical v1 envelope server-side, hashes it and anchors it; the response returns the envelopeJson any third party can re-hash and check via verify_attestation, without trusting this server. Async: returns { jobId, status } immediately; poll get_job_status until succeeded or failed. |
| anchor_documentA | Anchor a document content hash on the Midnight chain via the AttestationVault attest circuit. Commits only the sha256 + public metadata; you are responsible for storing the actual bytes at storageRef. Attestation is first-come-first-served per hash. Async: returns { jobId, status } immediately; poll get_job_status until succeeded or failed. Also returns documentId for verify_document. |
| prove_field_predicateA | Issue a zero-knowledge field-bound predicate proof: prove that a hidden field of an anchored document satisfies "value <= threshold" or "value >= threshold" WITHOUT revealing the value. Needs the depth-4 Merkle inclusion path of the field in the anchored content root. value/threshold are scaled integers (decimal strings); the value is a witness and never persisted. If contentRoot is supplied it is anchored first. A false predicate fails at local proving time, nothing is submitted. Async: returns { jobId, status } immediately; poll get_job_status until succeeded or failed. |
| prove_field_predicates_batchA | Batch variant of prove_field_predicate: prove up to 8 field-bound predicates on ONE anchored document in ONE transaction (7 if contentRoot is supplied, since the anchor occupies one call slot). Duplicate claim tuples are dropped server-side. One false predicate aborts the whole batch at local proving time with zero on-chain effect. After submission the chain can finalize a PARTIAL_SUCCESS subset; verify per claim via verify_predicate_attestation instead of assuming all-or-nothing. Async: returns { jobId, status } immediately; poll get_job_status until succeeded or failed. |
| grant_disclosureA | Grant a disclosure level for an attestation to a grantee identity, on-chain via the AttestationVault. Attester-only: the transaction is rejected in-circuit unless the session wallet is the original attester. level: 0=public, 1=legitimate-interest, 2=authority. Async: returns { jobId, status } immediately; poll get_job_status until succeeded or failed. |
| revoke_disclosureA | Revoke a previously granted disclosure on-chain (removes the grantee entry). Attester-only, enforced in-circuit. Async: returns { jobId, status } immediately; poll get_job_status until succeeded or failed. |
| get_job_statusA | Poll the status of an async NIGHTGATE job (all submit actions return a jobId). status: pending | running | external_execution | submitted | reconciliation_required | succeeded | failed. Poll every few seconds until succeeded or failed; result carries the job outcome JSON, chainStatus tracks on-chain finalization independently. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ODATANO/NIGHTGATE-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server