GoCertius MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port when running in hosted (HTTP) mode; ignored in stdio mode. | |
| MCP_AUTH_JWT | No | Pre-seeded JWT (skips interactive login). | |
| MCP_HTTP_HOST | No | Interface the HTTP transport binds to. Default 127.0.0.1 (localhost only). | |
| MCP_AUTH_EMAIL | No | Your GoCertius account email. | |
| MCP_HTTP_PUBLIC | No | Set to 'true' for public/multi-tenant deployments. | |
| MCP_API_BASE_URL | No | Overrides the default upstream API host for every tool. | |
| MCP_OTEL_ENABLED | No | Set to 'true' to enable OpenTelemetry tracing. | |
| MCP_ALLOWED_HOSTS | No | Comma-separated allowed Host headers. Empty = Host validation disabled (default). | |
| MCP_AUTH_PASSWORD | No | Your GoCertius account password. | |
| MCP_AUTH_USER_KEY | No | Long-lived GoCertius user key, exchanged automatically for a short-lived session token. | |
| MCP_SVC_CLIENT_ID | No | Client ID this server presents to the introspection endpoint. | |
| MCP_ALLOWED_ORIGINS | No | Comma-separated allowed browser Origins (DNS-rebinding defense). Use '*' to allow all. | |
| MCP_SVC_CLIENT_SECRET | No | Client secret this server presents to the introspection endpoint. | |
| MCP_SVC_INTROSPECT_URL | No | RFC 7662 token introspection URL for inbound Bearer verification in HTTP mode. | |
| MCP_HTTP_MAX_BODY_BYTES | No | Maximum accepted POST /mcp request-body size in bytes (default 16777216). | |
| MCP_ALLOW_INSECURE_FILE_URL | No | Set to 'true' to allow plain http:// fileUrl downloads. | |
| MCP_ALLOW_UNVERIFIED_BEARER | No | Escape hatch for MCP_HTTP_PUBLIC=true without inbound-token introspection: set to 'true' ONLY when an upstream gateway already verifies Bearer tokens. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tasks | {
"requests": {
"tools": {
"call": {}
}
}
} |
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| evidence_createA | Registers a NEW evidence record inside an evidence group. Requires: evidence_group_create → evidenceGroupId, case_file_create → caseFileId. Generate a UUID v4 for |
| evidence_listA | Lists all evidence records in a specific evidence group. Use to review uploaded documents before sealing the group, or to find a specific evidenceId. Requires: caseFileId and evidenceGroupId. Returns paginated list with IDs, titles, status, and timestamps. |
| evidence_sealA | Seal and certify an evidence group. Closes the group to new additions and triggers async timestamping. Returns immediately — the group transitions OPEN → CLOSING → CLOSED. Poll evidence_group_list until status is CLOSED before linking to a dossier. |
| evidence_getA | Retrieves a specific evidence record. Requires: evidence_create → evidenceId, evidence_group_create → evidenceGroupId, case_file_create → caseFileId. Returns status (COMPLETED|IN_PROCESS|ERROR), hash, and tspTimestamp when certified. |
| evidence_group_createA | Creates an evidence group inside a case file. Requires: case_file_create → caseFileId. Generate a UUID v4 for |
| evidence_group_listA | Lists all evidence groups in a case file with their current status (OPEN, CLOSING, CLOSED). Use to find an existing group or check which groups are ready for sealing. Requires: caseFileId. |
| dossier_createA | Creates a dossier to aggregate certified evidence groups into a single tamper-evident PDF. Requires: case_file_create → caseFileId. Evidence groups must be in CLOSED status before linking. Generate a UUID v4 string for |
| dossier_updateA | Updates the metadata of an existing dossier (name, template fields, expiry). Requires: dossier_create → dossierId, caseFileId. Only available while dossier is in DRAFT status. |
| dossier_certifyA | Certifies a DRAFT dossier, locking in all its associated evidence groups. The dossier must be in DRAFT status. After certification it transitions to CERTIFIED and a tamper-evident PDF is generated. Prerequisites: the dossier must exist (dossier_create) and have evidence groups linked. Use dossier_group_certify instead if you want to create + certify in one step from a single evidence group. Example: dossier_certify({ caseFileId: '...', dossierId: '...' }) |
| dossier_listA | Lists all dossiers in a case file with their status and metadata. Use to find an existing dossierId or monitor certification progress. Requires: caseFileId. Returns paginated list with IDs, names, status, and creation dates. |
| dossier_getA | Retrieves the full details of a specific dossier including status, linked evidence, and download URLs. Use to check current state or get certificate download URLs after CERTIFIED. Requires: caseFileId and dossierId. |
| dossier_template_listA | Lists available dossier templates. No prerequisites. Returns template IDs and their translations per language. Use the returned id as dossierTemplateId in dossier_create. |
| dossier_previewA | Returns an HTML preview URL of a dossier before certification. Requires: caseFileId and dossierId. |
| dossier_document_urlA | Returns the download URL for the certified dossier PDF. Requires: dossier_certify (CERTIFIED status), caseFileId, dossierId. |
| dossier_package_urlA | Returns the download URL for the full dossier package (PDF + evidence files). Requires: dossier_certify (CERTIFIED status), caseFileId, dossierId. |
| dossier_visibilityA | Updates the visibility (public/private) of a certified dossier. Requires: dossier_certify (CERTIFIED status), caseFileId, dossierId. |
| dossier_deleteA | Deletes a dossier. Available in DRAFT status (to discard before certification) or in CERTIFIED status (to permanently remove the certified dossier). Irreversible. Requires: caseFileId and dossierId. |
| dossier_group_certifyA | Creates AND certifies a dossier from a single sealed evidence group in one call (express path). Requires: evidence_seal (CLOSED status), case_file_create → caseFileId, evidence_group_create → evidenceGroupId. Generate a UUID v4 string for |
| dossier_evidence_linkA | Links specific evidence items to a DRAFT dossier. Call once per case file containing evidences to link. After linking all evidences, call dossier_certify to finalize. For a single-group dossier, use dossier_group_certify instead (one step). Example: dossier_evidence_link({ caseFileId: '...', dossierId: '...', caseFileToLinkId: '...', ids: ['ev-uuid-1', 'ev-uuid-2'] }) |
| dossier_evidence_list_to_linkA | Lists evidence items that are available to be linked to a dossier (CLOSED groups not yet linked). Requires: caseFileId and dossierId. |
| dossier_evidence_listC | Lists all evidence items linked to a dossier. Requires: caseFileId and dossierId. |
| dossier_evidence_getC | Retrieves details of a specific evidence item linked to a dossier. Requires: caseFileId, dossierId, evidenceId. |
| dossier_evidence_deleteB | Removes an evidence item from a dossier. Only available while dossier is in DRAFT status. Requires: caseFileId, dossierId, evidenceId. |
| notification_document_addD | Performs the notification_document_add operation. Review the API documentation for full field details. |
| notification_request_createA | Creates a certified notification request. Requires: case_file_create → caseFileId. Generate a UUID v4 for |
| notification_request_sendA | Trigger delivery of a certified notification to all added recipients. Returns immediately — delivery is async. Poll notification_request_status until status is DELIVERED before retrieving certificates. |
| notification_request_statusA | Checks the delivery status of a certified notification. Requires: notificationRequestId, caseFileId. Returns status (CREATING|DRAFT|IN_PROCESS|SENT|PARTIALLY_READ|FULLY_READ|PARTIALLY_ANSWERED|FULLY_ANSWERED). Poll until status is SENT or beyond. Do not call notification_certificate_get while status is CREATING, DRAFT, or IN_PROCESS. |
| notification_receiver_addA | Adds a recipient to a notification request. Requires: notification_request_create → notificationRequestId, case_file_create → caseFileId. The |
| notification_certificate_getA | Creates or retrieves a PDF certificate for a specific notification receiver. Requires notification_request_send and notification_receiver_add. Generate a UUID v4 for |
| case_file_createA | Creates a new case file — the top-level container for all related operations (evidence, notifications, dossiers, chats). Call this first before any other operation. Generate a UUID v4 for |
| case_file_listA | Lists all case files in your GoCertius account. Pass userId (from session_login or session_info) to scope results to your account. Returns paginated list with IDs, names, and status. |
| case_file_getA | Retrieves details of a specific case file. Requires: caseFileId. Use to verify a case file exists before creating evidence groups, dossiers, or notifications. |
| chat_createA | Creates a certified chat channel (Telegram). IMPORTANT: Chats can only be created in the user's personal case file (created automatically when the GoCertius account was opened). Do not use a manually created case file — use session_info → case_file_list to find the personal case file (oldest createdAt, owned by the user). Generate a UUID v4 for |
| chat_getA | Retrieves details of a certified chat. Requires: personal caseFileId and chat_create → chatId. Returns status, participants, and registeredAt timestamp. After chat_create, poll chat_get until status is active/registered and registeredAt is present; createdAt is not enough for certificate creation. |
| chat_invitation_urlA | Returns the Telegram invitation URL for a certified chat. Requires: chat_create → chatId and the personal caseFileId. Do not call while chat_get still shows status |
| chat_certificate_createA | Creates a certificate of a range of messages from a certified chat. Requires: chat_create → chatId, personal caseFileId, chat_get → registeredAt, and messages already present in the Telegram channel. Generate a UUID v4 for |
| chat_certificate_getA | Retrieves a certified chat certificate including its status, message range, and PDF download URL. Prerequisites: the certificate must have been created with chat_certificate_create. Returns documentUrl when status is CERTIFIED. Example: chat_certificate_get({ caseFileId: '...', chatId: '...', id: '...' }) |
| session_loginA | Authenticate with GoCertius. Credentials are read from the server environment: if MCP_AUTH_USER_KEY is set it is exchanged for a session token; otherwise MCP_AUTH_EMAIL + MCP_AUTH_PASSWORD are used. The server manages authentication automatically — call this only to force a re-login or after a 401. |
| session_infoA | Returns the authenticated user's session info including userId and session type (Password or UserKey). Use this to retrieve the userId (UUID) required by case_file_list and other user-scoped operations. Works on both auth flows: with a user key (MCP_AUTH_USER_KEY) it resolves identity via profile_get (GET /profile → |
| profile_getA | Returns the authenticated user's own profile. Works on EVERY auth flow (user key or email/password) because it identifies the caller from the session token alone — no email needed. Its |
| evidence_uploadA | Uploads a local file as evidence in one step: computes its SHA-256, registers the evidence record (custodyType INTERNAL = GoCertius stores the file), and uploads the bytes to S3 — no manual hashing or PUT needed. Internally this follows the required GoCertius sequence: create INTERNAL evidence → receive uploadFileUrl (presigned S3 URL) → PUT file bytes → return uploaded:true. Requires: case_file_create → caseFileId, evidence_group_create → evidenceGroupId. Provide EXACTLY ONE of |
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/g-digital-by-Garrigues/GoCertius_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server