Skip to main content
Glama

NotebookLM MCP Server

by khengyun
Taskfile.ymlโ€ข5.6 kB
version: '3' vars: PACKAGE_NAME: notebooklm_mcp PYTHON_CMD: uv run python PYTEST_CMD: uv run pytest CONFIG_FILE: notebooklm-config.json env: UV_PYTHON: python3.10 tasks: default: desc: "๐ŸŽฏ Show all available tasks" cmds: - task --list # ============================================================================= # ๐Ÿš€ UV Environment Management # ============================================================================= setup: desc: "๐Ÿ”ง Complete project setup with UV" cmds: - echo "๐Ÿš€ Setting up NotebookLM MCP with UV..." - uv sync --all-groups - echo "โœ… Project setup complete!" - echo "๐Ÿ“ Run 'task --list' to see available commands" install: desc: "๐Ÿ“ฆ Install project dependencies with UV" cmds: - echo "๐Ÿ“ฆ Installing with UV..." - uv sync install-dev: desc: "๐Ÿ”ง Install development dependencies" cmds: - echo "๐Ÿ”ง Installing development dependencies..." - uv sync --group dev --group test --group lint deps: - task: install test: desc: "๐Ÿงช Run working tests with UV" cmds: - echo "๐Ÿงช Running working tests..." - "{{.PYTEST_CMD}} tests/test_config.py tests/test_config_real.py tests/test_comprehensive_simple.py -v" deps: - task: install test-quick: desc: "โšก Quick single test for validation" cmds: - echo "โšก Running quick validation test..." - "{{.PYTEST_CMD}} tests/test_config_real.py::TestServerConfig::test_default_values -v" deps: - task: install test-coverage: desc: "๐Ÿ“Š Run coverage analysis with UV" cmds: - echo "๐Ÿ“Š Running coverage analysis..." - uv run coverage run --source=src/{{.PACKAGE_NAME}} -m pytest tests/test_config.py tests/test_config_real.py tests/test_comprehensive_simple.py --junitxml=junit.xml - uv run coverage report --show-missing - uv run coverage xml - uv run coverage html - echo "๐Ÿ“‹ Coverage report generated in htmlcov/" deps: - task: install lint: desc: "๐Ÿ” Run linting with UV" cmds: - echo "๐Ÿฆ€ Running Ruff linter..." - uv run ruff check src/ tests/ --fix deps: - task: install format: desc: "๐ŸŽจ Format code with UV" cmds: - echo "โšซ Formatting with Black..." - uv run black src/ tests/ - echo "๐Ÿ“Š Sorting imports..." - uv run isort src/ tests/ deps: - task: install build: desc: "๐Ÿ—๏ธ Build package with UV" cmds: - echo "๐Ÿ—๏ธ Building package..." - uv build - echo "โœ… Package built successfully!" deps: - task: install build-check: desc: "โœ… Validate build artifacts" cmds: - echo "โœ… Checking build artifacts..." - uv run twine check dist/* deps: - task: build server-stdio: desc: "๐Ÿš€ Start FastMCP v2 server (STDIO mode)" cmds: - echo "๐Ÿš€ Starting FastMCP v2 server (STDIO)..." - "{{.PYTHON_CMD}} -m notebooklm_mcp.cli --config {{.CONFIG_FILE}} server" deps: - task: install server-http: desc: "๐ŸŒ Start FastMCP v2 server (HTTP mode)" cmds: - echo "๐ŸŒ Starting FastMCP v2 server (HTTP)..." - "{{.PYTHON_CMD}} -m notebooklm_mcp.cli --config {{.CONFIG_FILE}} server --transport http --port 8001 --headless" deps: - task: install clean: desc: "๐Ÿงน Clean build artifacts" cmds: - echo "๐Ÿงน Cleaning build artifacts..." - rm -rf dist/ build/ *.egg-info/ - rm -rf htmlcov/ .coverage - find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true info: desc: "โ„น๏ธ Show project information" cmds: - echo "๐Ÿ“Š NotebookLM MCP Project Information" - echo "======================================" - echo "๐Ÿท๏ธ Package {{.PACKAGE_NAME}}" - "{{.PYTHON_CMD}} --version" - uv --version - pwd # ============================================================================= # ๐Ÿ“‹ Dependency Management with UV # ============================================================================= deps-add: desc: "โž• Add new dependency (usage: task deps-add -- package_name)" cmds: - echo "โž• Adding dependency {{.CLI_ARGS}}" - uv add {{.CLI_ARGS}} deps-add-dev: desc: "โž• Add development dependency (usage: task deps-add-dev -- package_name)" cmds: - echo "โž• Adding dev dependency {{.CLI_ARGS}}" - uv add --group dev {{.CLI_ARGS}} deps-remove: desc: "โž– Remove dependency (usage: task deps-remove -- package_name)" cmds: - echo "โž– Removing dependency {{.CLI_ARGS}}" - uv remove {{.CLI_ARGS}} deps-list: desc: "๐Ÿ“‹ List all dependencies" cmds: - echo "๐Ÿ“‹ Project dependencies:" - uv tree deps-lock: desc: "๐Ÿ”’ Generate dependency lockfile" cmds: - echo "๐Ÿ”’ Generating lockfile..." - uv lock deps-update: desc: "๐Ÿ”„ Update all dependencies" cmds: - echo "๐Ÿ”„ Updating dependencies..." - uv sync --upgrade # ============================================================================= # ๐Ÿšจ Quality Assurance # ============================================================================= enforce-test: desc: "๐Ÿšจ MANDATORY Enforce testing after function changes" cmds: - echo "๐Ÿšจ MANDATORY TESTING ENFORCEMENT" - echo "โš ๏ธ This must pass after ANY function changes!" - task: test-coverage - echo "โœ… Test enforcement completed!"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/khengyun/notebooklm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server