Run your LinkedIn job search from the terminal with OpenCode
Use OpenCode to research target companies on LinkedIn, find warm intros, and draft intro requests and invitations, all queued for your approval.
Finchreach teamOpencodeLinkedinMcpJob searchDevelopers
The short answer
If you already live in the terminal, OpenCode can run the LinkedIn side of your job search. Connect it to Finchreach and you can ask it to search companies and people, find hiring managers and engineers at your target companies, spot 2nd-degree connections who could introduce you, keep a short tracker in a Markdown file in your repo, and draft intro requests and connection invitations. Every message and invitation waits for your approval before it reaches LinkedIn.
Finchreach is a remote LinkedIn MCP server at https://mcp.finchreach.com/mcp. MCP (Model Context Protocol) is a standard plug that lets AI apps use outside tools. OpenCode supports remote MCP servers natively; you add one block to opencode.json with your API key, and set "oauth": false.
Approval mode is on by default for every account. Each write comes back as pending_approval, and you approve or reject it in the approval queue.
Why job hunt on LinkedIn from a coding agent?
A job search is mostly research and bookkeeping: which companies are hiring for your stack, who leads the team, who you know there, who you have already written to. Developers tend to scatter that across browser tabs and a spreadsheet they stop updating. A coding agent is good at exactly this kind of structured, repetitive work, and it can keep the tracker as a plain file next to your notes.
Warm introductions matter more than cold applications. The useful question is not "who is hiring" but "who do I know who knows someone on that team." LinkedIn search with a network filter answers that, and the agent can do the cross-referencing for you.
What can OpenCode do on LinkedIn through Finchreach?
linkedin_searchacross all, content, people or companies. People search takes a network filter (1st, 2nd or 3rd+), which is how you find warm paths.linkedin_get_profileto read a person’s headline, current role and company before you reach out.linkedin_get_conversationsandlinkedin_get_messagesto see what you have already said to someone.linkedin_send_dmto message a 1st-degree connection, in an existing conversation or a new one. Queued for approval.linkedin_send_invitationwith an optional note of up to 300 characters. Queued for approval.linkedin_get_actionto check whether a queued action was approved, rejected or is still pending.
Finchreach does not apply to jobs, post images, schedule posts, manage company pages or provide analytics. The tracker is a file OpenCode writes on your machine, not a Finchreach feature.
What prompts work for a LinkedIn job search in OpenCode?
Start with the target list and the research:
Ask your assistant“I am a backend engineer (Go, Postgres, Kubernetes) looking for staff roles. Search LinkedIn companies for developer-tools and infrastructure startups, then pick the 8 that look like the best fit and explain why in one line each.”
Ask your assistant“For each of those companies, search LinkedIn people for engineering managers and senior engineers on platform or infrastructure teams. Separately, search people filtered to 2nd-degree connections at each company. Write the results to job-search/tracker.md as a table: company, person, role, degree, and who our mutual connection might be. Do not send anything.”
Then turn the tracker into outreach. For warm intros, ask your 1st-degree connections:
Ask your assistant“For every row in tracker.md where I have a 1st-degree connection who works at the company or knows the person, check our past messages, then draft a short DM asking for an intro. Mention the specific team, keep it under 80 words, and make it easy to say no. Queue each one and add the action id to the tracker.”
For people you do not know yet, a personal invitation is the polite first step:
Ask your assistant“Draft connection invitations to the two engineering managers at the top of the tracker. Each note must be under 300 characters, reference something real from their profile, and not ask for a job in the first message. Queue them for approval.”
A typical note looks like this:
Hi Jordan, I have been following your team’s work on the Postgres operator and ran into the same failover edge cases at my last job. Would be glad to connect and compare notes. - AlexAsk your assistant“Check the status of every queued action in tracker.md and update the Status column.”
How do I add the Finchreach MCP server to OpenCode?
- Sign up at finchreach.com/sign-up and connect your LinkedIn account in the dashboard.
- Create an API key in the dashboard (it starts with
lk_) and export it in your shell asFINCHREACH_API_KEY. - Add the
finchreachblock below undermcpin youropencode.json(oropencode.jsonc). - Run
opencode mcp listto confirm the server is connected. If it is not, runopencode mcp debug finchreach. - Start OpenCode and ask it to list your LinkedIn accounts.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"finchreach": {
"type": "remote",
"url": "https://mcp.finchreach.com/mcp",
"enabled": true,
"oauth": false,
"headers": {
"Authorization": "Bearer {env:FINCHREACH_API_KEY}"
}
}
}
}Keep "oauth": false when you use an API key. Finchreach supports OAuth too, but without that line, a 401 makes OpenCode start OAuth discovery instead of using your header. The {env:FINCHREACH_API_KEY} syntax keeps the key out of the file, so you can commit the config safely.
The full walkthrough is in the OpenCode guide; tools and the approval queue are covered in the docs. OpenCode’s own reference is at opencode.ai/docs/mcp-servers. OpenCode works with many model providers; pick one that handles multi-step tool calling reliably.
Will LinkedIn flag my account if an AI agent does my outreach?
Nothing goes out without you. Every DM, invitation, post, comment or reaction sits in your approval queue until you approve it, so you read every word before it is sent and you set the pace. During a job search that matters doubly: a clumsy message to a hiring manager costs more than a slow one.
Automating a personal LinkedIn account carries risk under LinkedIn’s User Agreement. Human approval and a modest, user-paced volume lower that risk; they do not remove it. No tool can honestly promise you will never be restricted.
OpenCode LinkedIn job search: common questions
Can OpenCode apply to jobs for me? No. Finchreach has no job application tool. It helps with research and with the messages and invitations that lead to referrals.
How do I find warm introductions? Ask OpenCode to search people at a company with the 2nd-degree network filter, then look for mutual 1st-degree connections and draft them a short intro request.
Why does OpenCode try to log me in with OAuth? Your config is missing "oauth": false. Add it, restart, and check with opencode mcp list.
How long can an invitation note be? Up to 300 characters.
Where does the tracker live? In whatever file you tell OpenCode to write, on your machine. Finchreach does not store it.
Can I use another agent? Yes, any MCP client that sends an API key header works. See Goose, Claude Code, or the docs.
