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.0.tar.gz (189.0 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.0-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mosaico_ip_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 189.0 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.0.tar.gz
Algorithm Hash digest
SHA256 d48fd70a10af1c676f0598cad49a63321d26759a7cc9cf71e983133227d487a7
MD5 67c3884124e51bd52ff0e6d364264eec
BLAKE2b-256 5750f20c6c01127a205057921e5f458e8a25a25357072a0daec5ac6529b283eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for mosaico_ip_agent-0.1.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mosaico_ip_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72514602b57b1ac949dc86397d221c58b9c205ce87a6722a982a5fc4841fc5cf
MD5 6087961014b6a50ecfbdcd4ccf5a7edd
BLAKE2b-256 09c520b72877c59ffa14c50fe66dd79fdf990e6315a2f284bf5fa4e164c74f3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mosaico_ip_agent-0.1.0-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