Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 6 additions & 7 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@linkedapi/mcp",
"version": "2.2.0",
"version": "2.2.1",
"description": "MCP server that lets AI assistants control LinkedIn accounts and retrieve real-time data.",
"main": "dist/index.js",
"bin": {
Expand Down Expand Up @@ -30,7 +30,7 @@
"author": "Linked API",
"license": "MIT",
"dependencies": {
"@linkedapi/node": "^2.2.0",
"@linkedapi/node": "^2.2.1",
"@modelcontextprotocol/sdk": "^1.17.4",
"zod": "^4.1.1"
},
Expand Down
20 changes: 19 additions & 1 deletion src/tools/send-message.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,18 @@ export class SendMessageTool extends OperationTool<TSendMessageParams, unknown>
personUrl: z.string().optional(),
text: z.string().min(1),
threadId: z.string().optional(),
manageConversation: z
.object({
operation: z.enum(['archive', 'unarchive', 'star', 'unstar', 'mute', 'unmute']),
})
.optional(),
});

public override getTool(): Tool {
return {
name: this.name,
description:
'Allows you to send a message to a person (st.sendMessage action). Provide either personUrl or threadId (threadId replies into an existing conversation thread and takes precedence). If this workflow is still running, do not retry this tool; retrying can send duplicate messages to the same person.',
'Allows you to send a message to a person (st.sendMessage action). Provide either personUrl or threadId (threadId replies into an existing conversation thread and takes precedence). Optionally pass manageConversation to archive, star, or mute the conversation right after the message is sent (chained st.manageConversation child, acting on the same thread). If this workflow is still running, do not retry this tool; retrying can send duplicate messages to the same person.',
inputSchema: {
type: 'object',
properties: {
Expand All @@ -35,6 +40,19 @@ export class SendMessageTool extends OperationTool<TSendMessageParams, unknown>
description:
'Optional conversation thread identifier to reply into, as returned by get_inbox. Provide this instead of personUrl to reply directly into a known thread.',
},
manageConversation: {
type: 'object',
description:
'Optional. Manage the conversation right after the message is sent. Acts on the same thread, so no threadId is needed.',
properties: {
operation: {
type: 'string',
enum: ['archive', 'unarchive', 'star', 'unstar', 'mute', 'unmute'],
description: 'Operation to apply to the conversation after sending the message.',
},
},
required: ['operation'],
},
},
required: ['text'],
},
Expand Down