Skip to content

v0.3.0 Release

Latest
Compare
Choose a tag to compare
@jbeno jbeno released this 21 May 02:52

[0.3.0] - 2025-05-20

Added

  • SFTP Support for Remote Notebooks: Added SFTP integration for accessing and managing notebooks on remote SSH servers (resolves issue #2).
    • New command-line arguments: --sftp-root (multiple allowed), --sftp-password, --sftp-key, --sftp-port, --sftp-no-interactive, --sftp-no-agent, --sftp-no-password-prompt, --sftp-auth-mode.
    • Supports various SSH authentication methods including password, public key (with passphrase), SSH agent, and interactive (2FA).
    • Transparently handles file operations on remote SFTP paths.
    • Automatic tilde (~) expansion for remote paths.
  • Enhanced Web Transport with FastMCP (v2.3.4+):
    • Integrated FastMCP's run() method for robust handling of all transport modes (stdio, streamable-http, sse).
    • --transport streamable-http: Now uses FastMCP's built-in Streamable HTTP, becoming the recommended web transport.
    • --transport sse: Now uses FastMCP's built-in (but deprecated by FastMCP) two-endpoint SSE for legacy compatibility.
  • New tool: notebook_edit_cell_output to allow direct manipulation and setting of cell outputs.
  • New tool: notebook_bulk_add_cells for adding multiple cells to a notebook in a single operation.
  • New tool: notebook_get_server_path_context to provide detailed server path configuration for robust client path construction.
  • Added PowerShell script run_tests.ps1 for test execution on Windows.
  • Added examples/demo_tools_list.py script, demonstrating client-side MCP handshake and tools/list request (part of resolving issue #5).

Changed

  • Refactored Server Logic: Server now leverages FastMCP's internal run() method for all transport modes, simplifying logic and improving reliability.
  • Improved path handling for Windows-style paths and URL-encoded components (related to issue #4).
  • Updated README.md with detailed instructions for all transport modes, mcp.json configurations, and refined transport recommendations. Added known issues for issue #1 and issue #3.
  • Updated examples/demo_tools_list.py script to demonstrate client-side MCP handshake and tools/list request.
  • Refined cursor_rules.md for clarity and to reflect new tool capabilities.
  • Simplified Installation: uvicorn and starlette are now core dependencies. Optional extras [http] and [sse] removed. All transports supported by default install.
  • Command-line --transport choices are now stdio, streamable-http, and sse.
  • Updated code coverage metrics: Overall 82%; notebook_ops.py 92%, server.py 93%, tools.py 82%, sftp_manager.py 74%.

Removed

  • Custom SSE transport implementation (cursor_notebook_mcp/sse_transport.py), now handled by FastMCP.
  • Removed validate_imports tool, which, along with tools/list availability and updated documentation, resolves issue #5.

Fixed

  • HTTP 405 errors and client fallback issues for web transports by adopting FastMCP's implementations.
  • Addressed issues with Windows path interpretation (resolves issue #4).