{"id":"ayunis-core-ayunis-legal-mcp","name":"ayunis-legal-mcp","homepage":null,"repo_url":"https://github.com/ayunis-core/ayunis-legal-mcp","category":"ai-ml","subcategories":[],"tags":["mcp","fastapi","postgresql","pgvector","semantic-search","rag","legal-tech","cli","docker","python"],"what_it_does":"Provides an MCP server (FastMCP) and supporting FastAPI “Store API” for importing, storing (PostgreSQL + pgvector), and semantic-searching German legal texts (scraped/parsed from gesetze-im-internet.de). Includes a CLI for importing/querying and an MCP tool set for AI assistants to search and retrieve legal sections.","use_cases":["Semantic search over German legal texts by natural language","Retrieving specific legal sections/sub-sections (e.g., by § and sub-section)","Building RAG/legal research assistants via MCP tools","Automating ingestion of legal codes from gesetze-im-internet.de into a vector store","Programmatic access via REST for importing, querying, and searching"],"not_for":["Production use without hardening/operational safeguards (auth/rate limits/observability)","Environments where scraping of external sites is not allowed or cannot be scheduled/managed","Use cases that require strict legal compliance/auditing of source text versions beyond what is documented","Scenarios needing fine-grained access control per user/tenant (not described)"],"best_when":"You control the deployment (Docker), embedding endpoint (Ollama), and are building an assistant workflow that benefits from MCP tools plus a vector-backed search backend.","avoid_when":"You need turnkey managed service, standardized SLAs, or you cannot provide/secure an Ollama endpoint and credentials; also avoid if you require documented pagination/idempotency semantics for safe retries.","alternatives":["Self-hosted RAG stack: FastAPI + Postgres/pgvector + your own MCP wrapper","Existing legal knowledge bases (if available) with APIs or MCP integrations","General-purpose search engines/vector DB solutions (e.g., Elasticsearch/OpenSearch + embeddings) with custom legal extraction"],"af_score":49.0,"security_score":36.5,"reliability_score":20.0,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:50:41.503427+00:00","interface":{"has_rest_api":true,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":"http://localhost:8001 (in docker-compose described)","has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["No auth described for Store API or MCP server in provided README","OLLAMA_AUTH_TOKEN for calling Ollama embeddings (outbound to embedding provider)"],"oauth":false,"scopes":false,"notes":"Authentication/authorization for the exposed Store API (port 8000) and MCP server (port 8001) is not described. Outbound Ollama auth token is mentioned for embeddings."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Self-hosted OSS; costs depend on your infrastructure and embedding compute (Ollama)."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":49.0,"security_score":36.5,"reliability_score":20.0,"mcp_server_quality":78.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":25.0,"rate_limit_clarity":10.0,"tls_enforcement":40.0,"auth_strength":20.0,"scope_granularity":10.0,"dependency_hygiene":50.0,"secret_handling":70.0,"security_notes":"README indicates TLS for outbound Ollama is configurable via OLLAMA_BASE_URL, but does not state HTTPS/TLS requirements for the exposed Store API/MCP server. Authentication/authorization for inbound APIs is not described. Secrets are referenced via environment variables (good), but secret handling/logging behavior is not evidenced. No dependency/SBOM/CVE posture is provided.","uptime_documented":0.0,"version_stability":30.0,"breaking_changes_history":20.0,"error_recovery":30.0,"idempotency_support":"false","idempotency_notes":"Import endpoints/tools exist, but idempotency behavior (e.g., safe re-import, conflict handling) is not documented in the provided README.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Semantic search depends on embeddings; failures can occur if Ollama model output dimensionality does not match the fixed 2560-vector schema.","Rate limits and retry backoff guidance are not documented; agents may retry aggressively and cause load.","Auth/authorization for the exposed APIs is not described; running publicly could be risky."]}}