π Explore our full Documentation to understand our platform's capabilities
π Dive into our API Specs for detailed API documentation
π Architecting Agentic Trust
Core Principle: Trust is foundational for the Internet of Agents.
Identity as the Root: AGNTCY Identity ensures Agents and Tools (MCP Servers) are verifiably authentic.
Flexible & Interoperable: BYOID (Bring Your Own ID), integrates with existing Identity Providers (IdPs).
Secure and reliable communication between software agents is a cornerstone of the Internet of Agents (IoA) vision.
Without proper identity management, malicious or unverified agents can infiltrate Multi-Agent Systems (MASs), leading to misinformation, fraud, or security breaches.
To mitigate these risks, the AGNTCY provides a standardized and consistent framework for authenticating agents and validating associated metadata.
This applies equally to:
Agents
Model Context Protocol (MCP) Servers
MASs (Multi-Agent Systems)
[!TIP]
This repository includes an AI Agent and MCP Server to showcase the AGNTCY Identity components in action!
π Features & Main Components
Features
Identity creation: Generate unique, verifiable identities for agents and MCP servers.
Existing identity onboarding: Integrate identities from external IdPs.
Badges creation & verification: Authenticate agents and MCP servers and validate metadata.
Main Components
Issuer CLI: Manage identities, vaults and credentials via command-line interface.
Node Backend: Backend server for identity management and metadata.
β‘οΈ Get Started in 5 Minutes
Step 1: Install the Issuer CLI
Download the Issuer CLI binary corresponding to your platform from the latest releases.
[!NOTE]
On some platforms you might need to add execution permissions and/or approve the binary in System Security Settings.
For easier use, consider moving the binary to your $PATH or to the /usr/local/bin folder.
If you have Golang set up locally, you could also use the go install command:
go install github.com/agntcy/identity/cmd/issuer@latest
Step 2: Start the Node Backend with Docker
[!NOTE]
To run the Node Backend locally, you need to have Docker installed.
Here are the core commands you can use with the CLI
vault: Manage cryptographic vaults and keys
issuer: Register and manage issuer configurations
metadata: Generate and manage metadata for identities
badge: Issue and publish badges for identities
verify: Verify identity badges
config: Display the current configuration context
π§ͺ Run the demo
This demo scenario will allow you to see how to use the AGNTCY Identity components can be used in a real environment.
You will be able to perform the following:
Register as an Issuer
Generate metadata for an MCP Server
Issue and publish a badge for the MCP Server
Verify the published badge
Prerequisites
First, follow the steps in the Get Started in 5 minutes section above to install the Issuer CLI and run the Node Backend, and generate a local vault and keys.
To run this demo setup locally, you need to have the following installed:
The agents in the samples rely on a local instance of the Llama 3.2 LLM to power the agent's capabilities.
With Ollama installed, you can download and run the model (which is approximately 2GB, so ensure you have enough disk space) using the following command:
Run the Llama 3.2 model:
ollama run llama3.2
From the root of the repository, navigate to the samples directory and run the following command to deploy the Currency Exchange A2A Agent leveraging the Currency Exchange MCP Server:
cd samples && docker compose up -d
[Optional] Test the samples using the provided test clients.
Step 2: Use the CLI to create a local Vault and generate keys
Create a local vault to store generated cryptographic keys:
identity vault connect file -f ~/.identity/vault.json -v "My Vault"
Generate a new key pair and store it in the vault:
identity vault key generate
Step 3: Register as an Issuer
For this demo we will use Okta as an IdP to create an application for the Issuer.
The quickly create a trial account and application, we have provided a script to automate the process via the Okta CLI.
[!IMPORTANT]
If you already have an Okta account, you can use the okta login command to log in to your existing organization.
If registering a new Okta developer account fails, proceed with manual trial signup and then use the okta login command,
as instructed by the Okta CLI.
Run the following command from the root repository to create a new Okta application:
. ./demo/scripts/create_okta_app
In the interactive prompt, choose the following options:
> 4: Service (Machine-to-Machine), > 5: Other
Register the Issuer using the Issuer CLI and the environment variables from the previous step:
[!NOTE]
When successful, this command will print the metadata ID, which you will need in the next step to view published badges that are linked to this metadata.
Step 5: Issue and Publish a Badge for the MCP Server
Issue a badge for the MCP Server:
identity badge issue mcp -u http://localhost:9090 -n "My MCP Server"
You can use the Issuer CLI to verify a published badge any published badge, not just those that you issued yourself.
This allows others to verify the Agent and MCP badges you publish.
Download the badge that you created in the previous step, replacing {metadata_id} with the metadata ID from step 4:
See the open issues for a list
of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to
learn, inspire, and create. Any contributions you make are greatly
appreciated. For detailed contributing guidelines, please see
CONTRIBUTING.md.