{"id":39763111,"url":"https://github.com/agentic-layer/agent-template-adk","last_synced_at":"2026-01-18T11:40:14.331Z","repository":{"id":315899308,"uuid":"1060583261","full_name":"agentic-layer/agent-template-adk","owner":"agentic-layer","description":"A template for an agent based on ADK that allows configuring system prompt, agents and tools via environment variables","archived":false,"fork":false,"pushed_at":"2026-01-12T09:09:16.000Z","size":653,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-12T13:57:50.208Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agentic-layer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-20T07:18:06.000Z","updated_at":"2026-01-12T09:09:19.000Z","dependencies_parsed_at":"2025-09-21T14:38:23.268Z","dependency_job_id":"d0763c6f-2f7e-4501-8aec-d5fa91422e73","html_url":"https://github.com/agentic-layer/agent-template-adk","commit_stats":null,"previous_names":["agentic-layer/agent-template-adk"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/agentic-layer/agent-template-adk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fagent-template-adk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fagent-template-adk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fagent-template-adk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fagent-template-adk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agentic-layer","download_url":"https://codeload.github.com/agentic-layer/agent-template-adk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agentic-layer%2Fagent-template-adk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28535174,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T10:13:46.436Z","status":"ssl_error","status_checked_at":"2026-01-18T10:13:11.045Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-18T11:40:13.438Z","updated_at":"2026-01-18T11:40:14.316Z","avatar_url":"https://github.com/agentic-layer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# agent-template-adk\n\nA template for building configurable AI agents using Google's Agent Development Kit (ADK). \nThis template allows you to create agents with customizable system prompts, sub-agents, \nand MCP (Model Context Protocol) tools through environment variables, \nmaking it easy to deploy different agent configurations without code changes.\n\nIt is based on https://github.com/agentic-layer/sdk-python.\n\n## Features\n\n- **Environment-based Configuration**: Configure agents, tools, and system prompts via environment variables\n- **Sub-Agent Support**: Connect to remote A2A (Agent-to-Agent) agents\n- **MCP Tool Integration**: Add external tools via MCP protocol\n- **Multi-Model Support**: Use various LLM providers through LiteLLM\n- **Docker Ready**: Multi-platform Docker support for easy deployment\n\n## Environment Configuration\n\nAvailable environment variables:\n\n| Variable                 | Description                              | Default                   | Example                                                                                                        |\n|--------------------------|------------------------------------------|---------------------------|----------------------------------------------------------------------------------------------------------------|\n| `AGENT_NAME`             | Name of the root agent                   | -                         | `my_helper`                                                                                                    |\n| `AGENT_DESCRIPTION`      | Agent description                        | -                         | `A helpful assistant agent`                                                                                    |\n| `AGENT_INSTRUCTION`      | Agent system instruction                 | -                         | `You are a helpful assistant`                                                                                  |\n| `AGENT_MODEL`            | LLM model to use                         | `gemini/gemini-2.5-flash` | `gemini/gemini-2.0-flash`                                                                                      |\n| `SUB_AGENTS`             | JSON configuration for sub-agents        | `{}`                      | `{\"weather_agent\":{\"url\":\"http://localhost:8002/.well-known/agent-card.json\",\"interaction_type\":\"tool_call\"}}` |\n| `AGENT_TOOLS`            | JSON configuration for MCP tools         | `{}`                      | `{\"web_fetch\":{\"url\":\"https://remote.mcpservers.org/fetch/mcp\"}}`                                              |\n| `AGENT_A2A_RPC_URL`      | RPC URL inserted into the A2A agent card | `None`                    | `https://my-agent.example.com/a2a`                                                                             |\n| `AGENT_OTEL_ENABLED`     | Enable OpenTelemetry                     | `false`                   | `true`                                                                                                         |\n| `AGENT_INCLUDE_THOUGHTS` | Include agent thoughts in responses      | `true`                    | `false`                                                                                                        |\n| `AGENT_THINKING_BUDGET`  | Max tokens for LLM responses             | `1024`                    | `2048`                                                                                                         |\n\nFor detailed configuration of sub-agents and MCP tools, refer to the [Agentic Layer SDK](https://github.com/agentic-layer/sdk-python/blob/main/adk/README.md#configuration)\n\n## Usage\n\nYou can use the prebuild docker images like this:\n\n```shell\ndocker run \\\n  -e AGENT_NAME=\"my_helper\" \\\n  -e AGENT_DESCRIPTION=\"A helpful assistant agent\" \\\n  -e AGENT_INSTRUCTION=\"You are a helpful assistant\" \\\n  -p 8000:8000 \\\n  ghcr.io/agentic-layer/agent-template-adk:latest\n```\n\n## Development and Testing\n\nCreate a `.env` file based on the provided `.env.example` to store your secrets (e.g., API keys)\nand configuration.\n\nThere are multiple agents available in the [tests/agents](tests/agents) folder for testing purposes.\nThey can be run all together in Docker Compose or individually via Python for debugging.\nCombining both methods is not recommended for the agents, as the URLs have to be adjusted accordingly.\n\nIf you want to test the Python SDK (https://github.com/agentic-layer/sdk-python/tree/main/adk),\nyou can include a local copy in the build, see [pyproject.toml](pyproject.toml).\nThis will not work with Docker, as the docker build process cannot access local files outside the build context.\n\n\n### Run with Python\n\nInstall dependencies:\n\n```shell\nuv sync\n```\n\nRun the agents in the following order due to dependencies.\nLook into [tests/run-agent.sh](tests/run-agent.sh) for details on launching an agent in your IDE for debugging.\n\n```shell\n# Run Analyzer agent (no further dependencies)\n./tests/run-agent.sh analyzer\n```\n```shell\n# Start an MCP tool server for testing\ndocker compose up mcp-fetch\n```\n```shell\n# Run data gatherer agent (depends on the MCP tool server)\n./tests/run-agent.sh data-gatherer\n```\n```shell\n# Run research coordinator agent (depends on both the data gatherer and analyzer agents)\n./tests/run-agent.sh research-coordinator\n```\n\n### Run with Docker\n\n```shell\ndocker compose up --build\n```\n\n### Send message to the agent\nThe root agent will be available at `http://localhost:8001` and will expose an Agent Card at \n`http://localhost:8001/.well-known/agent-card.json`.\n\nAsk the agent a question:\n\n```shell\n./tests/send-message.sh \"Where does the statement 'What is the meaning of life? - 42' originate from?\"\n```\n\nYou can also send messages to other agents:\n\n```shell\nA2A_RPC_URL=\"http://localhost:8003\" ./tests/send-message.sh \"Please analyze the sentiment of the following text: 'I love programming!'\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentic-layer%2Fagent-template-adk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagentic-layer%2Fagent-template-adk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentic-layer%2Fagent-template-adk/lists"}