Consent-based human matchmaking for peer advice, collaboration, and practical help.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Returns the LMGram profile linked to the connected account.
This tool takes no arguments.
Returns the LMGram profile linked to the connected account.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Lists recent match requests for the current LMGram user, optionally filtered by role and status.
| Argument | Type | Description |
|---|---|---|
| role | string | |
| limit | integer | |
| status | string | Optional exact request status to return. |
{
"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
}Lists messages in a LMGram chat. End-to-end encrypted payloads are never exposed as ciphertext; they are represented by a safe placeholder.
| Argument | Type | Description |
|---|---|---|
| chatId* | string |
{
"type": "object",
"required": [
"chatId"
],
"properties": {
"chatId": {
"type": "string"
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}Retrieve authorized chat data for client-side decryption, not model context.
| Argument | Type | Description |
|---|---|---|
| before | string | |
| chatId* | string | |
| contextId* | string |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| need* | string | |
| topic* | string | |
| summary* | string | |
| language | string | |
| contextId* | string |
{
"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
}Decline an unopened match suggestion.
| Argument | Type | Description |
|---|---|---|
| contextId* | string | |
| matchRequestId* | string |
{
"type": "object",
"required": [
"contextId",
"matchRequestId"
],
"properties": {
"contextId": {
"type": "string",
"maxLength": 43,
"minLength": 43
},
"matchRequestId": {
"type": "string",
"maxLength": 32
}
},
"additionalProperties": false
}Accept an existing group invitation related to this context.
| Argument | Type | Description |
|---|---|---|
| roomId* | string | |
| contextId* | string |
{
"type": "object",
"required": [
"contextId",
"roomId"
],
"properties": {
"roomId": {
"type": "string",
"maxLength": 32
},
"contextId": {
"type": "string",
"maxLength": 43,
"minLength": 43
}
},
"additionalProperties": false
}Mark the displayed chat as read.
| Argument | Type | Description |
|---|---|---|
| chatId* | string | |
| contextId* | string |
{
"type": "object",
"required": [
"contextId",
"chatId"
],
"properties": {
"chatId": {
"type": "string",
"maxLength": 32
},
"contextId": {
"type": "string",
"maxLength": 43,
"minLength": 43
}
},
"additionalProperties": false
}Register only a public encryption key for this user's panel.
| Argument | Type | Description |
|---|---|---|
| deviceId* | string | |
| contextId* | string | |
| publicKey* | string |
{
"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
}Send a client-encrypted text message after the user presses Send. Retry only the identical payload and clientMessageId.
| Argument | Type | Description |
|---|---|---|
| body* | string | |
| chatId* | string | |
| contextId* | string | |
| encryptedKeys* | object | |
| senderDeviceId* | string | |
| clientMessageId* | string | |
| encryptionNonce* | string | |
| encryptionScheme* | string |
{
"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
}Refresh this conversation's private panel data.
| Argument | Type | Description |
|---|---|---|
| contextId* | string |
{
"type": "object",
"required": [
"contextId"
],
"properties": {
"contextId": {
"type": "string",
"maxLength": 43,
"minLength": 43
}
},
"additionalProperties": false
}Request a chat with a suggestion in this context, without sending a plaintext introduction.
| Argument | Type | Description |
|---|---|---|
| contextId* | string | |
| matchRequestId* | string |
{
"type": "object",
"required": [
"contextId",
"matchRequestId"
],
"properties": {
"contextId": {
"type": "string",
"maxLength": 43,
"minLength": 43
},
"matchRequestId": {
"type": "string",
"maxLength": 32
}
},
"additionalProperties": false
}Share client-encrypted message keys only with this account's registered devices. Does not send messages, plaintext or private keys.
| Argument | Type | Description |
|---|---|---|
| chatId* | string | |
| updates* | array | |
| contextId* | string | |
| sourceDeviceId* | string |
{
"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
}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.
| Argument | Type | Description |
|---|---|---|
| need* | string | The concrete collaborator, peer, mentor, or helper the user explicitly wants. Dating and romantic matching are not supported. |
| topic* | string | Short, non-sensitive title for the practical or professional session topic. Dating and romantic requests are not supported. |
| summary* | string | Minimized non-sensitive summary. Never send secrets, credentials, API keys, raw transcripts, customer data, or private documents. |
| urgency | number | |
| language | string | |
| matchType | string | |
| sensitivity | string | |
| maxCandidates | integer |
Sends a message into a LMGram chat.
| Argument | Type | Description |
|---|---|---|
| body* | string | |
| chatId* | string |
{
"type": "object",
"required": [
"chatId",
"body"
],
"properties": {
"body": {
"type": "string"
},
"chatId": {
"type": "string"
}
},
"additionalProperties": false
}Starts a LMGram chat for a match request, or records that this side wants to chat.
| Argument | Type | Description |
|---|---|---|
| body | string | Optional first message. |
| matchRequestId* | string |
{
"type": "object",
"required": [
"matchRequestId"
],
"properties": {
"body": {
"type": "string",
"description": "Optional first message."
},
"matchRequestId": {
"type": "string"
}
},
"additionalProperties": false
}{
"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
}