lnkz-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LNKZ_API_KEY | Yes | API key for authenticating with the relay. Sent as an Authorization: Bearer header. | |
| LNKZ_BASE_URL | Yes | The base URL of the LLMM/LNKZ REST relay. | |
| LNKZ_CONTEXT_SCOPES | No | Comma-separated scopes for forwarded context, e.g., conversations:read,conversations:write. | |
| LNKZ_CONTEXT_ACTOR_ID | No | Actor ID for forwarded context. | |
| LNKZ_CONTEXT_TRACE_ID | No | Trace ID for forwarded context. | |
| LNKZ_MCP_CONTEXT_SECRET | No | Secret used to sign context envelopes for trusted downstream MCP targets. | |
| LNKZ_CONTEXT_WORKSPACE_ID | No | Workspace ID for forwarded context. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| save_conversationC | Stores a normalized conversation from any LLM client or device so it can be searched, packaged, or handed off. |
| import_conversationC | Normalizes a ChatGPT, Claude, Gemini, LNKZ, Markdown, or plain-text transcript into portable conversations. Format is detected automatically unless one is given. |
| get_conversationA | Loads a stored conversation with its messages, lineage, extracted decisions, and a portable Markdown transcript. |
| list_conversationsA | Lists stored conversations newest first, optionally filtered by provider, tag, or participant. |
| search_conversationsA | Full-text ranked search across saved chats by title, summary, participant, tag, or message content. |
| append_messagesA | Adds new turns to an existing conversation, which is how a thread continued in a second client stays one thread. |
| export_conversationA | Writes a stored conversation back out in another client's format: a Markdown transcript, a Markdown brief with the decisions on top, a chat-completions message array, a ChatGPT-shaped export, a Claude-shaped export, a LNKZ packet, or plain text. Every format re-imports, so a conversation can leave LNKZ as easily as it arrived. |
| build_context_graphA | Builds a graph over the stored conversations: nodes for conversations, decisions, open questions and shared topics, and edges for lineage, shared subject matter, near duplicates and contradictions. Answers the questions search cannot: what this corpus knows, which decisions everything else leans on, and which conversations stand alone. Every edge carries the reason it exists. |
| list_publish_targetsA | Connects to every configured downstream MCP server and lists the tools it exposes, marking which ones look like writes. Configure targets with LNKZ_MCP_TARGETS as name=url, optionally name=url|key. This is discovery only: it reads what is available and changes nothing. |
| prepare_publishA | Maps a conversation onto a downstream MCP tool's input schema and returns the exact call that would be made, including which required fields it could not fill. It never sends anything. Review the payload, then make the call yourself with that server's own tool if you want it to happen. |
| delete_conversationA | Permanently removes a conversation, its messages, and its handoffs. |
| create_handoffA | Mints an expiring, use-limited bearer link that another person, device, or LLM client can redeem for portable context. Optionally redacts secrets before the packet leaves. |
| redeem_handoffC | Loads the portable packet behind an unexpired LNKZ handoff token, including the transcript and the extracted decisions and open questions. |
| continue_handoffC | Redeems a handoff and stores the continuation as a new conversation in this client, linked back to the original so the chain stays walkable. |
| revoke_handoffB | Immediately invalidates a handoff link that has already been shared. |
| list_handoffsB | Shows issued handoffs with their expiry, remaining uses, audience, and revocation state. Tokens are never returned. |
| build_context_packetA | Assembles a token-budgeted brief from stored conversations and connected sources: decisions, open questions, action items, a recent excerpt, and any contradictions between chats. Use this instead of pasting a whole transcript. |
| analyze_conversationA | Extracts decisions, open questions, action items, cited facts, and topics from one stored conversation without calling a model. |
| find_conflictsA | Compares decisions across recent conversations and reports pairs that appear to disagree. Heuristic: it surfaces candidates for review, it does not adjudicate them. |
| find_duplicatesA | Reports conversations whose transcripts overlap heavily, which happens whenever the same chat is relayed through more than one client. |
| search_contextA | Searches LNKZ conversations plus every configured connector (Slack, Jira, Figma, documentation feeds, and any federated MCP server) in one call, reporting per-source failures instead of hiding them. |
| list_connectorsA | Shows which context sources are configured and which are disabled, with the reason. |
| workspace_statsA | Counts stored conversations and messages, the providers they came from, and active handoffs. |
| audit_logC | Returns recent LNKZ events: saves, imports, handoff creation, redemption, rejection, and revocation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| continue_shared_conversation | Resume an LNKZ handoff while preserving facts, decisions, sources, and unanswered questions. |
| research_brief | Builds a sourced brief from conversations and connected work systems. |
| prepare_handoff | Summarize a conversation, then mint a scoped handoff for a named recipient. |
| reconcile_conflicts | Review flagged contradictions and propose which decision stands. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| conversation-graph | Nodes and edges over the 50 most recent conversations. |
| connector-status | Configured and disabled connector inventory. |
| workspace-stats | Conversation, message, provider, and handoff counts. |
| recent-conversations | The 25 most recently updated conversations. |
TDQS
Scored across 24 tools
Most tools have clearly distinct purposes, but some close pairs exist such as save_conversation vs. import_conversation vs. append_messages, and search_conversations vs. search_context. Descriptions are detailed enough to disambiguate, though a couple of analytic/export tools could be confused at a glance.
The naming is predominantly consistent snake_case verb_noun (save_conversation, list_handoffs, build_context_graph). A few outliers like workspace_stats and audit_log are noun-first rather than verb-first, but the pattern is otherwise uniform and readable.
At 24 tools, the surface is on the heavy side and exceeds the typical 3-15 well-scoped range. Each tool appears to have a reason to exist, but the count feels more like a full platform API than a focused MCP server, making it borderline.
The tool set covers the full conversation lifecycle: save/import/get/list/delete/append/export, handoff creation/redemption/continuation/revocation, analytics, search across connectors, and audit logging. No major gaps are apparent for the stated purpose of managing portable conversations and handoffs.