Skip to main content
Glama

AnyDocs MCP Server

by funky1688
Makefileโ€ข6.65 kB
# AnyDocs MCP Server - Makefile # Provides convenient commands for development and deployment .PHONY: help install install-dev setup setup-dev clean test test-cov lint format type-check security .PHONY: docker-build docker-dev docker-run docker-stop docker-clean .PHONY: start start-dev start-mcp start-web stop .PHONY: db-init db-migrate db-reset db-backup db-restore .PHONY: docs docs-serve release # Default target help: ## Show this help message @echo "AnyDocs MCP Server - Available Commands:" @echo "" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' # Installation and Setup install: ## Install production dependencies uv install install-dev: ## Install development dependencies uv install --dev uv run pre-commit install setup: ## Setup production environment python scripts/setup.py --prod setup-dev: ## Setup development environment python scripts/setup.py --dev quickstart: ## Quick setup for development (install + setup) $(MAKE) install-dev $(MAKE) setup-dev # Development start: ## Start server in hybrid mode python start.py start-dev: ## Start server in development mode with debug python start.py --mode hybrid --debug start-mcp: ## Start MCP server only python start.py --mode mcp start-web: ## Start web interface only python start.py --mode web stop: ## Stop all running servers pkill -f "python start.py" || true # Testing test: ## Run all tests pytest tests/ -v test-unit: ## Run unit tests only pytest tests/unit/ -v test-integration: ## Run integration tests only pytest tests/integration/ -v test-cov: ## Run tests with coverage pytest tests/ --cov=src/anydocs_mcp --cov-report=html --cov-report=term load-test: ## Run load tests locust -f tests/load/locustfile.py --host=http://localhost:8000 # Code Quality lint: ## Run linting flake8 src/ tests/ pylint src/anydocs_mcp/ format: ## Format code black src/ tests/ isort src/ tests/ type-check: ## Run type checking mypy src/anydocs_mcp/ security: ## Run security checks bandit -r src/ safety check pip-audit: ## Check for vulnerable dependencies uv run pip-audit # Database db-init: ## Initialize database python -c "from anydocs_mcp.database.manager import DatabaseManager; from anydocs_mcp.config.settings import Settings; DatabaseManager(Settings().database).initialize()" db-migrate: ## Run database migrations python -c "from anydocs_mcp.database.manager import DatabaseManager; from anydocs_mcp.config.settings import Settings; DatabaseManager(Settings().database).migrate()" db-reset: ## Reset database (WARNING: destroys all data) @echo "โš ๏ธ This will destroy all data. Are you sure? [y/N]" && read ans && [ $${ans:-N} = y ] rm -f data/anydocs.db data/anydocs_dev.db $(MAKE) db-init db-backup: ## Backup database mkdir -p data/backups cp data/anydocs.db data/backups/anydocs_$(shell date +%Y%m%d_%H%M%S).db db-restore: ## Restore database from backup (set BACKUP_FILE=path) @test -n "$(BACKUP_FILE)" || (echo "Usage: make db-restore BACKUP_FILE=path/to/backup.db" && exit 1) cp $(BACKUP_FILE) data/anydocs.db # Docker docker-build: ## Build Docker image docker build -t anydocs-mcp:latest . docker-build-dev: ## Build development Docker image docker build -f Dockerfile.dev -t anydocs-mcp:dev . docker-dev: ## Start development environment with Docker docker-compose -f docker-compose.dev.yml up -d docker-run: ## Start production environment with Docker docker-compose up -d docker-stop: ## Stop Docker containers docker-compose down docker-compose -f docker-compose.dev.yml down docker-clean: ## Clean Docker containers and images docker-compose down -v --rmi all docker-compose -f docker-compose.dev.yml down -v --rmi all docker system prune -f # Documentation docs: ## Build documentation sphinx-build -b html docs/ docs/_build/html/ docs-serve: ## Serve documentation locally sphinx-autobuild docs/ docs/_build/html/ --host 0.0.0.0 --port 8080 # Monitoring monitor: ## Start monitoring stack docker-compose --profile monitoring up -d logs: ## Show application logs tail -f logs/anydocs.log logs-access: ## Show access logs tail -f logs/access.log logs-error: ## Show error logs tail -f logs/error.log # Maintenance clean: ## Clean temporary files and caches find . -type f -name "*.pyc" -delete find . -type d -name "__pycache__" -delete find . -type d -name ".pytest_cache" -exec rm -rf {} + find . -type d -name ".mypy_cache" -exec rm -rf {} + find . -type f -name ".coverage" -delete find . -type d -name "htmlcov" -exec rm -rf {} + rm -rf build/ dist/ *.egg-info/ clean-all: clean docker-clean ## Clean everything including Docker # Release release: ## Create a new release (set VERSION=x.y.z) @test -n "$(VERSION)" || (echo "Usage: make release VERSION=x.y.z" && exit 1) @echo "Creating release $(VERSION)..." sed -i 's/version = ".*"/version = "$(VERSION)"/' pyproject.toml git add pyproject.toml git commit -m "Bump version to $(VERSION)" git tag -a v$(VERSION) -m "Release v$(VERSION)" @echo "Release $(VERSION) created. Push with: git push origin main --tags" # Health checks health: ## Check service health curl -f http://localhost:8000/health || echo "Service not running" health-detailed: ## Detailed health check curl -f http://localhost:8000/health/detailed || echo "Service not running" # Development utilities shell: ## Start Python shell with app context python -c "from anydocs_mcp.server import AnyDocsMCPServer; import IPython; IPython.embed()" repl: ## Start interactive REPL ipython # Performance profile: ## Profile application performance python -m cProfile -o profile.stats start.py --mode mcp python -c "import pstats; p = pstats.Stats('profile.stats'); p.sort_stats('cumulative').print_stats(20)" benchmark: ## Run performance benchmarks python -m pytest tests/benchmarks/ -v # Configuration config-validate: ## Validate configuration files python -c "from anydocs_mcp.config.settings import Settings; Settings(); print('โœ… Configuration is valid')" config-example: ## Generate example configuration python -c "from anydocs_mcp.config.manager import ConfigManager; ConfigManager().generate_example_config('config.example.yaml')" # Environment env-check: ## Check environment setup python scripts/setup.py --no-db --force env-info: ## Show environment information @echo "Python: $(shell python --version)" @echo "Pip: $(shell pip --version)" @echo "Working Directory: $(shell pwd)" @echo "Virtual Environment: $(VIRTUAL_ENV)" @echo "Platform: $(shell python -c 'import platform; print(platform.platform())')"

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/funky1688/AnyDocs-MCP'

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