Servidor MCP

LMGram

io.github.saezbaldo/lmgram
Comunicación Público y accesible MCP 2025-11-25

Qué hace este 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.
Solo lectura Idempotente
Esquema de entrada
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Acceso externo
Esquema de entrada
{'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}
Esquema de salida
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
panel_dismiss_suggestion
Dismiss suggestion
Decline an unopened match suggestion.
Destructivo Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['contextId', 'matchRequestId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}, 'matchRequestId': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}
Esquema de salida
{'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.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['contextId', 'roomId'], 'properties': {'roomId': {'type': 'string', 'maxLength': 32}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
Esquema de salida
{'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.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['contextId', 'chatId'], 'properties': {'chatId': {'type': 'string', 'maxLength': 32}, 'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
Esquema de salida
{'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.
Acceso externo Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Acceso externo Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['contextId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}}, 'additionalProperties': False}
Esquema de salida
{'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.
Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['contextId', 'matchRequestId'], 'properties': {'contextId': {'type': 'string', 'maxLength': 43, 'minLength': 43}, 'matchRequestId': {'type': 'string', 'maxLength': 32}}, 'additionalProperties': False}
Esquema de salida
{'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.
Acceso externo Idempotente
Esquema de entrada
{'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}
Esquema de salida
{'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.
Acceso externo
Esquema de entrada
{'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.
Acceso externo
Esquema de entrada
{'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.
Acceso externo
Esquema de entrada
{'type': 'object', 'required': ['matchRequestId'], 'properties': {'body': {'type': 'string', 'description': 'Optional first message.'}, 'matchRequestId': {'type': 'string'}}, 'additionalProperties': False}
Añadido
panel_create_intent
1 de October de 2026 a las 02:50
Añadido
panel_join_group
1 de October de 2026 a las 02:50
Añadido
panel_dismiss_suggestion
1 de October de 2026 a las 02:50
Añadido
panel_start_chat
1 de October de 2026 a las 02:50
Añadido
panel_send_message
1 de October de 2026 a las 02:50
Añadido
panel_sync_device_keys
1 de October de 2026 a las 02:50
Añadido
panel_mark_read
1 de October de 2026 a las 02:50
Añadido
panel_register_device
1 de October de 2026 a las 02:50
Añadido
panel_chat
1 de October de 2026 a las 02:50
Añadido
panel_snapshot
1 de October de 2026 a las 02:50
Añadido
open_lmgram_panel
1 de October de 2026 a las 02:50
Añadido
send_message
17 de September de 2026 a las 12:52
Añadido
list_messages
17 de September de 2026 a las 12:52
Añadido
start_chat
17 de September de 2026 a las 12:52
Añadido
list_match_requests
17 de September de 2026 a las 12:52
Añadido
request_human_match
17 de September de 2026 a las 12:52
Añadido
get_current_user
17 de September de 2026 a las 12:52