refresh_linkedin_posts
Force refresh LinkedIn posts data to fetch the most recent published content from your network.
Instructions
Force a refresh of LinkedIn posts data to capture recently published content.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- cli.js:1107-1191 (handler)The main handler for the 'refresh_linkedin_posts' tool. It validates the API key, calls the backend endpoint (backendLinkedinRefreshPostsApiUrl) via axios POST, and returns success or error responses.
} else if (name === 'refresh_linkedin_posts') { console.error(`${packageName}: Received call for refresh_linkedin_posts tool.`); const apiKey = process.env.LINKEDIN_MCP_API_KEY; if (!apiKey) { sendResponse({ jsonrpc: "2.0", error: { code: -32001, message: "Server Configuration Error: API Key not set." }, id }); return; } try { const headers = { "Authorization": `Bearer ${apiKey}`, "Content-Type": "application/json", "Accept": "application/json" }; console.error(`${packageName}: Calling refresh LinkedIn posts API: ${backendLinkedinRefreshPostsApiUrl}`); const apiResponse = await axios.post(backendLinkedinRefreshPostsApiUrl, {}, { headers, timeout: 60000 }); console.error(`${packageName}: Refresh LinkedIn posts API response status: ${apiResponse.status}`); console.error(`${packageName}: Refresh LinkedIn posts API response data:`, JSON.stringify(apiResponse.data, null, 2)); if (apiResponse.data && apiResponse.data.success) { sendResponse({ jsonrpc: "2.0", result: { content: [ { type: "text", text: apiResponse.data.message || "Successfully refreshed LinkedIn posts data." } ], isError: false }, id }); } else { const errorMessage = apiResponse.data?.error || "Backend API Error (no detail)"; console.error(`${packageName}: Refresh LinkedIn posts API Error: ${errorMessage}`); sendResponse({ jsonrpc: "2.0", result: { content: [ { type: "text", text: `Failed to refresh LinkedIn posts: ${errorMessage}` } ], isError: true }, id }); } } catch (error) { let errorMessage = `Failed to call refresh LinkedIn posts API: ${error.message}`; if (error.response) { // Extract complete error details from the response const responseData = error.response.data || {}; const extractedError = responseData.error || responseData.message || (typeof responseData === 'string' ? responseData : null); // Use the backend's full error message if (extractedError) { errorMessage = extractedError; } else { // Fallback with a generic message but including the status errorMessage = `Backend API Error (Status ${error.response.status}): Unknown error`; } console.error(`${packageName}: Refresh LinkedIn posts API Error Response:`, error.response.data); } else if (error.request) { errorMessage = "No response received from refresh LinkedIn posts API."; } console.error(`${packageName}: ${errorMessage}`); sendResponse({ jsonrpc: "2.0", result: { content: [ { type: "text", text: `Failed to refresh LinkedIn posts: ${errorMessage}` } ], isError: true }, id }); } - cli.js:1382-1389 (registration)Registration of the 'refresh_linkedin_posts' tool in the tools/list response, defining its name, description, and inputSchema (empty object).
{ name: "refresh_linkedin_posts", description: "Force a refresh of LinkedIn posts data to capture recently published content.", inputSchema: { type: "object", properties: {} } } - cli.js:20-20 (helper)The backend URL constant for refreshing LinkedIn posts, used by the handler to make the API call.
const backendLinkedinRefreshPostsApiUrl = 'https://ligosocial.com/api/mcp/linkedin/refresh-posts';