{"id":31328100,"url":"https://github.com/g-clouds/ans","last_synced_at":"2025-09-25T23:56:12.493Z","repository":{"id":294862784,"uuid":"988322213","full_name":"g-clouds/ANS","owner":"g-clouds","description":"Agent Network System (ANS): A Foundational Hybrid Architecture for Secure AI Agent Ecosystems","archived":false,"fork":false,"pushed_at":"2025-09-15T20:22:02.000Z","size":10077,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-25T12:36:31.502Z","etag":null,"topics":["a2a","agent","agent-deregistry","agent-discovery","agent-lookup","agent-registry","agent-verification","agentnetworksystem","agents","ai","ans","defence-technology","infrastructure","mcp","mcp-discovery","mcp-lookup","multiagent","multiagent-systems"],"latest_commit_sha":null,"homepage":"http://g-clouds.github.io/ANS/","language":"JavaScript","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/g-clouds.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-05-22T11:31:26.000Z","updated_at":"2025-09-15T20:22:01.000Z","dependencies_parsed_at":"2025-08-22T04:10:08.706Z","dependency_job_id":"97d557bf-85ef-4abf-aa33-a9c10fd04f75","html_url":"https://github.com/g-clouds/ANS","commit_stats":null,"previous_names":["g-clouds/ans"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/g-clouds/ANS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g-clouds%2FANS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g-clouds%2FANS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g-clouds%2FANS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g-clouds%2FANS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/g-clouds","download_url":"https://codeload.github.com/g-clouds/ANS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/g-clouds%2FANS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276999948,"owners_count":25742818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-25T02:00:09.612Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["a2a","agent","agent-deregistry","agent-discovery","agent-lookup","agent-registry","agent-verification","agentnetworksystem","agents","ai","ans","defence-technology","infrastructure","mcp","mcp-discovery","mcp-lookup","multiagent","multiagent-systems"],"created_at":"2025-09-25T23:56:10.452Z","updated_at":"2025-09-25T23:56:12.484Z","avatar_url":"https://github.com/g-clouds.png","language":"JavaScript","readme":"# Agent Network System (ANS) Specification\n\n[![Documentation Status](https://img.shields.io/website?url=https%3A%2F%2Fg-clouds.github.io%2FANS%2F\u0026label=docs\u0026style=flat-square)](https://g-clouds.github.io/ANS/)\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/g-clouds/ans?style=flat-square)](https://github.com/g-clouds/ans/releases/latest)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](https://opensource.org/licenses/Apache-2.0)\n\nAn open specification for a foundational hybrid architecture enabling secure discovery, multi-level trust, and confidential verification for AI agent ecosystems. ANS provides the critical infrastructure for agents to find and establish trust with each other, complementing a wide range of agent communication protocols like Google's A2A, IBM's ACP, the Model Context Protocol (MCP), and future interoperability standards.\n\nThe Agent Network System (ANS) addresses a fundamental need as AI agents proliferate: a reliable and secure way for agents to discover, verify, and connect. While various protocols define *how* agents communicate, ANS defines the underlying network services that make such communication scalable and trustworthy across diverse organizational and technical boundaries.\n\n---\n\u003ca href=\"https://youtu.be/ow0WYNpu6IQ\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cimg src=\"./docs/images/ans5.png\"\n        alt=\"Watch the ANS Demo on YouTube\"\n        width=\"560\" /\u003e\n\u003c/a\u003e\n\n[Watch the ANS Demo on YouTube](https://youtu.be/ow0WYNpu6IQ)\n\n---\n\n## Demonstrations and Use Cases\n\nExplore our YouTube playlist to see the Agent Network System in action, including tutorials, demonstrations of core features, and recordings of our community tests.\n\n*   **[ANS Features \u0026 Testing Playlist](https://www.youtube.com/playlist?list=PLkSabrhCEOUc4RJyT5mGxEQpwhMlkOoQR)**\n\n---\n\n**ANS enables agents to:**\n\n* **Discover** other agents by human-readable identifiers or capabilities, regardless of the underlying communication protocol they use.\n* **Verify** the identity, authenticity, and attested capabilities of other agents through multiple trust levels.\n* **Connect** with confidence, leveraging cryptographic proofs and (optionally) blockchain-based verification, before engaging in protocol-specific interactions.\n* **Maintain** data sovereignty and control over agent interactions.\n* **Operate** within a zero-trust security model.\n\n## Registering New Agents\n\nFor Agent developers to register their AI agents while they are building their AI agents. The following SDK packages are publicly available.\n\n### JavaScript/TypeScript SDK (sdk-js)\n\n[![npm version](https://badge.fury.io/js/%40ans-project%2Fsdk-js.svg)](https://www.npmjs.com/package/@ans-project/sdk-js)\n\nInstall the package from the npm public repo:\n\n```bash\nnpm install -g @ans-project/sdk-js\n```\n\nThe JavaScript/TypeScript SDK provides a client library to interact with the ANS backend for agent registration.\n\n### Java SDK (sdk-java)\n\n[![Maven Package](https://img.shields.io/badge/Maven-sdk--java-blue)](https://github.com/g-clouds/ANS/packages/2623395)\n\nInclude the Maven package in your project's `pom.xml`.\n\nInstall 1/2: Add this to pom.xml:\n\n```java\n\u003cdependency\u003e\n  \u003cgroupId\u003eio.github.ans-project\u003c/groupId\u003e\n  \u003cartifactId\u003esdk-java\u003c/artifactId\u003e\n  \u003cversion\u003e0.0.3\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nInstall 2/2: Run via command line\n\n```bash\n    mvn install\n```\n\n### Python SDK (sdk-python)\n\n[![PyPI version](https://badge.fury.io/py/ans-project-sdk.svg)](https://pypi.org/project/ans-project-sdk/)\n\nInstall the package from PyPI:\n\n```bash\npip install ans-project-sdk\n```\n\nThe Python SDK provides a client library to interact with the ANS backend for agent registration.\n\n\n## `anslookup` CLI: The `nslookup` for AI Agents\n\nThe `anslookup` CLI is a powerful command-line tool for interacting with the Agent Network System. Just as `nslookup` is used to query the Domain Name System (DNS) for information about servers, `anslookup` allows you to query the ANS for information about registered AI agents. This tool is essential for increasing the accessibility and discoverability of AI agents, whether they are on a global, public network (like a centralized global registry for AI agents) or a private, internal ANS.\n\n\n**Installation:**\n\nThe `anslookup` CLI is included with each of the ANS SDKs. You can install it using the package manager for your preferred language.\n\n**JavaScript/TypeScript (via npm)**\n```bash\nnpm install -g @ans-project/sdk-js\n```\n\n**Python (via pip)**\n```bash\npip install ans-project-sdk\n```\n\n**Java (via JAR file)**\n\nFor Java users, after building the Java SDK (as described in the [Quick Start Guide](QUICK_START_GUIDE.md)), you can run the `anslookup` CLI directly from the generated JAR:\n```bash\njava -jar sdk/sdk-java/target/sdk-java-0.0.3-jar-with-dependencies.jar --help\n```\n\n**Usage:**\n\n```bash\n# Lookup an agent by its ID\nanslookup \u003cagent_Id\u003e\nanslookup translator.ans\n\n# Query for agents with specific attributes\nanslookup --query \"sales-assistant\" --capability \"customer_support\" --trust-level \"verified\"\n```\n\n**Options:**\n\n* `--query`: The name or keyword to search for.\n* `--capability`: A required capability of the agent.\n* `--trust-level`: The minimum trust level required (e.g., `verified`, `blockchain`).\n* `--limit`: The maximum number of results to return.\n* `--policy-requirements`: A JSON string with policy requirements.\n* `--endpoint`: The ANS network endpoint to use.\n\n\n## Why ANS?\n\nAs the vision of interconnected AI agents becomes a reality, the limitations of ad-hoc discovery and manual trust establishment become apparent. ANS aims to:\n\n* **Bridge the Discovery Gap:** Provide a global, standardized discovery mechanism, analogous to DNS for the internet, but for AI agents using any communication standard.\n* **Establish Verifiable Trust:** Introduce robust, multi-level verification processes, from basic signatures to blockchain consensus, ensuring trustworthy interactions for any agent-to-agent engagement.\n* **Enable a True Agent Ecosystem:** Foster interoperability and collaboration by allowing agents built on different platforms, by different entities, and using various communication protocols (e.g., A2A, ACP, MCP) to securely find and interact with each other.\n* **Complement All Agent Communication Protocols:** Provide the \"who is this agent?\" and \"are they trustworthy?\" layers that any agent communication protocol can build upon for its specific interaction patterns.\n\n## Key Features of ANS\n\n* **Hybrid Architecture:** Combines high-performance centralized services for discovery with a decentralized trust layer (e.g., blockchain) for verification.\n* **Progressive Trust:** Multi-level verification (Basic, Standard, Blockchain) to balance performance and security needs.\n* **Global Discovery \u0026 High Performance:** Milliseconds-level lookups at global scale.\n* **Zero-Trust Security:** Continuous verification at all levels, with no implicit trust.\n* **Sovereignty Enablement:** Mechanisms for data residency and organizational control.\n* **Standards Alignment:** Designed for integration with DIDs, DNS-SD, gRPC, OpenAPI, and to support emerging agent protocols.\n* **AI Supply Chain Verification:** Support for AIBOMs and verification of agent components.\n* **Protocol Agnostic:** Designed to support discovery and verification for agents regardless of the specific communication protocol they implement.\n\n## Getting Started\n\n📚 **Explore the Full Specification:** Visit the **[Agent Network System (ANS) Documentation Site](https://g-clouds.github.io/ANS/)** for the complete specification, architectural details, core operations, algorithms, and API examples.\n\n## Relationship to Agent Communication Protocols\n\nANS is designed as a foundational layer that enhances and supports a diverse range of agent communication and interaction protocols by providing essential discovery and verification services:\n\n* **Google's Agent2Agent (A2A):** While A2A defines how agents communicate *after* discovery, ANS provides the mechanisms for agents to *find and verify* each other before initiating A2A sessions. (See Section 7.1 in the specification).\n* **IBM's Agent Communication Protocol (ACP):** ANS can serve as the discovery and trust establishment layer for agents intending to use ACP for broader communication, delegation, and orchestration.\n* **Model Context Protocol (MCP):** ANS can help agents discover and verify MCP servers and the tools they offer, ensuring trusted access to external capabilities for AI models. (See Section 7.2 in the specification).\n* **Future Protocols:** ANS's extensible design aims to support discovery and verification for new and emerging agent interoperability standards.\n\nANS provides the trust and discovery infrastructure, while specific protocols like A2A, ACP, and MCP handle the direct communication formats and interaction patterns.\n\n## Contributing\n\nThis ANS specification is currently a **Version [![GitHub release (latest by date)](https://img.shields.io/github/v/release/g-clouds/ans?style=flat-square)](https://github.com/g-clouds/ans/releases/latest) – Request for Comment**. We actively welcome community contributions, feedback, and collaboration from developers, researchers, and organizations working across the AI agent landscape to refine and evolve this foundational standard.\n\nA summary of changes can be found in the [CHANGELOG.md](CHANGELOG.md) file.\n\n* **Questions \u0026 Discussions:** Join our [GitHub Discussions](https://github.com/g-clouds/ans/discussions)\n* **Issues \u0026 Feedback:** Report errors, suggest improvements, or propose changes via [GitHub Issues](https://github.com/g-clouds/ans/issues).\n* **Contribution Guide:** (Consider creating a `CONTRIBUTING.md` file detailing how to contribute).\n\n## What's Next (Roadmap Highlights)\n\nThe ANS specification is an evolving standard. Key areas for future work include:\n\n* Formalization through a recognized standards body.\n* Development of open-source reference implementations.\n* Establishment of a cross-industry governance model.\n* Creation of conformance test suites and certification processes.\n* Further development of the Validator Reputation System and Zero-Knowledge Proof System.\n* Refinement of the policy language and AIBOM format.\n\n(Refer to Section 11: Milestone-Driven Roadmap in the full specification for more details.)\n\n## Infrastructure Deployment\n\nThe infrastructure for the Agent Network System can be deployed using the provided Terraform configuration. This setup will create a new GCP project and configure all the necessary services.\n\nFor detailed instructions on how to deploy the infrastructure, please refer to the [Terraform Setup Guide](terraform/README.md).\n\n## Installation Guide\n\nThis guide provides step-by-step instructions to deploy and run the Agent Network System (ANS) application on Google Cloud Platform.\n\n### Prerequisites\n\n* Google Cloud Platform (GCP) Account\n* `gcloud` CLI installed and configured\n* Terraform installed\n* Git installed\n\n### 1. GCP Project Setup (Terraform)\n\nThis project uses Terraform to provision the necessary GCP infrastructure.\n\n* **Configure Terraform Variables:**\n  * Update `terraform/terraform.tfvars` with your GCP project details (`project_id`, `billing_account`, `org_id`).\n* **Deploy Infrastructure:**\n  * Commit your changes to trigger the Cloud Build pipeline defined in `terraform/cloudbuild.yaml`. This pipeline will automatically initialize Terraform and apply the configuration, creating:\n    * A new GCP Project\n    * Firestore Database\n    * Artifact Registry Repository\n    * Cloud Build Source Bucket\n    * Required Service Accounts and IAM Permissions\n\n### 2. Build and Push Docker Image\n\nOnce the Terraform infrastructure is deployed, build and push the backend Docker image to Artifact Registry.\n\n* **Local Setup:**\n  * Follow the instructions in `image-build/README.md` to set up your local environment for building Docker images, including activating the appropriate service account.\n* **Build and Push:**\n  * Run the `gcloud builds submit` command as detailed in `image-build/README.md`. This will build the Docker image from the `backend` directory and push it to your Artifact Registry.\n\n### 3. Deploy Cloud Run Service\n\nAfter the Docker image is pushed, deploy the backend as a Cloud Run service.\n\n* **Update Terraform:**\n  * The Cloud Run service definition has been added to `terraform/main.tf`.\n* **Deploy Service:**\n  * Commit the changes to `terraform/main.tf` (if not already committed). This will trigger the Cloud Build pipeline again, which will deploy the Cloud Run service.\n\n## Document update\n\nThe documentation site is built using [MkDocs](https://www.mkdocs.org/) with the [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) theme.\n\n1. **Clone the repository:**\n\n   ```bash\n   git clone https://github.com/g-clouds/ANS.git\n   cd ans\n   ```\n2. **Install dependencies:**\n   (Ensure you have Python and pip installed)\n\n   ```bash\n   pip install mkdocs mkdocs-material pymdown-extensions\n   ```\n3. **Serve the site:**\n\n   ```bash\n   mkdocs serve\n   ```\n\n   The site will be available at `http://127.0.0.1:8000/`.\n\n## License\n\nThe Agent Network System (ANS) Specification is licensed under the **Apache License 2.0**. See the [LICENSE](LICENSE) file for details.\n\n## About\n\nThe Agent Network System (ANS) is an open-source project initiated by **gClouds R\u0026D | gLabs**, under the **Apache License 2.0**. We are committed to developing ANS as an open standard and warmly welcome contributions, feedback, and collaboration from the broader AI and agent technology community. Our goal is to foster a robust and interoperable ecosystem for AI agents.\n\n---\n\n*gClouds R\u0026D | gLabs*\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-clouds%2Fans","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fg-clouds%2Fans","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fg-clouds%2Fans/lists"}