Skip to content

feat(messaging): add inbox, conversation, search, and send tools#6

Merged
5queezer merged 1 commit intomainfrom
feature/234-messaging-tools
Mar 19, 2026
Merged

feat(messaging): add inbox, conversation, search, and send tools#6
5queezer merged 1 commit intomainfrom
feature/234-messaging-tools

Conversation

@5queezer
Copy link
Copy Markdown
Owner

Summary

Adds 4 new messaging tools to the LinkedIn MCP server (stickerdaniel#234):

  • get_inbox — list recent conversations from messaging inbox
  • get_conversation — read a specific thread by username or thread_id
  • search_conversations — search messages by keyword
  • send_message — send a message to a LinkedIn user

Checklist

Code

  • Add extractor methods to LinkedInExtractor (scraping/extractor.py)
  • Add messaging.py tool registration (tools/messaging.py)
  • Register tools in create_mcp_server() (server.py)
  • Add "messaging" reference kind (scraping/link_metadata.py)

Tests

  • Add mock methods to _make_mock_extractor (tests/test_tools.py)
  • Add TestMessagingTools class (tests/test_tools.py)
  • Add TestMessaging class (tests/test_scraping.py)
  • Add messaging URL classification tests (tests/test_link_metadata.py)
  • Update TestToolTimeouts.tool_names tuple

Docs

  • Update tool table in README.md
  • Update features list in docs/docker-hub.md
  • Add tools to manifest.json

Verify

  • uv run pytest --cov — 297 passed, 74.32% coverage
  • uv run ruff check . && uv run ruff format .
  • uv run ty check
  • uv run pre-commit run --all-files
  • Live test get_inbox
  • Live test get_conversation
  • Live test search_conversations
  • Live test send_message

Test plan

  • Start server: uv run -m linkedin_mcp_server --transport streamable-http --log-level DEBUG
  • Verify get_inbox returns conversation list
  • Verify get_conversation with a known username returns messages
  • Verify search_conversations returns filtered results
  • Verify send_message sends to a test account

Notes

  • send_message is the first write operation in the server. It uses readOnlyHint: false and openWorldHint: true to signal MCP clients to confirm before sending.
  • Messaging tools don't follow the section-config pattern in fields.py — each method navigates directly.
  • LinkedIn may restrict messaging to 1st-degree connections. The tool handles "Message" button absence with a clear error.

Mirror of stickerdaniel#235.

Generated with Claude Opus 4.6. Prompt: Implement the following plan: LinkedIn Messaging Tools

Closes stickerdaniel#234

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@5queezer 5queezer merged commit 99774bd into main Mar 19, 2026
2 checks passed
@ahansson89
Copy link
Copy Markdown

Just tried this and it looks like InMail send messages are missing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants