Server definition
- Hash
- sha256:c62e3b8b61c379c8d161c641f6ca1db61e7bf95b786ca105e54d5e7b3c250aa7
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "GVRN Incorporation MCP — submit company incorporation requests for review by the GVRN corporate-secretarial (corpsec) team.\n\nFlow (three steps):\n1. Verify the user's email ONCE, up front: ask for their email → request_email_otp → ask for the 6-digit code they received → verify_email_otp → verificationToken (valid ~30 min, reused by every other tool).\n2. create_incorporation_draft with the verificationToken and whatever details the user has already given. Add more later with update_incorporation_draft only if the user volunteers more.\n3. submit_incorporation as soon as the user confirms — do NOT hold submission back to fill gaps. A human corpsec specialist reviews every request and follows up on missing details via the verified email.\n\nKeep it light for the user:\n- Ask only for their email (required) and, ideally, a company name and jurisdiction. Everything else is optional — take what the user offers, never run through the field list question by question.\n- Never invent field values; leave unknown fields out.\n- Relay the draftId to the user so they can resume later. Drafts are only accessible with a token for the email that created them — if the token expires, re-verify the same email to continue.\n- Track progress after submission with get_incorporation_status.\n- This tool files a request for human review; it does not legally incorporate a company by itself.",
"tools": [
{
"description": "Creates a new incorporation request draft bound to the verified email, using any fields provided. Requires a verificationToken from verify_email_otp; every other field is optional. Returns a draftId that identifies the draft for later updates, submission, and status checks.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"alternativeCompanyNames": {
"description": "Fallback company names in priority order",
"items": {
"maxLength": 300,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"businessDescription": {
"description": "What the company will do",
"maxLength": 5000,
"type": "string"
},
"companyName": {
"description": "Preferred company name",
"maxLength": 300,
"type": "string"
},
"currency": {
"description": "Share capital currency, e.g. \"USD\"",
"maxLength": 10,
"type": "string"
},
"entityType": {
"description": "e.g. \"LTD\", \"FOUNDATION\", \"LLC\" — free text is accepted",
"maxLength": 100,
"type": "string"
},
"founders": {
"description": "Founders / shareholders / directors",
"items": {
"additionalProperties": false,
"description": "Founder details — every field optional",
"properties": {
"email": {
"description": "Founder's contact email",
"maxLength": 320,
"type": "string"
},
"fullName": {
"maxLength": 200,
"type": "string"
},
"nationality": {
"description": "Nationality or citizenship, free text",
"maxLength": 100,
"type": "string"
},
"role": {
"description": "e.g. \"Director\", \"Shareholder\", \"CEO\"",
"maxLength": 100,
"type": "string"
},
"shareAmount": {
"description": "Number of shares allocated to this founder",
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"maxItems": 50,
"type": "array"
},
"jurisdiction": {
"description": "Target jurisdiction, e.g. \"BVI\", \"CAYMAN\", \"PANAMA\" — free text is accepted",
"maxLength": 100,
"type": "string"
},
"notes": {
"description": "Anything else relevant: existing structures, PEP status, special requests",
"maxLength": 10000,
"type": "string"
},
"parValue": {
"description": "Par value per share",
"minimum": 0,
"type": "number"
},
"totalShares": {
"description": "Total shares to be issued",
"exclusiveMinimum": 0,
"type": "number"
},
"urgency": {
"description": "Timeline constraints, e.g. \"needed before token launch July 1\"",
"maxLength": 500,
"type": "string"
},
"verificationToken": {
"description": "Token from verify_email_otp — the draft is bound to this email",
"type": "string"
}
},
"required": [
"verificationToken"
],
"type": "object"
},
"name": "create_incorporation_draft",
"outputSchema": null
},
{
"description": "Returns the full GVRN incorporation workflow guide: the fields collected, the email-verification steps, and the review lifecycle. Also available as the MCP resource gvrn://incorporation/guide.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_incorporation_guide",
"outputSchema": null
},
{
"description": "Returns the current status of an incorporation request (DRAFT → QUEUED_FOR_REVIEW → UNDER_REVIEW → COMPLETED). Requires a verificationToken for the email that created the draft; requests are only visible to that email.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"draftId": {
"description": "Draft id returned by create_incorporation_draft",
"format": "uuid",
"type": "string"
},
"verificationToken": {
"description": "Token from verify_email_otp",
"type": "string"
}
},
"required": [
"draftId",
"verificationToken"
],
"type": "object"
},
"name": "get_incorporation_status",
"outputSchema": null
},
{
"description": "Sends a 6-digit verification code to the given email address. The code is exchanged for a verificationToken via verify_email_otp, and that token authorizes the draft tools. Codes expire after 10 minutes and are rate-limited per email.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"email": {
"description": "Email address to verify — the user's real inbox",
"maxLength": 320,
"type": "string"
}
},
"required": [
"email"
],
"type": "object"
},
"name": "request_email_otp",
"outputSchema": null
},
{
"description": "Submits a draft for review by the GVRN team and returns the request status. Requires a verificationToken for the email that created the draft, which becomes the contact for the request. Optional fields may be left blank. Irreversible: the draft becomes read-only and a review request is filed with the GVRN team.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"draftId": {
"description": "Draft id returned by create_incorporation_draft",
"format": "uuid",
"type": "string"
},
"verificationToken": {
"description": "Token from verify_email_otp",
"type": "string"
}
},
"required": [
"draftId",
"verificationToken"
],
"type": "object"
},
"name": "submit_incorporation",
"outputSchema": null
},
{
"description": "Adds or corrects fields on an existing draft (patch semantics: only provided fields are changed; array fields are replaced whole). Requires a verificationToken for the email that created the draft. Fails once the draft has been submitted.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"alternativeCompanyNames": {
"description": "Fallback company names in priority order",
"items": {
"maxLength": 300,
"type": "string"
},
"maxItems": 10,
"type": "array"
},
"businessDescription": {
"description": "What the company will do",
"maxLength": 5000,
"type": "string"
},
"companyName": {
"description": "Preferred company name",
"maxLength": 300,
"type": "string"
},
"currency": {
"description": "Share capital currency, e.g. \"USD\"",
"maxLength": 10,
"type": "string"
},
"draftId": {
"description": "Draft id returned by create_incorporation_draft",
"format": "uuid",
"type": "string"
},
"entityType": {
"description": "e.g. \"LTD\", \"FOUNDATION\", \"LLC\" — free text is accepted",
"maxLength": 100,
"type": "string"
},
"founders": {
"description": "Founders / shareholders / directors",
"items": {
"additionalProperties": false,
"description": "Founder details — every field optional",
"properties": {
"email": {
"description": "Founder's contact email",
"maxLength": 320,
"type": "string"
},
"fullName": {
"maxLength": 200,
"type": "string"
},
"nationality": {
"description": "Nationality or citizenship, free text",
"maxLength": 100,
"type": "string"
},
"role": {
"description": "e.g. \"Director\", \"Shareholder\", \"CEO\"",
"maxLength": 100,
"type": "string"
},
"shareAmount": {
"description": "Number of shares allocated to this founder",
"minimum": 0,
"type": "number"
}
},
"type": "object"
},
"maxItems": 50,
"type": "array"
},
"jurisdiction": {
"description": "Target jurisdiction, e.g. \"BVI\", \"CAYMAN\", \"PANAMA\" — free text is accepted",
"maxLength": 100,
"type": "string"
},
"notes": {
"description": "Anything else relevant: existing structures, PEP status, special requests",
"maxLength": 10000,
"type": "string"
},
"parValue": {
"description": "Par value per share",
"minimum": 0,
"type": "number"
},
"totalShares": {
"description": "Total shares to be issued",
"exclusiveMinimum": 0,
"type": "number"
},
"urgency": {
"description": "Timeline constraints, e.g. \"needed before token launch July 1\"",
"maxLength": 500,
"type": "string"
},
"verificationToken": {
"description": "Token from verify_email_otp for the email that created the draft",
"type": "string"
}
},
"required": [
"draftId",
"verificationToken"
],
"type": "object"
},
"name": "update_incorporation_draft",
"outputSchema": null
},
{
"description": "Verifies a 6-digit email code and returns a verificationToken valid for ~30 minutes. The draft tools require this token. Re-verifying the same email issues a fresh token that still reaches the same drafts.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"code": {
"description": "The 6-digit code from the user's inbox",
"maxLength": 10,
"minLength": 4,
"type": "string"
},
"email": {
"description": "Same email the code was sent to",
"maxLength": 320,
"type": "string"
}
},
"required": [
"email",
"code"
],
"type": "object"
},
"name": "verify_email_otp",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c62e3b8b61c379c8d161c641f6ca1db61e7bf95b786ca105e54d5e7b3c250aa7 | sha256sum