rel_mcp
Reads Gmail history to surface prior context such as commitments, agreements, and open loops before meetings.
Reads Google Calendar events to identify upcoming meetings and trigger pre-meeting relationship briefings.
Enables natural-language queries, meeting briefings, weekly relationship digests, overdue commitment nudges, and task management directly in Telegram.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rel_mcpWhat did we agree on last time with Acme?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LYNK
Meeting & relationship intelligence for people who work through relationships.
Turn every external meeting into relationship intelligence — automatically.
Remember the relationship. Not just the meeting.
Your calendar tells you who you're meeting.
Your inbox tells you what happened before.
Your CRM tells you what's on record.
Your memory is supposed to connect all three.
LYNK does that part.
LYNK is a Telegram-based AI agent that builds persistent context around the people and organizations you work with.
Before a meeting, it prepares you with the relevant history.
After a meeting, it can capture what happened.
Between meetings, it keeps track of what is still open.
It's designed for anyone whose work depends on recurring external relationships — sales reps, account managers, consultants, recruiters, founders, freelancers, agencies, executives, and anyone else who needs to remember what was said, what was promised, and what happens next.
BEFORE
Know the history.
↓
DURING
Capture what happened.
↓
AFTER
Keep the relationship moving.
Related MCP server: Graphiti MCP Server
Before the meeting
Walk in already knowing the context.
45–75 minutes before an external meeting, LYNK sends a briefing directly to Telegram.
Not a calendar summary.
A relationship briefing built from the history you already have with that person or organization.
It can surface:
Last contact — when you last spoke and what happened
Commitments — what you owe them and what they owe you
Agreements — terms that were actually confirmed
Open loops — questions, tasks, and follow-ups that are still unresolved
Suggested questions — useful things to ask based on the relationship history
The goal isn't to tell you what's on your calendar.
It's to remind you what matters before you walk in.
The part that matters
Most AI systems are very good at summarizing.
LYNK cares about something harder:
What do we actually know?
A conversation can contain something that was:
said → discussed → suggested → agreed → confirmed
Those aren't the same thing.
LYNK keeps that distinction explicit.
DISCUSSION
│
▼
┌──────────┐
│ DECISION │
└────┬─────┘
│
▼
┌────────────┐
│ COMMITMENT │
└──────┬─────┘
│
▼
┌────────────┐
│ CONFIRMED │
└────────────┘An AI-generated statement doesn't become a fact just because it sounds confident.
Unverified information stays unverified until it is confirmed.
After the meeting
LYNK can turn the meeting itself into structured relationship data.
JOIN → RECORD → TRANSCRIBE → EXTRACT → UPDATEIt can capture:
key discussion points
decisions
commitments
open questions
follow-up items
The same rule applies after the meeting:
Discussion is not automatically a decision.
A statement is not automatically a commitment.
The relationship record gets updated without quietly rewriting history.
A relationship that remembers
At the center of LYNK is a persistent local relationship ledger.
It accumulates context across interactions with people and organizations:
RELATIONSHIP
│
┌───────────────────┼───────────────────┐
│ │ │
PEOPLE INTERACTIONS ORGANIZATIONS
│ │ │
└───────────────────┼───────────────────┘
│
┌────────┴────────┐
│ │
COMMITMENTS AGREEMENTS
│ │
└────────┬────────┘
│
OPEN LOOPSOver time, LYNK becomes less like a meeting assistant and more like a memory layer for your professional relationships.
Ask it when you need it
You don't have to wait for the next scheduled brief.
Just ask.
"What did we agree on last time?"
"What are they waiting for from us?"
"What commitments are overdue?"
"When did we last talk?"
"What's our status with Acme?"LYNK queries the accumulated relationship context instead of starting from zero.
And then it keeps working
Once enabled, LYNK can quietly handle recurring relationship maintenance:
Weekly relationship digest A compact view of meaningful relationship activity.
Overdue commitment nudges Surface things that are still waiting on someone.
Task delegation Turn a conversation into an action without leaving Telegram.
Post-meeting intelligence Capture decisions, commitments, and follow-ups automatically.
Remote kill switch Stop the agent directly from Telegram when needed.
No dashboard to maintain. No relationship database to keep updated manually.
The system maintains the context.
You use it.
Run LYNK
LYNK can run in two ways:
Local — everything runs on your own computer.
Server — the agent stays online 24/7 on a Linux VPS, even when your computer is off.
If you're setting up LYNK for the first time, start locally. Once it works, move the same setup to a server.
What you need
What | Why |
Python 3.11+ | Runs the LYNK MCP server |
Google account | Calendar + Gmail access |
Telegram account | Bot delivery and interaction |
Hermes Agent | Model, orchestration, Telegram, and scheduling |
1. Install Python
LYNK requires Python 3.11+.
Check your version:
python --versionor:
python3 --versionYou need Python 3.11 or newer.
2. Install uv
LYNK uses uv for Python environments and dependencies.
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | shRestart your terminal and verify:
uv --versionOn Windows, install uv using its Windows instructions and verify the same command from PowerShell.
3. Clone LYNK
git clone https://github.com/mariiammaysara/LYNK.git
cd LYNK4. Install dependencies
uv sync --all-groupsThen run the tests:
uv run pytestLYNK currently has 220+ tests.
5. Create a Google Cloud project
Open Google Cloud Console:
https://console.cloud.google.com/
Create a new project, for example:
lynk-agentThen go to:
APIs & Services → Library
Enable:
Google Calendar API
Gmail API
6. Configure Google OAuth
Go to:
APIs & Services → OAuth consent screen
Choose Internal for a Workspace-only application or External for a personal Gmail account.
Add the read-only scopes:
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/gmail.readonlyIf the app is external and in testing mode, add your own Google account under Test users.
Then go to:
APIs & Services → Credentials → Create Credentials → OAuth client ID
Choose:
Desktop app
Download the credentials and save them as:
credentials.jsonin the project root:
LYNK/
├── credentials.json
├── rel_mcp/
├── scripts/
└── ...The file is already ignored by Git.
Never commit it.
7. Configure the environment
Create your environment file:
cp .env.example .envOn Windows PowerShell:
Copy-Item .env.example .envConfigure:
GOOGLE_CREDENTIALS_PATH=./credentials.json
OWNER_EMAIL=<your Google email>
TIMEZONE=<your timezone>For Egypt:
TIMEZONE=Africa/Cairo8. Authenticate with Google
Run:
uv run python scripts/google_check.pyA browser should open.
Sign in with the Google account you configured and approve the requested read-only permissions.
A successful setup should report something like:
connected as: you@example.comAt this point, the Google side of LYNK is ready.
9. Create a Telegram bot
Open Telegram and message @BotFather.
Send:
/newbotChoose a display name and a username ending in bot.
BotFather will give you a bot token.
Treat it like a password.
Open the new bot and press Start.
10. Configure Hermes
Install Hermes separately, then create the LYNK profile:
hermes profile create lynk \
--description "Meeting and relationship agent"Configure a model provider:
hermes -p lynk auth add openrouterUse another provider supported by Hermes if preferred.
Set your timezone:
hermes -p lynk config set timezone Africa/CairoConfigure Telegram:
hermes gateway setupProvide the Telegram bot token when prompted.
11. Start the gateway
hermes gateway runSend your bot a message such as:
What's my status with Acme?or:
When did we last talk?Then verify that an upcoming external meeting produces its scheduled brief.
For local scheduled jobs, your computer must remain on and connected to the internet.
Once local setup works, deploy LYNK to a Linux VPS.
A VPS is simply a remote Linux machine that stays online while your own computer is off.
1. Connect to the server
Create a Linux VPS and connect over SSH:
ssh youruser@YOUR_SERVER_IP2. Prepare the server
sudo apt update
sudo apt upgrade -y
sudo apt install -y git curlVerify Python:
python3 --versionInstall uv:
curl -LsSf https://astral.sh/uv/install.sh | shVerify:
uv --version3. Install LYNK
git clone https://github.com/mariiammaysara/LYNK.git
cd LYNK
uv sync --all-groups
uv run pytestMake sure the tests pass before continuing.
4. Configure the environment
cp .env.example .envSet:
GOOGLE_CREDENTIALS_PATH=./credentials.json
OWNER_EMAIL=<your Google email>
TIMEZONE=<your timezone>Copy credentials.json securely to the server.
From your local machine:
scp credentials.json youruser@YOUR_SERVER_IP:/path/to/LYNK/credentials.jsonThen on the server:
chmod 600 credentials.json5. Authenticate Google
A headless server normally doesn't have a browser.
If the OAuth flow needs one, create an SSH tunnel from your local computer:
ssh -L 8080:localhost:8080 youruser@YOUR_SERVER_IPKeep that SSH session open.
On the server:
cd LYNK
uv run python scripts/google_check.pyComplete the Google login in your local browser.
The resulting authentication state should remain on the server.
Never commit OAuth tokens or credentials.
6. Configure Hermes
Install Hermes on the server and create the profile:
hermes profile create lynk \
--description "Meeting and relationship agent"
hermes -p lynk auth add openrouter
hermes -p lynk config set timezone Africa/Cairo
hermes gateway setupEnter the Telegram bot token.
Test manually first:
hermes gateway runSend a Telegram message and make sure it works.
Do not configure systemd until this manual test succeeds.
7. Run it permanently
Find the Hermes executable:
which hermesCreate:
sudo nano /etc/systemd/system/lynk.serviceUse:
[Unit]
Description=LYNK Hermes gateway
After=network.target
[Service]
Type=simple
User=youruser
WorkingDirectory=/opt/lynk
ExecStart=/usr/local/bin/hermes gateway run
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targetAdjust User, WorkingDirectory, and ExecStart for your server.
Then:
sudo systemctl daemon-reload
sudo systemctl enable lynk
sudo systemctl start lynkCheck:
sudo systemctl status lynkFollow logs with:
sudo journalctl -u lynk -fLYNK will now start automatically after a server reboot and continue running after you disconnect from SSH.
Before considering the deployment complete:
[ ] Python 3.11+ installed
[ ] uv installed
[ ] LYNK dependencies installed
[ ] pytest passes
[ ] Google Calendar API enabled
[ ] Gmail API enabled
[ ] OAuth credentials configured
[ ] Google authentication succeeds
[ ] Telegram bot created
[ ] Telegram bot responds
[ ] Hermes profile configured
[ ] Model provider works
[ ] Hermes gateway works manually
[ ] systemd service starts
[ ] Service survives SSH logout
[ ] Service starts after reboot
[ ] Scheduled brief arrivesKeep secrets out of Git
Never commit:
.env
credentials.json
OAuth tokens
Telegram bot tokens
API keys
private databasesProtect the server
Use SSH keys where possible and avoid exposing unnecessary ports.
Protect Telegram
Treat the Telegram bot token like a password.
If it is exposed, revoke or regenerate it through BotFather.
Protect relationship data
The local database can contain information about contacts, organizations, meetings, commitments, and conversations.
Treat the server and its backups as sensitive data stores.
Google permissions
LYNK's Google integration uses read-only Calendar and Gmail scopes.
Architecture
LYNK separates deterministic business logic from agent reasoning.
Calendar + Gmail + CRM
│
▼
┌──────────┐
│ rel_mcp │
│ facts + │
│ rules │
└────┬─────┘
│
▼
┌──────────┐
│ Hermes │
│ agent │
└────┬─────┘
│
▼
Telegramrel_mcp owns retrieval, relationship state, classification, and deterministic business rules.
Hermes provides the model, orchestration, Telegram, scheduling, and approval layer.
The LLM is not the source of truth.
Built
Core — built & tested | Additional — built & tested |
✓ Pre-meeting intelligence | ✓ Weekly relationship digest |
✓ Relationship ledger | ✓ Daily commitment nudges |
✓ Commitment tracking | ✓ Task delegation |
✓ Overdue detection | ✓ Remote kill switch |
✓ Instant relationship queries | ✓ Post-meeting recording & transcription |
✓ Decision & commitment extraction |
Contributing
LYNK is built to grow.
Contributions, ideas, improvements, and bug fixes are welcome.
If you see something that could make LYNK more useful, feel free to open an
issue or submit a pull request.
For implementation details and the reasoning behind the deterministic rules, confirmation handling, environment contract, and testing decisions, see README.dev.md.
Built by Mariam Maysara
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
CRM, relationship intelligence, and multi-agent orchestration for AI agents.
Persistent knowledge graph for AI-augmented teams. Store decisions, findings, and standing rules across agent sessions with semantic search and typed connections. Includes cross-session memory, audit trail, workspace isolation, and secret detection. Built for teams running agents that need to remember.
Personal wiki and memory layer for AI assistants. Persistent, structured memory across sessions.
An AI-first personal CRM you run in natural language: contacts, reminders, notes, and more.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI systems to remember interactions, understand document context through semantic search, and intelligently route requests with persistent memory and quality-scored content synthesis.
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to build and query temporally-aware knowledge graphs from conversations and data, maintaining persistent memory of entities, relationships, and facts across interactions.
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to persist and retrieve memories via a personal knowledge graph, with tools for emotional intelligence, CRM, life management, social features, self-training, and autonomous insights.1165MIT
- AlicenseNot gradedqualityDmaintenanceProvides persistent knowledge graph memory for AI agents, enabling them to store, recall, and query facts about people, projects, and relationships across sessions.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mariiammaysara/LYNK'
If you have feedback or need assistance with the MCP directory API, please join our Discord server