Skip to main content

MOSAICO Solution Agent for IP-related queries.

Project description

MOSAICO IP Agent

GitHub Actions Workflow Status REUSE status PyPI - Version PyPI - Python Version GitHub Release License

This agent uses an LLM to parse natural language queries about software libraries, extracts package details, and fetches real-time licensing information from the Eclipse Foundation and ClearlyDefined APIs.

Features

  • Provider-Agnostic Extraction: Leverages LiteLLM to accurately extract package names, types (npm, pypi, maven), and versions. While optimized for Ollama, it supports 100+ LLM providers (OpenAI, Anthropic, Azure, etc.) via simple configuration changes.
  • License Verification: Automatically queries the Eclipse Foundation and ClearlyDefined to find the declared license for the extracted package.
  • A2A SDK Integration: Fully compatible with the MOSAICO A2A architecture, handling task states and artifact generation.
  • Observability: Built-in tracing and observability using Langfuse.

Prerequisites

  • Python: 3.10 or higher
  • Package Manager: uv (recommended)
  • LLM Backend:
    • Local: Ollama (Default)
    • Remote: Any LiteLLM-supported provider (OpenAI, Claude, etc.)

Installation

From PyPI

pip install mosaico-ip-agent

From GHCR (Docker)

docker pull ghcr.io/gomes89/mosaico-ip-agent:latest

From Source (Development Only)

git clone https://github.com/gomes89/mosaico-ip-agent.git
cd mosaico-ip-agent
uv sync

# Windows:
.venv\Scripts\activate 
# Linux/macOS:
source .venv/bin/activate

Configuration

The agent is configured using environment variables. You can set these in your terminal or use a .env file if you install a package like python-dotenv later.

Environment Variable Default Value Description
AGENT_HOST 0.0.0.0 The host IP for the Uvicorn server to bind to.
AGENT_PORT 8000 The port for the Uvicorn server.
AGENT_URL http://localhost:8000/ The URL broadcasted in the Agent Card.
LLM_API_BASE http://localhost:11434 The endpoint where the LLM provider is running.
LLM_API_KEY None The API key to access the LLM endpoint.
LLM_CONTEXT_LENGTH None Explicit context window size (specifically for Ollama).
LLM_MODEL_NAME ollama/qwen2.5:0.5b The model identifier for LiteLLM to request.

Running the Agent

Because the project is installed as a package with defined entry points, you have two simple ways to start the agent:

Option 1: Using the CLI command

mosaico-ip-agent

Option 2: Running the module directly

python -m mosaico_ip_agent

You can verify the agent is running by querying the health check endpoint:

# Linux / macOS Bash:
curl -f http://localhost:8000/health

# Windows PowerShell:
Invoke-RestMethod -Uri "http://localhost:8000/health"

License

This program and the accompanying materials are made available under the terms of the MIT License, which is available at https://opensource.org/license/mit.

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

mosaico_ip_agent-0.1.1.tar.gz (189.1 kB view details)

Uploaded Source

Built Distribution

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

mosaico_ip_agent-0.1.1-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file mosaico_ip_agent-0.1.1.tar.gz.

File metadata

  • Download URL: mosaico_ip_agent-0.1.1.tar.gz
  • Upload date:
  • Size: 189.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mosaico_ip_agent-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f90d84ef38dd470dcbbd0f7dad0518bf327afe45bc8655be73259a5c063468f1
MD5 7e27c667a98116f54a980447adcc7c99
BLAKE2b-256 0525510c1338ded594bc292b93a43ea2d8ddb17f5ed0e7522aa5048f5023c541

See more details on using hashes here.

Provenance

The following attestation bundles were made for mosaico_ip_agent-0.1.1.tar.gz:

Publisher: pypi-publish.yml on gomes89/mosaico-ip-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mosaico_ip_agent-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mosaico_ip_agent-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4cfe03ff9dc94a0f37d819e0222caf1797784d444f19eddbb8580f26d285505d
MD5 57f83fdddc245ca21e3166eaf278882d
BLAKE2b-256 712ac518d523a508633d7c63242c34b724595aa7c00efb004d2688394eb0a193

See more details on using hashes here.

Provenance

The following attestation bundles were made for mosaico_ip_agent-0.1.1-py3-none-any.whl:

Publisher: pypi-publish.yml on gomes89/mosaico-ip-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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