Updated

LangChain logoLangChain · Developer frameworkConnects directly

How to connect LangChain to LinkedIn, step by step

Create an API key at finchreach.com/api-keys, connect LinkedIn at finchreach.com/accounts, then add https://mcp.finchreach.com/mcp to LangChain with the header Authorization: Bearer lk_…. Test with a read, and approve the first draft under Approvals.

What you need

  • A Finchreach account (sign in at finchreach.com) and the LinkedIn account you want LangChain to work on.
  • LangChain.
  • About five minutes.

Step 1: Create a Finchreach API key

  1. Sign in at finchreach.com and open API keys.
  2. Create a key and name it after the tool, for example “LangChain”.
  3. Copy it right away: it starts with lk_ and is shown only once.

Step 2: Connect your LinkedIn account

  1. Open Accounts and click to connect LinkedIn.
  2. Follow the steps until the account shows as connected.

Approval mode is on by default: nothing the assistant drafts reaches LinkedIn until you approve it.

Step 3: Add Finchreach to LangChain

  1. Install the adapters: pip install langchain-mcp-adapters.
  2. Create a MultiServerMCPClient with the streamable_http transport and the header, as below, and load the tools.
  3. Pass the tools to your agent (for example a LangGraph ReAct agent) and run it.
Python
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({"finchreach": {
    "transport": "streamable_http",
    "url": "https://mcp.finchreach.com/mcp",
    "headers": {"Authorization": "Bearer lk_YOUR_KEY"},
}})
tools = await client.get_tools()

Replace lk_YOUR_KEY with your key. Keep the key out of shared files and repos; where LangChain can read it from an environment variable, prefer that.

Headers work on the HTTP and SSE transports. The adapters repo is archived in favour of langchain[mcp]; newer docs show an MCPAdapter API we haven’t verified.

Step 4: Test the connection

In LangChain, start with a read. It runs right away and proves the key and the account work:

Ask your assistant“List my connected LinkedIn accounts, then summarize my five latest notifications.”

You should see calls to linkedin_list_accounts and linkedin_get_notifications. Then try a write, which goes to your approval queue instead of LinkedIn:

Ask your assistant“Draft a short LinkedIn post saying I’m trying a new AI assistant workflow. Submit it for my approval.”

Step 5: Approve or reject it in Finchreach

  1. Open Approvals. The draft is there with its exact text and the account it would go out from.
  2. Approve it to publish, or reject it (reject the test post if you don’t want it live).
  3. LangChain can check the result with linkedin_get_action: pending, approved, rejected, executed, failed or expired.

Troubleshooting

  • Read the key from an environment variable in real code rather than the source.
  • Write tools return a pending action: poll linkedin_get_action if your agent needs to know when you approved it.
  • 401 or “unauthorized”: the key is wrong, revoked or missing its prefix. Finchreach accepts Authorization: Bearer lk_… or X-API-Key: lk_…; check for a missing Bearer , quotes or a trailing space.
  • A tool is missing: the key’s permissions don’t include it. Create a key with the permissions you need under API keys.
  • “No LinkedIn account”: connect one under Accounts, or reconnect it if its session expired.
  • A post or message “didn’t go out”: it is probably still waiting under Approvals. Writes run only after you approve them.

Still stuck? Compare your setup with LangChain’s documentation, checked on 2026-10-28; client screens change often.

What to ask LangChain next

Ask your assistant“An agent that reads my LinkedIn feed and writes a daily digest of posts in my field.”
Ask your assistant“A pipeline that drafts a LinkedIn post from each new article in our CMS.”
Ask your assistant“A research agent that finds people on LinkedIn by role and company and drafts invitations.”

More ideas on the LangChain integration page.

Common questions

No, a key is shown only once. Create a new one under API keys, put it in your config, and revoke the old one.

No. LangChain only gets your Finchreach API key. Your LinkedIn connection stays in Finchreach, and you can revoke the key at any time without touching LinkedIn.

Yes, but one key per tool (for example one named “LangChain”) lets you revoke one without breaking the others.

Revoke its key under API keys; LangChain gets a 401 from then on. Then remove the server from its config.

Third-party facts checked on against LangChain docs, docs.langchain.com.