Serveur MCP

LMGram

io.github.saezbaldo/lmgram
Communication Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Enables consent-based matching between people seeking peer advice, collaboration, mentoring, or practical help, with chat messaging.

get_current_user
Get current LMGram profile
Returns the LMGram profile linked to the connected account.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}, 'additionalProperties': False}
list_match_requests
List LMGram match requests
Lists recent match requests for the current LMGram user, optionally filtered by role and status.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'role': {'enum': ['candidate', 'requester'], 'type': 'string', 'default': 'candidate'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 50, 'minimum': 1}, 'status': {'enum': ['pending', 'chat_requested', 'accepted', 'declined'], 'type': 'string', 'description': 'Optional exact request status to return.'}}, 'additionalProperties': False}
list_messages
List chat messages
Lists messages in a LMGram chat. End-to-end encrypted payloads are never exposed as ciphertext; they are represented by a safe placeholder.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['chatId'], 'properties': {'chatId': {'type': 'string'}}, 'additionalProperties': False}
open_lmgram_panel
Open LMGram conversation panel
Open LMGram chats, groups and suggestions for the current ChatGPT conversation. Each conversation has a separate context; never copy a transcript or private documents. This does not publish an intent or send a message.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_chat
Read private chat
Retrieve authorized chat data for client-side decryption, not model context.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'chatId'], 'properties': {'before': {'type': 'string', 'maxLength': 32}, 'chatId': {'type': 'string', 'maxLength': 32}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_create_intent
Publish approved intent
Publish only the minimized intent explicitly reviewed and submitted by the user in this conversation panel. Do not include secrets, private transcripts, or dating requests.
Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'topic', 'summary', 'need'], 'properties': {'need': {'type': 'string', 'maxLength': 1000}, 'topic': {'type': 'string', 'maxLength': 240}, 'summary': {'type': 'string', 'maxLength': 2000}, 'language': {'type': 'string', 'maxLength': 40}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_dismiss_suggestion
Dismiss suggestion
Decline an unopened match suggestion.
Destructif Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'matchRequestId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}, 'matchRequestId': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_join_group
Join group
Accept an existing group invitation related to this context.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'roomId'], 'properties': {'roomId': {'type': 'string', 'maxLength': 32}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_mark_read
Mark chat read
Mark the displayed chat as read.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'chatId'], 'properties': {'chatId': {'type': 'string', 'maxLength': 32}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_register_device
Register encryption device
Register only a public encryption key for this user's panel.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'deviceId', 'publicKey'], 'properties': {'deviceId': {'type': 'string', 'maxLength': 32}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}, 'publicKey': {'type': 'string', 'maxLength': 64}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_send_message
Send encrypted message
Send a client-encrypted text message after the user presses Send. Retry only the identical payload and clientMessageId.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'chatId', 'clientMessageId', 'body', 'encryptionScheme', 'encryptionNonce', 'senderDeviceId', 'encryptedKeys'], 'properties': {'body': {'type': 'string', 'maxLength': 32000}, 'chatId': {'type': 'string', 'maxLength': 32}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}, 'encryptedKeys': {'type': 'object', 'maxProperties': 1000, 'additionalProperties': {'type': 'string', 'maxLength': 96}}, 'senderDeviceId': {'type': 'string', 'maxLength': 32}, 'clientMessageId': {'type': 'string', 'maxLength': 36}, 'encryptionNonce': {'type': 'string', 'maxLength': 40}, 'encryptionScheme': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_snapshot
Refresh conversation
Refresh this conversation's private panel data.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_start_chat
Request conversation
Request a chat with a suggestion in this context, without sending a plaintext introduction.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'matchRequestId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}, 'matchRequestId': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_sync_device_keys
Sync own encryption devices
Share client-encrypted message keys only with this account's registered devices. Does not send messages, plaintext or private keys.
Accès externe Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['contextId', 'chatId', 'sourceDeviceId', 'updates'], 'properties': {'chatId': {'type': 'string', 'maxLength': 32}, 'updates': {'type': 'array', 'items': {'type': 'object', 'required': ['messageId', 'encryptionNonce', 'encryptedKeys'], 'properties': {'messageId': {'type': 'string', 'maxLength': 32}, 'encryptedKeys': {'type': 'object', 'maxProperties': 100, 'additionalProperties': {'type': 'string', 'maxLength': 96}}, 'encryptionNonce': {'type': 'string', 'maxLength': 40}}, 'additionalProperties': False}, 'maxItems': 60, 'minItems': 1}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}, 'sourceDeviceId': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
request_human_match
Request a human match
Creates an opt-in LMGram human match request only after the user explicitly asks to use LMGram to find a collaborator, peer, mentor, or helper. Never invoke for general advice, dating or romantic matchmaking. Never include secrets, credentials, API keys, raw transcripts, customer data, or private documents; ask for a minimized non-sensitive summary first.
Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['topic', 'summary', 'need'], 'properties': {'need': {'type': 'string', 'description': 'The concrete collaborator, peer, mentor, or helper the user explicitly wants. Dating and romantic matching are not supported.'}, 'topic': {'type': 'string', 'description': 'Short, non-sensitive title for the practical or professional session topic. Dating and romantic requests are not supported.'}, 'summary': {'type': 'string', 'description': 'Minimized non-sensitive summary. Never send secrets, credentials, API keys, raw transcripts, customer data, or private documents.'}, 'urgency': {'type': 'number', 'default': 0.5, 'maximum': 1, 'minimum': 0}, 'language': {'type': 'string'}, 'matchType': {'enum': ['peer', 'mentor', 'collaborator', 'helper'], 'type': 'string', 'default': 'peer'}, 'sensitivity': {'enum': ['normal', 'sensitive', 'high'], 'type': 'string', 'default': 'normal'}, 'maxCandidates': {'type': 'integer', 'default': 5, 'maximum': 20, 'minimum': 1}}, 'additionalProperties': False}
send_message
Send a chat message
Sends a message into a LMGram chat.
Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['chatId', 'body'], 'properties': {'body': {'type': 'string'}, 'chatId': {'type': 'string'}}, 'additionalProperties': False}
start_chat
Start or request a chat
Starts a LMGram chat for a match request, or records that this side wants to chat.
Accès externe
Schéma d’entrée
{'type': 'object', 'required': ['matchRequestId'], 'properties': {'body': {'type': 'string', 'description': 'Optional first message.'}, 'matchRequestId': {'type': 'string'}}, 'additionalProperties': False}
Ajouté
panel_create_intent
1 October 2026 02:50
Ajouté
panel_join_group
1 October 2026 02:50
Ajouté
panel_dismiss_suggestion
1 October 2026 02:50
Ajouté
panel_start_chat
1 October 2026 02:50
Ajouté
panel_send_message
1 October 2026 02:50
Ajouté
panel_sync_device_keys
1 October 2026 02:50
Ajouté
panel_mark_read
1 October 2026 02:50
Ajouté
panel_register_device
1 October 2026 02:50
Ajouté
panel_chat
1 October 2026 02:50
Ajouté
panel_snapshot
1 October 2026 02:50
Ajouté
open_lmgram_panel
1 October 2026 02:50
Ajouté
send_message
17 September 2026 12:52
Ajouté
list_messages
17 September 2026 12:52
Ajouté
start_chat
17 September 2026 12:52
Ajouté
list_match_requests
17 September 2026 12:52
Ajouté
request_human_match
17 September 2026 12:52
Ajouté
get_current_user
17 September 2026 12:52