LinkedIn OpenID MCP
README.md
# LinkedIn OpenID MCP
Multi-user **Model Context Protocol** server that connects ChatGPT / Claude / Cursor to LinkedIn using **only** LinkedIn’s official [Sign In with OpenID Connect](https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/sign-in-with-linkedin-v2) API.
**Docs site:** https://ashishodu2023.github.io/linkedin-mcp/
## What it does
| Tool | Purpose |
|:--|:--|
| `get_linkedin_profile` | Authenticated user’s OpenID profile (`name`, `email`, `picture`, `sub`) |
| `search` | Search profile fields + docs |
| `fetch` | Fetch `profile` or `docs` resources |
Each end-user authorizes **their own** LinkedIn account (OAuth). No scraping. No messaging automation.
## Quick start (local)
```bash
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
export BASE_URL="https://YOUR-PUBLIC-URL" # ngrok / cloud URL
export LINKEDIN_CLIENT_ID="..."
export LINKEDIN_CLIENT_SECRET="..."
export LINKEDIN_REDIRECT_URI="${BASE_URL}/oauth/linkedin/callback"
PYTHONPATH=src uvicorn linkedin_mcp.server:app --reload --port 8080
```
### LinkedIn Developer app
1. Create app at https://www.linkedin.com/developers/apps
2. Products → enable **Sign In with LinkedIn using OpenID Connect**
3. Auth → Authorized redirect URL: `https://YOUR-PUBLIC-URL/oauth/linkedin/callback`
### ChatGPT
1. Settings → Connectors → Advanced → enable **Developer mode**
2. Create connector → MCP URL = `https://YOUR-PUBLIC-URL/`
3. Auth = OAuth (discovery via `/.well-known/oauth-authorization-server`)
4. Sign in → authorize LinkedIn → ask: `Call get_linkedin_profile`
## Deploy
Any HTTPS host with a public root URL works (Fly.io, Railway, Render, Cloud Run).
```bash
# example
export BASE_URL=https://linkedin-mcp.example.com
# set LinkedIn secrets as platform env vars
```
See `Dockerfile` and `fly.toml` / `railway.toml` in-repo.
## Limits (important)
Official LinkedIn OpenID returns **lite profile only**. It does **not** grant feed, connections, inbox, or arbitrary profile scraping. Requesting those via unofficial APIs risks account bans.
## License
MIT — Ashish Verma
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues