Skip to main content
Glama

MCP-AnkiConnect

by samefarrar
You have a .asana folder, with numbered entries for your todo list, progress and implementation documentation. YOU MUST check this, and keep it updated as you work. ``` 01-todo.md # Detailed todo list 02-progress.md # Progress report ``` ## Project Management - Use `uv` for Python package management and running tools (NEVER pip) - Add packages: `uv add package_name` - Remove packages: `uv remove package_name` - Running Python tools: `uv run <tool>` - Run single test: `uv run pytest tests/path_to_test.py::TestClass::test_method -v` - Type checking: `uv run pyright .` - Linting: `uv run ruff check .` - Run formatter: `uv run ruff format .` - Async testing: use anyio, not asyncio ## Code Style - Use type hints for function signatures - Functions must be small and focused - Error handling: Use try/except with specific exceptions - Document functions with docstrings (include "why" not just "what") - Use f-strings for string formatting - Max line length: 88 characters - Program in the spirit of A Philosophy of Software Design by John Ousterhout. - Explicit None checks for Optional types - YOU MUST add regression tests when your encounter a bug. This should be the first thing you do when you are told about a bug. ### Coding Guidelines * **Testing:** * Write code that is easy to test. * Tests are an integral part of the development process. * Start with failing tests and then write code to make them pass (Test-Driven Development principles). * Unit tests should be next to the functionality they test. So in the src/blog/main.py file. * Integration tests should be placed in the tests directory. * AVOID mocks, unless they are requested. * **Performance:** * Optimize for readability first. * Performance optimization should only be considered when explicitly required or requested. * **Iterative Development:** * Start with the minimum viable solution. * Continuously question if a feature or solution is truly necessary. * Build incrementally based on actual needs, not hypothetical future requirements. * **Type Annotations:** Type annotations are **required** in our codebase. This helps with code readability, maintainability, and early error detection.

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/samefarrar/mcp-ankiconnect'

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