LMGram
REMOTE · API.LMGRAM.COM
Consent-based human matchmaking for peer advice, collaboration, and practical help.
Available components
Last scanned (13 hours ago)
Scores higher than 93% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Communication
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security89
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability60
- 50% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 972 tokens (~51/item across 19 items; 17 tools + 2 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage74
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 10% of tool parameters carry a description.Partial
- Structured output schemas are declared (65% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Oct 26 86
- Resource “LMGram conversation” now points somewhere else: ui://lmgram/conversation.v5.html → ui://lmgram/conversation.v6.html security
- 1 Oct 26 0
- New tool “panel_dismiss_suggestion”, which the server declares destructive security
- Schema quality: 100% → 50% ▼ functional
- Tool coverage: 31% → 10% ▼ functional
- Schema quality: 59 → 51 ▲ functional
- MCP protocol: fail → pass ▲ functional
- First check of Tool coverage: 65 functional
- MCP protocol version: 2025-03-26 → 2026-07-28 functional
- New resource “LMGram conversation” functional
- New tool “open_lmgram_panel” functional
- New tool “panel_chat” functional
- New tool “panel_create_intent” functional
- New tool “panel_join_group” functional
- New tool “panel_mark_read” functional
- New tool “panel_register_device” functional
- New tool “panel_send_message” functional
- New tool “panel_snapshot” functional
- New tool “panel_start_chat” functional
- New tool “panel_sync_device_keys” functional
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 1 Sept 26 0
- HTTPS: fail → pass ▲ security
- 28 Aug 26 0
- Tool “list_match_requests” rewrote its description, which is the text the model reads security
- “list_match_requests” added an optional parameter “status” cosmetic
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 0
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://api.lmgram.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=lmgram.com | CN=WR3,O=Google Trust Services,C=US | 7 Oct 2026 | 6 Jan 2027 | RSA 2048 | SHA256-RSA | 5a019394ae443f581004cf850dd52a5e |
| SANs: lmgram.com, www.lmgram.com, partners.lmgram.com, app.lmgram.com, api.lmgram.com | ||||||
| CN=WR3,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a91568d63abc22861684aa4b5a |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.lmgram.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| lmgram.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://api.lmgram.com/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://api.lmgram.com/.well-known/oauth-protected-resource" Protected resource metadata
| Document | https://api.lmgram.com/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://api.lmgram.com/mcp |
| Authorisation server | https://api.lmgram.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.lmgram.com/mcp | Verified | 200 | |
| http (plaintext) | http://api.lmgram.com/mcp | HTTPS enforced | 301 | https://api.lmgram.com:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_current_user Get current LMGram profile ~20
Returns the LMGram profile linked to the connected account.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_match_requests List LMGram match requests ~54
Lists recent match requests for the current LMGram user, optionally filtered by role and status.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| role | string | – | – |
| status | string | – | Optional exact request status to return. |
No output schema declared.
No examples provided.
list_messages List chat messages ~44
Lists messages in a LMGram chat. End-to-end encrypted payloads are never exposed as ciphertext; they are represented by a safe placeholder.
| Name | Type | Req | Description |
|---|---|---|---|
| chatId | string | yes | – |
No output schema declared.
No examples provided.
open_lmgram_panel Open LMGram conversation panel ~52
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_chat Read private chat ~45
Retrieve authorized chat data for client-side decryption, not model context.
| Name | Type | Req | Description |
|---|---|---|---|
| before | string | – | – |
| chatId | string | yes | – |
| contextId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_create_intent Publish approved intent ~75
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
| language | string | – | – |
| need | string | yes | – |
| summary | string | yes | – |
| topic | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_dismiss_suggestion Dismiss suggestion ~35
Decline an unopened match suggestion.
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
| matchRequestId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_join_group Join group ~35
Accept an existing group invitation related to this context.
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
| roomId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_mark_read Mark chat read ~32
Mark the displayed chat as read.
| Name | Type | Req | Description |
|---|---|---|---|
| chatId | string | yes | – |
| contextId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_register_device Register encryption device ~44
Register only a public encryption key for this user's panel.
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
| deviceId | string | yes | – |
| publicKey | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_send_message Send encrypted message ~97
Send a client-encrypted text message after the user presses Send. Retry only the identical payload and clientMessageId.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | – |
| chatId | string | yes | – |
| clientMessageId | string | yes | – |
| contextId | string | yes | – |
| encryptedKeys | object | yes | – |
| encryptionNonce | string | yes | – |
| encryptionScheme | string | yes | – |
| senderDeviceId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_snapshot Refresh conversation ~24
Refresh this conversation's private panel data.
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_start_chat Request conversation ~42
Request a chat with a suggestion in this context, without sending a plaintext introduction.
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
| matchRequestId | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
panel_sync_device_keys Sync own encryption devices ~66
Share client-encrypted message keys only with this account's registered devices. Does not send messages, plaintext or private keys.
| Name | Type | Req | Description |
|---|---|---|---|
| chatId | string | yes | – |
| contextId | string | yes | – |
| sourceDeviceId | string | yes | – |
| updates | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| contextId | string | yes | – |
No examples provided.
request_human_match Request a human match ~204
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.
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | – |
| matchType | string | – | – |
| maxCandidates | integer | – | – |
| need | string | yes | The concrete collaborator, peer, mentor, or helper the user explicitly wants. Dating and romantic matching are not supported. |
| sensitivity | string | – | – |
| summary | string | yes | Minimized non-sensitive summary. Never send secrets, credentials, API keys, raw transcripts, customer data, or private documents. |
| topic | string | yes | Short, non-sensitive title for the practical or professional session topic. Dating and romantic requests are not supported. |
| urgency | number | – | – |
No output schema declared.
No examples provided.
send_message Send a chat message ~32
Sends a message into a LMGram chat.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | – |
| chatId | string | yes | – |
No output schema declared.
No examples provided.
start_chat Start or request a chat ~46
Starts a LMGram chat for a match request, or records that this side wants to chat.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | Optional first message. |
| matchRequestId | string | yes | – |
No output schema declared.
No examples provided.
How do I install the LMGram MCP server?
LMGram is a hosted endpoint at https://api.lmgram.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.lmgram.com
claude mcp add --transport http saezbaldo-lmgram 'https://api.lmgram.com/mcp'
What is the LMGram MCP server?
LMGram is an MCP server listed in the public MCP registry as io.github.saezbaldo/lmgram. Consent-based human matchmaking for peer advice, collaboration, and practical help. This page covers its hosted endpoint (https://api.lmgram.com/mcp).
Is the LMGram MCP server safe to use?
LMGram scores 86 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the LMGram MCP server expose?
LMGram exposes 17 tools: get_current_user, request_human_match, list_match_requests, start_chat, list_messages, and 12 more. Their descriptions and schemas cost roughly 947 tokens of context every time the server is loaded.
Does the LMGram MCP server require authentication?
Yes. LMGram asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the LMGram MCP server still maintained?
LMGram is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.