# How to connect LangChain to LinkedIn, step by step

Source: https://finchreach.com/guides/langchain
Third-party facts checked on 2026-10-28.

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](https://finchreach.com/sign-in)) 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](https://finchreach.com/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](https://finchreach.com/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:
```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](https://finchreach.com/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](https://finchreach.com/api-keys).
- “No LinkedIn account”: connect one under [Accounts](https://finchreach.com/accounts), or reconnect it if its session expired.
- A post or message “didn’t go out”: it is probably still waiting under [Approvals](https://finchreach.com/approvals). Writes run only after you approve them.

Still stuck? Compare your setup with [LangChain’s documentation](https://github.com/langchain-ai/langchain-mcp-adapters), 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](https://finchreach.com/integrations/langchain).

## Questions

### I lost my API key. Can I see it again?

No, a key is shown only once. Create a new one under [API keys](https://finchreach.com/api-keys), put it in your config, and revoke the old one.

### Does LangChain see my LinkedIn password?

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.

### Can I use the same key in several tools?

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

### How do I disconnect LangChain?

Revoke its key under [API keys](https://finchreach.com/api-keys); LangChain gets a 401 from then on. Then remove the server from its config.

## Sources

- [LangChain docs](https://github.com/langchain-ai/langchain-mcp-adapters)
- [docs.langchain.com](https://docs.langchain.com/oss/python/langchain/mcp)

## Related

- [What LangChain can do on LinkedIn](https://finchreach.com/integrations/langchain)
- [Build a LangChain agent that drafts LinkedIn comments for approval](https://finchreach.com/blog/langchain-linkedin-comment-drafts)
- [Quickstart and tools](https://finchreach.com/docs)
- [All setup guides](https://finchreach.com/guides)
