You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linked API MCP server connects your LinkedIn account to AI assistants like Claude, Cursor, and VS Code. Ask them to search for leads, send messages, analyze profiles, and much more – they'll handle it through our cloud browser, safely and automatically.
2
2
3
3
## Use cases
4
+
4
5
-**Sales automation assistant**. Ask your AI to find leads, check their profiles, and draft personalized outreach. It can search for "software engineers at companies with 50-200 employees in San Francisco", analyze their backgrounds, and suggest connection messages that actually make sense.
5
6
-**Recruitment assistant**. Let your assistant search for candidates with specific skills, review their experience, and send initial outreach. It handles the time-consuming parts while you focus on actually talking to people.
6
7
-**Conversation assistant**. Your AI can read your existing LinkedIn conversations and help you respond naturally. It understands the context of your chats, suggests relevant replies, and can even send follow-up messages.
7
8
-**Market research assistant**. Need competitor analysis? Your assistant can gather data about companies, their employees, and recent activities. Get insights about industry trends without spending hours on LinkedIn.
8
9
9
10
## Get started
11
+
10
12
To start using Linked API MCP, spend 2 minutes reading these essential guides:
11
13
12
14
1.[Installation](https://linkedapi.io/mcp/installation/) – set up MCP in Claude, Cursor, VS Code, or Windsurf.
13
15
2.[Available tools](https://linkedapi.io/mcp/available-tools/) – explore all the LinkedIn tools your assistant can call.
14
16
3.[Usage examples](https://linkedapi.io/mcp/usage-examples/) – see real-world examples to get you started quickly.
15
17
18
+
## Long-running actions
19
+
20
+
Linked API actions run through a cloud browser and are queued like normal automation. Many actions take several minutes, especially searches and profile fetches with optional data.
21
+
22
+
If a tool returns `workflowId` and `operationName`, the action is still running. Do not retry the original tool because that can queue duplicate work. Call `get_workflow_result` with the exact `workflowId` and `operationName` until the final result is returned.
23
+
16
24
## License
25
+
17
26
This project is licensed under the MIT – see the [LICENSE](https://github.com/Linked-API/linkedapi-mcp/blob/main/LICENSE) file for details.
Copy file name to clipboardExpand all lines: src/linked-api-server.ts
+64-16Lines changed: 64 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -12,22 +12,47 @@ import {
12
12
LinkedApiProgressNotification,
13
13
}from'./utils/types';
14
14
15
+
constBACKGROUND_WORKFLOW_DESCRIPTION=
16
+
`Linked API actions are queued into a cloud-browser workflow and may take several minutes. This is normal LinkedIn automation behavior, not a failed request. If the response contains workflowId and operationName, do not retry this tool; call get_workflow_result with those exact values until the final result is returned.`asconst;
Copy file name to clipboardExpand all lines: src/tools/comment-on-post.ts
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,8 @@ export class CommentOnPostTool extends OperationTool<TCommentOnPostParams, unkno
16
16
publicoverridegetTool(): Tool{
17
17
return{
18
18
name: this.name,
19
-
description: 'Allows you to leave a comment on a post (st.commentOnPost action).',
19
+
description:
20
+
'Allows you to leave a comment on a post (st.commentOnPost action). If this workflow is still running, do not retry this tool; retrying can post duplicate comments.',
'Creates a new LinkedIn post with optional media attachments (st.createPost action).',
29
+
'Creates a new LinkedIn post with optional media attachments (st.createPost action). If this workflow is still running, do not retry this tool; retrying can create duplicate posts.',
Copy file name to clipboardExpand all lines: src/tools/execute-custom-workflow.ts
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,8 @@ export class ExecuteCustomWorkflowTool extends OperationTool<
17
17
publicoverridegetTool(): Tool{
18
18
return{
19
19
name: this.name,
20
-
description: 'Execute a custom workflow definition',
20
+
description:
21
+
'Execute a custom workflow definition. If this workflow is still running, do not retry this tool; retrying can duplicate any write actions inside the custom workflow.',
0 commit comments