---
title: "The Agentic Government Stack, Layer by Layer"
description: "A govtech stack for agentic public services, layer by layer: an author-maintained tooling shortlist with explicit evidence gaps and assessment criteria for identity, orchestration and enforcement."
keywords: "gov stack, govtech stack, government technology stack, agentic government stack, agent orchestration, identity and authorization, X-Road, Estonia, agentic government, agentic state, agentic gov, govtech, gov tech, AI agents in government, public services"
canonical: https://agenticgov.eu/components
url: https://agenticgov.eu/components
---

# Components.

An author-maintained tooling shortlist by layer. Reported use is not deployment evidence or an institutional endorsement.

**Reported use**

Author recommendation, PoC usage tested by author

**Consider**

Candidate for assessment; not a validated selection

**Evaluate**

Alternative to evaluate

[Agent orchestration, harnesses, protocols](https://agenticgov.eu/components#agent-orchestration-harnesses-protocols) [LLM access, inference, embeddings](https://agenticgov.eu/components#llm-access-inference-embeddings) [Retrieval, storage, document parsing](https://agenticgov.eu/components#retrieval-storage-document-parsing) [PII, guardrails, Estonian NLP](https://agenticgov.eu/components#pii-guardrails-estonian-nlp) [Speech and voice](https://agenticgov.eu/components#speech-and-voice) [Evaluation, tracing, observability](https://agenticgov.eu/components#evaluation-tracing-observability) [Identity, authorization, secrets, signing](https://agenticgov.eu/components#identity-authorization-secrets-signing) [Interoperability and registries](https://agenticgov.eu/components#interoperability-and-registries) [Jobs, runtime, API](https://agenticgov.eu/components#jobs-runtime-api) [Frontend](https://agenticgov.eu/components#frontend) [Development tooling](https://agenticgov.eu/components#development-tooling)

## Agent orchestration, harnesses, protocols

- Reported use: [LangGraph](https://github.com/langchain-ai/langgraph)
- Reported use: [LangChain](https://github.com/langchain-ai/langchain) create_agent, middleware
- Consider: [deepagents](https://github.com/langchain-ai/deepagents) planning, filesystem context, subagents, skills; Python and JavaScript
- Reported use: [DSPy](https://github.com/stanfordnlp/dspy)
- Reported use: [MCP specification](https://modelcontextprotocol.io)
- Reported use: [FastMCP](https://github.com/jlowin/fastmcp)
- Reported use: [langchain-mcp-adapters](https://github.com/langchain-ai/langchain-mcp-adapters)
- Consider: [MCP Registry](https://registry.modelcontextprotocol.io) building-block discoverability
- Reported use: [A2A protocol](https://a2a-protocol.org)
- Reported use: [a2a-sdk](https://github.com/a2aproject/a2a-python) Python
- Consider: [Agent Skills specification](https://github.com/anthropics/skills) portable skill folders, used by deepagents
- Consider: [Claude Agent SDK](https://github.com/anthropics/claude-agent-sdk-python)
- Evaluate: [Pydantic AI](https://ai.pydantic.dev) typed agents; pairs with pydantic-evals below
- Evaluate: [Google ADK](https://github.com/google/adk-python)
- Evaluate: [OpenAI Agents SDK](https://github.com/openai/openai-agents-python)

## LLM access, inference, embeddings

- Reported use: [LiteLLM proxy](https://github.com/BerriAI/litellm)
- Reported use: [vLLM](https://github.com/vllm-project/vllm)
- Reported use: [OpenRouter](https://openrouter.ai)
- Reported use: [Azure AI Foundry](https://ai.azure.com) EU regions
- Reported use: [FastEmbed](https://github.com/qdrant/fastembed)
- Reported use: [multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large)
- Reported use: [BGE-M3](https://huggingface.co/BAAI/bge-m3)
- Consider: [Ollama](https://ollama.com) local development

## Retrieval, storage, document parsing

- Reported use: [Qdrant](https://qdrant.tech)
- Evaluate: [pgvector](https://github.com/pgvector/pgvector) if collapsing to one datastore
- Reported use: [SQLAlchemy](https://www.sqlalchemy.org)
- Reported use: [Alembic](https://alembic.sqlalchemy.org)
- Reported use: [pypdf](https://github.com/py-pdf/pypdf)
- Reported use: [python-docx](https://github.com/python-openxml/python-docx)
- Consider: [Docling](https://github.com/docling-project/docling) layout-aware PDF and DOCX to structured output; replaces ad-hoc parsing
- Consider: [OCRmyPDF with Tesseract](https://github.com/ocrmypdf/OCRmyPDF)
- Reported use: [WeasyPrint](https://weasyprint.org)
- Reported use: [Playwright](https://playwright.dev) HTML to PDF, end-to-end tests
- Reported use: [PptxGenJS](https://gitbrent.github.io/PptxGenJS/)
- Reported use: [SearXNG](https://github.com/searxng/searxng)

## PII, guardrails, Estonian NLP

- Reported use: [Microsoft Presidio](https://github.com/microsoft/presidio)
- Reported use: [EstBERT](https://huggingface.co/tartuNLP/EstBERT) TartuNLP named-entity recognition
- Reported use: [EstNLTK](https://github.com/estnltk/estnltk)
- Consider: [NeMo Guardrails](https://github.com/NVIDIA/NeMo-Guardrails) Colang rails on gateway egress
- Evaluate: [LLM Guard](https://github.com/protectai/llm-guard) prompt-injection and leak scanners as LiteLLM middleware

## Speech and voice

- Reported use: [Speechmatics](https://www.speechmatics.com) batch and real-time speech to text with EU processing, English and Estonian, and English text to speech; the loop on /try uses it for Detect and read-aloud · [example: medical transcription](https://www.speechmatics.com/use-cases/medical-transcription)

## Evaluation, tracing, observability

- Reported use: [MLflow](https://mlflow.org) traces, evaluations
- Reported use: [pydantic-evals](https://ai.pydantic.dev/evals/)
- Consider: [Langfuse](https://langfuse.com) self-hosted, OpenTelemetry-native; data stays in a national cloud such as Riigipilv, where LangSmith is SaaS in the US
- Reported use: [OpenTelemetry GenAI semantic conventions](https://opentelemetry.io/docs/specs/semconv/gen-ai/)
- Reported use: [Prometheus](https://prometheus.io)
- Reported use: [Grafana Loki](https://grafana.com/oss/loki/)
- Reported use: [Grafana Alloy](https://grafana.com/oss/alloy-opentelemetry-collector/)
- Consider: [Inspect AI](https://github.com/UKGovernmentBEIS/inspect_ai) the UK AI Security Institute’s evaluation framework
- Consider: [Promptfoo](https://github.com/promptfoo/promptfoo) regression and red-team checks in CI
- Evaluate: [RAGAS](https://github.com/explodinggradients/ragas) retrieval-specific metrics

## Identity, authorization, secrets, signing

- Reported use: [OpenFGA](https://openfga.dev)
- Reported use: [SPIFFE/SPIRE](https://spiffe.io)
- Reported use: [HashiCorp Vault](https://www.hashicorp.com/products/vault) Transit
- Evaluate: [OpenBao](https://openbao.org) MPL fork of Vault; procurement-friendlier licence
- Reported use: [TARA](https://e-gov.github.io/TARA-Doku/)
- Reported use: [Authlib](https://authlib.org)
- Reported use: [Web eID](https://web-eid.eu)
- Reported use: [undersign](https://github.com/moll/js-undersign) ASiC-E and XAdES in Node
- Evaluate: [digidoc4j](https://github.com/open-eid/digidoc4j) RIA-maintained, Java; if a JVM signing service is acceptable
- Consider: [EUDI Wallet reference implementation](https://github.com/eu-digital-identity-wallet) the citizen-agent SD-JWT VC path
- Consider: [sd-jwt-python](https://github.com/openwallet-foundation-labs/sd-jwt-python)
- Consider: [OpenID Shared Signals and CAEP](https://openid.net/wg/sharedsignals/) push revocation
- Consider: [OWASP Top 10 for LLM Applications](https://genai.owasp.org)

## Interoperability and registries

- Reported use: [X-Road (NIIS)](https://github.com/nordic-institute/X-Road)
- Reported use: [RHR, the public procurement register](https://riigihanked.riik.ee)
- Reported use: [RHR open data](https://andmed.eesti.ee/datasets/riigihangete-register)
- Reported use: [TED API](https://docs.ted.europa.eu)
- Reported use: [Riigi Teataja](https://www.riigiteataja.ee)
- Reported use: [Äriregister open data](https://avaandmed.ariregister.rik.ee)

## Jobs, runtime, API

- Reported use: [FastAPI](https://fastapi.tiangolo.com)
- Reported use: [sse-starlette](https://github.com/sysid/sse-starlette)
- Reported use: [Pydantic v2](https://docs.pydantic.dev)
- Reported use: [Procrastinate](https://github.com/procrastinate-org/procrastinate) Postgres-backed queue
- Evaluate: [arq](https://github.com/python-arq/arq) Redis
- Evaluate: [Temporal](https://temporal.io) durable execution for multi-day agent runs; evaluate only if LangGraph checkpointing proves insufficient
- Reported use: [httpx](https://www.python-httpx.org)

## Frontend

- Reported use: [Next.js](https://nextjs.org)
- Reported use: [TanStack Query](https://tanstack.com/query)
- Reported use: [Tiptap](https://tiptap.dev)
- Reported use: [Radix UI](https://www.radix-ui.com)
- Reported use: [Tailwind](https://tailwindcss.com)
- Reported use: [Recharts](https://recharts.org)
- Reported use: [Astro](https://astro.build)
- Reported use: [axe-core](https://github.com/dequelabs/axe-core) WCAG checks in CI

## Development tooling

- Reported use: [uv](https://docs.astral.sh/uv/)
- Reported use: [ruff](https://docs.astral.sh/ruff/)
- Reported use: [pytest](https://docs.pytest.org)
- Reported use: [Vitest](https://vitest.dev)
- Reported use: [import-linter](https://github.com/seddonym/import-linter) enforces the dependency matrix
- Reported use: [Docker Compose](https://docs.docker.com/compose/)
- Reported use: [Ansible](https://www.ansible.com)
- Reported use: [Terraform](https://www.terraform.io)

[Agentic Government Reference Architecture](https://agenticgov.eu/architecture)
