# amtb-mcp MCP server for interacting with AMTB resources / tools ### Use in Claude Desktop To use it with Claude Desktop, add to your claude_desktop_config.json: ``` { "mcpServers": { "amtb": { "command": "python", "args": ["{your_path}/amtb-mcp/run_mcp.py"] } } } ``` Quickstart Requirements - Python 3.13+ (recommended) - pip - Optional: LibreOffice (`soffice`) or pywin32 for `.doc` → `.docx` conversion when using doc conversion tools. Setup (Windows) 1. python -m venv .venv 2. .\.venv\Scripts\Activate.ps1 # PowerShell or .\.venv\Scripts\activate.bat # cmd Install - pip install -e . Run locally - Start the MCP server (stdio transport): python run_mcp.py This exposes the implemented tools on stdio for local testing or consumption by an MCP client (e.g., Claude Desktop). - Alternatively you can run the main module directly: python main.py Testing - Run unit tests: python -m unittest discover -v or, if you prefer pytest: pytest Using tools directly (for development) - Call wrappers from Python for quick checks, e.g.: python -c "from fetch_tool import fetch_amtb_menu; print(fetch_amtb_menu(write_files=False))" python -c "from main import get_amtb_categories; print(get_amtb_categories())" Notes - `fetch_amtb_menu` writes `menu.json` and per-category files under `out_dir` (default: `amtb`). Use `write_files=False` for a dry run. - Download and conversion tools are opt-in and may require additional system packages and time. - For development, place new tool modules under `amtb-mcp/` and register them in `main.py` (or import modules that call `mcp.tool()` on module import). Contributing - Add a tool module, include tests, and submit a PR. Keep operations idempotent and return JSON-serializable Pydantic models. License - See LICENSE in repository root.