Conversation
Upgrade fastmcp from >=2.10.1 to >=2.14.0 to fix the 307 Temporary Redirect issue when using streamable-http transport. The fix was merged in FastMCP PR #896 and #998, which changed default paths to include trailing slashes and removed automatic path manipulation that caused redirect loops with Starlette's Mount routing. This also upgrades mcp from 1.10.1 to 1.25.0 which includes related fixes confirmed by users in modelcontextprotocol/python-sdk#1168. Resolves: #54
Upgrade fastmcp from >=2.10.1 to >=2.14.0 to fix the 307 Temporary Redirect issue when using streamable-http transport. The fix was merged in FastMCP PR #896 and #998, which changed default paths to include trailing slashes and removed automatic path manipulation that caused redirect loops with Starlette's Mount routing. This also upgrades mcp from 1.10.1 to 1.25.0 which includes related fixes confirmed by users in modelcontextprotocol/python-sdk#1168. Resolves: #54 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > <sup>[Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) is generating a summary for commit dfb2313. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
Add fakeredis and docket loggers to noise reduction to prevent DEBUG log pollution from FastMCP's internal task queue.
Add fakeredis and docket loggers to noise reduction to prevent DEBUG log pollution from FastMCP's internal task queue.
Updated formatting for notes and tips in README.md.
fix(docs): Refactor notes and tips formatting in README
- Upgrade to config:best-practices preset - Add group:allNonMajor to reduce PR noise - Enable vulnerability alerts with security label - Group MCP ecosystem packages (fastmcp, mcp) together - Automerge dev tool updates (pytest, ruff, pre-commit, ty)
- Upgrade to config:best-practices preset - Add group:allNonMajor to reduce PR noise - Enable vulnerability alerts with security label - Group MCP ecosystem packages (fastmcp, mcp) together - Automerge dev tool updates (pytest, ruff, pre-commit, ty) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Upgrades Renovate configuration and streamlines dependency management. > > - Switches to `extends: ["config:best-practices", "group:allNonMajor"]` to reduce PR noise and apply recommended settings > - Enables `vulnerabilityAlerts` with `labels: ["security"]` and schedule `at any time` > - Adds `packageRules` to group `fastmcp` and `mcp` minor/patch updates under "MCP ecosystem" > - Automerges minor/patch updates for dev tools (`pytest**`, `ruff`, `pre-commit`, `ty`) > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 7730903. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
… playwright as a dependency - Upgraded linkedin-scraper from version 2.11.5 to 3.0.1 with updated source. - Added playwright as a new dependency with a minimum version of 1.40.0. - Removed keyring from dependencies. - Updated pyproject.toml and uv.lock files accordingly.
…nhance session management - Updated Dockerfile to use Playwright for browser automation instead of Chrome WebDriver. - Simplified authentication flow by implementing session file management. - Removed keyring dependency and adjusted configuration for environment variable usage. - Enhanced error handling and logging for better debugging. - Updated README to reflect changes in authentication and usage instructions. - Refactored tools for company, job, and person scraping to utilize new Playwright-based architecture.
…rting - Remove unused retry utility (linkedin-scraper v3 has built-in retry) - Add MCPContextProgressCallback to report progress to MCP clients - Wire FastMCP Context into all scraping tools - Remove claude-code-review workflow
…ce browser reset functionality - Updated Dockerfile to use cache for faster dependency synchronization. - Added reset_browser_for_testing function to improve test isolation in browser management. - Adjusted job tool error handling to streamline exception management.
…anagement and documentation - Removed version specification from docker-compose.yml for flexibility. - Updated README to clarify session timeout details and added a warning about sensitive data in session files. - Improved comments in setup.py regarding manual login timeout. - Refactored job.py to return a dictionary with job URLs and count instead of a list for better data structure.
Replace Optional[X] with X | None throughout the codebase. This is the modern Python convention for Python 3.10+.
… utils): streamline authentication and error handling - Removed unused functions and consolidated cookie retrieval into a new utility function. - Updated error handling to provide clearer feedback on authentication failures. - Enhanced CLI exit behavior to ensure browser cleanup. - Simplified progress callback implementations by removing redundant classes. - Improved documentation and comments for better clarity on usage.
…tProgressCallback - Eliminated the logger and the on_error method from MCPContextProgressCallback to streamline the callback implementation. - Simplified the code by removing unused error logging, focusing on progress reporting functionality.
- Modified task labels and details for clarity, removing unnecessary options like '--no-lazy-init'. - Enhanced descriptions to better reflect the functionality of the tasks related to running the MCP server and following logs.
- Updated the resolution message in error_handler to provide clearer instructions for re-authentication, including the use of the LINKEDIN_COOKIE environment variable. - Simplified the AuthenticationError message in browser.py to focus on session validity without additional instructions.
…ronment variable management - Introduced a new .env.example file to guide users in setting up environment variables for LinkedIn MCP server. - Added python-dotenv as a dependency to facilitate loading environment variables from the .env file. - Updated README to reflect changes in session management and authentication instructions. - Enhanced task configurations in VSCode for easier session management. - default playwright timeout is 5sec
<!-- CURSOR_SUMMARY --> > [!NOTE] > Major migration to Playwright and linkedin_scraper v3 with simplified, session-file authentication. > > - Replace Selenium/ChromeDriver and keyring-based cookie storage with Playwright `BrowserManager`, session JSON (`~/.linkedin-mcp/session.json`), and optional `LINKEDIN_COOKIE` > - New auth/CLI: `--get-session`, `--clear-session`, `--session-info`, `--no-headless`; remove keyring/credentials and `--get-cookie`; add `.env.example` > - Refactor drivers to async Playwright (`drivers/browser.py`), add progress callbacks, and update error handling to new exception types > - Rewrite tools (`person`, `company`, `job`) to async v3 scrapers with MCP progress reporting; add `close_session` cleanup via server lifespan > - Update config schema/loaders (rename `chrome`→`browser`, env vars via dotenv), remove keyring providers; add small logging tweak > - Docker: base on Playwright image, non-root `pwuser`, mountable session volume; add `docker-compose.yml` and adjust VS Code tasks > - Docs/manifest: README overhauled for session-based auth and Docker/uvx usage; DXT manifest mounts session dir; update dependency pins in `pyproject.toml`/`uv.lock` and remove Selenium/keyring > - Remove Claude code review workflow; add submodule for scraper references > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit e81fbdd. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
- Bumped project version from 1.4.1 to 2.0.0 for major v2 update that uses playwright instead of selenium, tool progress notifications and better session management
The Playwright base image's pwuser doesn't have the cache directory pre-created, causing permission errors during multi-platform builds.
e3e40cf to
cf9028f
Compare
cf9028f to
d358b22
Compare
d358b22 to
1b18ff3
Compare
898c8b4 to
c10c593
Compare
|
@renovate rebase |
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
Greptile SummaryThis is a routine automated lock file maintenance PR from Renovate that refreshes Confidence Score: 5/5Safe to merge once rebased onto main — only uv.lock changes, all versions satisfy pyproject.toml constraints. Single-file automated lock file refresh with no source code changes. All pinned versions satisfy existing pyproject.toml semver constraints. Key packages (fastmcp 3.1.0, patchright 1.58.0, cryptography 46.0.5) are stable releases. No P0/P1 findings. The PR will need a rebase before merge due to significant main branch divergence, but the content itself is sound. No files require special attention — the PR only modifies uv.lock. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Renovate Bot] -->|Generates lock file refresh| B[uv.lock updated]
B --> C{pyproject.toml constraints satisfied?}
C -->|Yes| D[fastmcp >=2.14.0 → pinned 3.1.0]
C -->|Yes| E[patchright >=1.40.0 → pinned 1.58.0]
C -->|Yes| F[inquirer >=3.4.0 → pinned 3.4.1]
C -->|Yes| G[python-dotenv >=1.1.1 → pinned 1.2.2]
D & E & F & G --> H[All 109 packages resolved]
H --> I[Safe to merge after rebase]
Reviews (1): Last reviewed commit: "chore(deps): lock file maintenance" | Re-trigger Greptile |
This PR contains the following updates:
🔧 This Pull Request updates lock files to use the latest dependency versions.
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.