Skip to main content

Core Python client library for A2A protocol, MCP, and secure local key management.

Project description

AgentVault Core Library (agentvault)

This directory contains the source code for the core agentvault Python library.

Purpose:

This library provides the foundational components for interacting with the AgentVault ecosystem:

  • Implementation of the client-side Agent-to-Agent (A2A) protocol.
  • Support for formatting and embedding Model Context Protocol (MCP) payloads within A2A messages.
  • Secure utilities for managing local API keys needed for authenticating with remote agents (via Environment Variables, Secure Files, or OS Keyring).
  • Tools for parsing and validating A2A Agent Cards.

Key Modules:

  • client.py: Contains the main AgentVaultClient class for managing A2A connections and task lifecycles.
  • key_manager.py: Implements the KeyManager class for secure local API key handling.
  • agent_card_utils.py: Provides functions for loading and validating Agent Card JSON.
  • mcp_utils.py: Contains helpers for formatting MCP context data.
  • models/: Pydantic models defining Agent Card structure, A2A protocol messages/events, and internal data structures.
  • exceptions.py: Defines custom exception classes used throughout the library.

Protocol Considerations (Phase 1)

  • A2A Protocol Version: This initial version of the library implements a baseline A2A protocol based on common JSON-RPC patterns and structures inspired by early A2A drafts (e.g., a2a.json.txt if provided). It assumes agents adhere to this baseline. Future versions will need to incorporate explicit version checking based on AgentCard.capabilities.a2aVersion and potentially support negotiation or different protocol versions.
  • MCP Support: Phase 1 includes basic support for embedding Model Context Protocol data. The mcp_utils.py module provides initial formatting, and the AgentVaultClient embeds the resulting dictionary into message.metadata['mcp_context']. This implementation will be refined to align with the official MCP specification as it stabilizes, potentially including more robust schema validation and structured object mapping.

Installation:

This library is intended to be used as a dependency by applications like agentvault-cli or your own custom integrations.

# Install from PyPI (once published)
pip install agentvault

# Install locally for development (from the agentvault_library directory)
# Ensure root .venv is created and activated first (see main project README)
pip install -e ".[os_keyring,dev]"

Usage:

See the main project documentation and user guides for detailed usage examples. Basic interaction involves:

  1. Instantiating KeyManager to load necessary API keys.
  2. Loading/Fetching an AgentCard model using agent_card_utils.
  3. Instantiating AgentVaultClient.
  4. Calling methods like client.initiate_task, client.send_message, client.receive_messages using the loaded AgentCard and KeyManager.

Development:

See the main project README.md for contribution guidelines and development setup. Tests are located in agentvault_library/tests/library/.

Future Enhancements (Ideas):

  • Full alignment with finalized A2A and MCP specifications.
  • Support for additional authentication schemes (e.g., OAuth2).
  • Client-side configuration file support (e.g., ~/.config/agentvault/config.toml) for setting defaults like registry URL, timeouts, etc.
  • Helper functions for common agent interaction patterns.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentvault-0.1.0.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentvault-0.1.0-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file agentvault-0.1.0.tar.gz.

File metadata

  • Download URL: agentvault-0.1.0.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.11.0 Windows/10

File hashes

Hashes for agentvault-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2e47c933187e01533c221174f20857848fc3ebfe3845ad5fd659ed6f451f6f28
MD5 0ee442ed76221b321a1cc0ff19bd0375
BLAKE2b-256 ea0f2de262229eb00cb317799c83708a91a6afca2df08c6bd2b043fa0b8cbf07

See more details on using hashes here.

File details

Details for the file agentvault-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agentvault-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.11.0 Windows/10

File hashes

Hashes for agentvault-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 938ad99471f0af199eed1dd8e3af0623efacb10e6a01e44dabbfaf1e9827d78d
MD5 ea687e7197b4b8d90ad8db78f8ccd551
BLAKE2b-256 36af14b66cfa62284bf404a2e631c9edd145e3a296ea96413ef8a977797e5d5f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page