Identity MCP Server

A Model Context Protocol (MCP) server resource permitting MCP clients to apply for, and manage digital legal identities.

MCP Server Interface

This MCP Server is accessible on this endpoint: http://neuro-foundation.io/MCP/Identity

Scopes supported:

The following subsections list MCP Server interfaces that are available on this resource. The MCP protocol is built on top of the JSON-RPC protocol. You find JSON-RPC interface below.

MCP Server Tools

Following subsections list MCP Server Tools that can be used to interact with the MCP Server.

Add Photo Attachment (BASE64 upload)

Adds a photo attachment to an identity application, by providing a BASE64-encoded binary of the photo together with its corresponding Content-Type.

Properties
Can Modify: Yes
Can Destroy: No
Is Idempotent: No
Open World Access: No

AddPhotoAttachmentBase64Upload(LegalId, Base64Photo, ContentTypePhoto, PhotoType)

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.Attachment.Add
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
LegalId String Required - Legal Identity Identifier or Identity resource URI to which the attachment shall be added.
Base64Photo String Required - BASE64-encoded photo to be uploaded.
ContentTypePhoto String Required - Content-Type of the photo to be uploaded.
PhotoType PhotoType Optional "ProfilePhoto"

Type of photo to be uploaded. Possible values:

  • "ProfilePhoto" - Profile photo.
  • "Passport" - Photo of passport.
  • "IdCardFront" - Front of ID card.
  • "IdCardBack" - Back of ID card.
  • "DriverLicenseFront" - Front of Driver’s License.
  • "DriverLicenseBack" - Back of Driver’s License.
Return Value
Type Description
IdentityResponse Identity update result.

Add Photo Attachment (User Input)

Adds a photo attachment to an identity application, by eliciting the user for the photo.

Properties
Can Modify: Yes
Can Destroy: No
Is Idempotent: No
Open World Access: No

AddPhotoAttachmentElicitation(LegalId, PhotoType)

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.Attachment.Add
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
LegalId String Required - Legal Identity Identifier or Identity resource URI to which the attachment shall be added.
PhotoType PhotoType Optional "ProfilePhoto"

Type of photo to be uploaded. Possible values:

  • "ProfilePhoto" - Profile photo.
  • "Passport" - Photo of passport.
  • "IdCardFront" - Front of ID card.
  • "IdCardBack" - Back of ID card.
  • "DriverLicenseFront" - Front of Driver’s License.
  • "DriverLicenseBack" - Back of Driver’s License.
Return Value
Type Description
IdentityResponse Identity update result.

Add Photo Attachment (URL Download)

Adds a photo attachment to an identity application, by providing a URL to the photo to be downloaded and then added as an attachment.

Properties
Can Modify: Yes
Can Destroy: No
Is Idempotent: No
Open World Access: No

AddPhotoAttachmentUrlDownload(LegalId, PhotoUrl, PhotoType)

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.Attachment.Add
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
LegalId String Required - Legal Identity Identifier or Identity resource URI to which the attachment shall be added.
PhotoUrl URI Required - URL of the photo to be downloaded.
PhotoType PhotoType Optional "ProfilePhoto"

Type of photo to be uploaded. Possible values:

  • "ProfilePhoto" - Profile photo.
  • "Passport" - Photo of passport.
  • "IdCardFront" - Front of ID card.
  • "IdCardBack" - Back of ID card.
  • "DriverLicenseFront" - Front of Driver’s License.
  • "DriverLicenseBack" - Back of Driver’s License.
Return Value
Type Description
IdentityResponse Identity update result.

Apply For New Personal Identity

Applies for a new personal identity. Personal information will be elicited from the user.

Properties
Can Modify: Yes
Can Destroy: Yes
Is Idempotent: No
Open World Access: No

ApplyForNewPersonalIdentity()

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.Apply
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Return Value
Type Description
IdentityResponse Identity application result.

Compromise Identity

Reports one of the identities or identity applications registered by the user as compromised.

Properties
Can Modify: Yes
Can Destroy: Yes
Is Idempotent: No
Open World Access: No

CompromiseIdentity(LegalId)

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.Compromise
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
LegalId String Required - Legal Identity Identifier or Identity resource URI to report as compromised.
Return Value
Type Description
IdentityResponse Identity compromised report result.

Get Identity Application Properties

Gets identity application properties recommended by the server should be available in identity applications.

Properties
Can Modify: No
Can Destroy: No
Is Idempotent: Yes
Open World Access: No

GetIdentityApplicationProperties()

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.Apply
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Return Value
Type Description
IdentityApplicationAttributesResponse Identity application attributes.

Obsolete Identity

Obsoletes one of the identities or identity applications registered by the user.

Properties
Can Modify: Yes
Can Destroy: Yes
Is Idempotent: No
Open World Access: No

ObsoleteIdentity(LegalId)

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.Obsolete
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
LegalId String Required - Legal Identity Identifier or Identity resource URI to obsolete.
Return Value
Type Description
IdentityResponse Identity obsoletion result.

Ready For Approval Identity

Reports one of the identities or identity applications registered by the user as ready for approval.

Properties
Can Modify: Yes
Can Destroy: Yes
Is Idempotent: No
Open World Access: No

ReadyForApproval(LegalId)

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.ReadyForApproval
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
LegalId String Required - Legal Identity Identifier or Identity resource URI to report as ready for approval.
Return Value
Type Description
GenericResponse Identity report result.

Remove Attachment

Removes an attachment from an identity application.

Properties
Can Modify: Yes
Can Destroy: No
Is Idempotent: No
Open World Access: No

RemoveAttachment(AttachmentId)

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Tools.Attachment.Remove
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
AttachmentId String Required - Attachment ID to be removed.
Return Value
Type Description
IdentityResponse Identity update result.

MCP Server Prompts

Following subsections list MCP Server Prompts that can be used to interact with the MCP Server.

Create Personal Legal Identity

Creates a new Legal Personal Identity for the user.

CreatePersonalLegalIdentity()

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Prompts.Create.Create.PersonalId
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Return Value
Type Description
Array of PromptMessage

MCP Server Resources

This MCP Server supports MCP Server Resources.

Resources on the MCP server represents digital identities in their various states. Each digital identity is recognized by the use of the iotid URI scheme. Each identity as a State, a date when it was Created, a date when it was last Updated, a date from when the identity is valid to be used and a To date until when it is valid and after which it expires.

JSON-RPC Interface

This JSON-RPC Web Service is accessible on this endpoint: http://neuro-foundation.io/MCP/Identity

The following subsections list JSON-RPC methods that are available on this resource.

initialize(ProtocolVersion, Capabilities, ClientInfo)

MCP initialize method. Called by client to initialize connection and exchange information about capabilities.

Authentication
Required: No
Arguments
Name Type Use Default Value Description
ProtocolVersion String Required - Protocol Version
Capabilities Dictionary Required - Client capabilities
ClientInfo Dictionary Required - Client information
Return Value
Type Description
Dictionary Server capabilities and information.

notifications/initialized()

Notification that the client has completed its initialization.

Authentication
Required: No

prompts/get(Name, Arguments, _Meta)

Gets an MCP server prompt.

Authentication
Required: No
Arguments
Name Type Use Default Value Description
Name String Required - Name of the prompt to call.
Arguments Dictionary Required - Arguments for the prompt.
_Meta Object Optional null Associated meta-data, if available.
Return Value
Type Description
Dictionary Dictionary containing the prompt.

prompts/list(Cursor)

Lists available MCP server prompts.

Authentication
Required: No
Arguments
Name Type Use Default Value Description
Cursor String Optional null Cursor for pagination.
Return Value
Type Description
Dictionary Dictionary containing the list of prompts.

resources/list(Cursor)

Lists available MCP server resources.

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Resources.List
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
Cursor String Optional null
Return Value
Type Description
Dictionary

resources/read(Uri, _Meta)

Reads an MCP server resource.

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Resources.Read
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
Uri URI Required -
_Meta Object Optional null
Return Value
Type Description
Dictionary

resources/subscribe(Uri)

Subscribes to an MCP server resource.

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Resources.List
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
Uri URI Required -

resources/unsubscribe(Uri)

Unsubscribes from an MCP server resource.

Authentication
Required: Yes
Privileges Required: OAUTH.Scope.MCP.Identity.Resources.List
Authentication Mechanisms: Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session
Arguments
Name Type Use Default Value Description
Uri URI Required -

tools/call(Name, Arguments, Task, _Meta)

Calls an MCP server tool.

Authentication
Required: No
Arguments
Name Type Use Default Value Description
Name String Required - Name of the tool to call.
Arguments Dictionary Required - Arguments for the tool.
Task Object Optional null

If specified, the caller is requesting task-augmented execution for this request. The request will return a CreateTaskResult immediately, and the actual result can be retrieved later via tasks/result.

Task augmentation is subject to capability negotiation - receivers MUST declare support for task augmentation of specific request types in their capabilities.

_Meta Object Optional null Associated meta-data, if available.
Return Value
Type Description
Dictionary Dictionary containing the result of the tool call.

tools/list(Cursor)

Lists available MCP server tools.

Authentication
Required: No
Arguments
Name Type Use Default Value Description
Cursor String Optional null Cursor for pagination.
Return Value
Type Description
Dictionary Dictionary containing the list of tools.

Types

This Web Service encodes named types as JSON dictionary objects. The following subsections list the named typed and their corresponding properties.

IdentityResponse

Properties
Name Type Description
Success Boolean Indicates if the operation was successful.
Message String Message associated with the response.
Id String Identifier of the identity.
Provider String Trust Provider of the identity.
State Nullable IdentityState

State of the identity. Possible values:

  • "Created" - Created
  • "Approved" - Approved
  • "Rejected" - Rejected
  • "Obsoleted" - Obsoleted
  • "Compromised" - Compromised
Created Nullable Date & Time Date and time when the identity was created. (∞,∞)
Updated Nullable Date & Time Date and time when the identity was last updated. (∞,∞)
From Nullable Date & Time Date when the identity becomes valid. (∞,∞)
To Nullable Date & Time Date when the identity becomes invalid. (∞,∞)
Properties Array of IdentityProperty Conceptual properties associated with the digital identity.
Attachments Array of IdentityAttachment Attachments associated with the digital identity.
ClientKeyName String Name of the client key used to sign the request.
ClientPubKey BASE64-encoded binaryByte[] Public key of the client, used to sign the request.
ClientSignature BASE64-encoded binaryByte[] Signature of the request, generated by the client.

IdentityApplicationAttributesResponse

Properties
Name Type Description
Success Boolean Indicates if the operation was successful.
Message String Message associated with the response.
PeerReview Nullable Boolean If peer-review is allowed as a mechanism to approve ID applications.
NrReviewers Nullable 32-bit signed integer Number of peer reviewers required to get an ID approved using peer review. [0,∞)
NrPhotos Nullable 32-bit signed integer Number of photos required in a peer-review. [0,∞)
Iso3166 Nullable Boolean If ISO 3166 country codes are mandated in peer-review.
RequiredProperties Array of String Required properties in an ID application for peer-review.

GenericResponse

Properties
Name Type Description
Success Boolean Indicates if the operation was successful.
Message String Message associated with the response.

PromptMessage

Properties
Name Type Description
Role McpRole

Role of recipient of message. Possible values:

  • "Assistant" - Message is for the assistant.
  • "User" - Message is from the user.
Content Object Content of message.
IsEncoded Boolean If the content has been encoded.
Encoded Dictionary Encoded content.

IdentityProperty

Properties
Name Type Description
Name String
Value String

IdentityAttachment

Properties
Name Type Description
Id String
LegalId String
ContentType String
FileName String
Url String
Signature BASE64-encoded binaryByte[]
Timestamp Date & Time

Byte[]

Properties
Name Type Description
Length 32-bit signed integer
LongLength 64-bit signed integer
Rank 32-bit signed integer
SyncRoot Object
IsReadOnly Boolean
IsFixedSize Boolean
IsSynchronized Boolean

Byte[]

Properties
Name Type Description
Length 32-bit signed integer
LongLength 64-bit signed integer
Rank 32-bit signed integer
SyncRoot Object
IsReadOnly Boolean
IsFixedSize Boolean
IsSynchronized Boolean