LMGram
Consent-based human matchmaking for peer advice, collaboration, and practical help.
Should I use this
Quality & Safety
Findings (3)
- HIGH
- MEDIUMin list_messages
- INFOin list_messages
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"lmgram": {
"url": "https://api.lmgram.com/mcp"
}
}
}Remote endpoints
https://api.lmgram.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢get_current_user
Returns the LMGram profile linked to the connected account.
Input Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢request_human_match(topic, summary, need, matchType, urgency, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"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."
},
"need": {
"type": "string",
"description": "The concrete collaborator, peer, mentor, or helper the user explicitly wants. Dating and romantic matching are not supported."
},
"matchType": {
"type": "string",
"enum": [
"peer",
"mentor",
"collaborator",
"helper"
],
"default": "peer"
},
"urgency": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 0.5
},
"sensitivity": {
"type": "string",
"enum": [
"normal",
"sensitive",
"high"
],
"default": "normal"
},
"language": {
"type": "string"
},
"maxCandidates": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 5
}
},
"required": [
"topic",
"summary",
"need"
],
"additionalProperties": false
}🟢list_match_requests(role, status, limit)
Lists recent match requests for the current LMGram user, optionally filtered by role and status.
Input Schema
{
"type": "object",
"properties": {
"role": {
"type": "string",
"enum": [
"candidate",
"requester"
],
"default": "candidate"
},
"status": {
"type": "string",
"enum": [
"pending",
"chat_requested",
"accepted",
"declined"
],
"description": "Optional exact request status to return."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 10
}
},
"additionalProperties": false
}⚪start_chat(matchRequestId, body)
Starts a LMGram chat for a match request, or records that this side wants to chat.
Input Schema
{
"type": "object",
"properties": {
"matchRequestId": {
"type": "string"
},
"body": {
"type": "string",
"description": "Optional first message."
}
},
"required": [
"matchRequestId"
],
"additionalProperties": false
}🟢list_messages(chatId)
Lists messages in a LMGram chat. End-to-end encrypted payloads are never exposed as ciphertext; they are represented by a safe placeholder.
Input Schema
{
"type": "object",
"properties": {
"chatId": {
"type": "string"
}
},
"required": [
"chatId"
],
"additionalProperties": false
}🟡send_message(chatId, body)
Sends a message into a LMGram chat.
Input Schema
{
"type": "object",
"properties": {
"chatId": {
"type": "string"
},
"body": {
"type": "string"
}
},
"required": [
"chatId",
"body"
],
"additionalProperties": false
}Community
Evidence