Skip to main content

MOSAICO IP Agent

GitHub Actions Workflow Status PyPI - Version PyPI - Python Version GitHub Release REUSE status GitHub 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
HOST 0.0.0.0 The host IP for the Uvicorn server to bind to.
PORT 9000 The port for the Uvicorn server.
AGENT_CARD_HOST localhost The host for the URL in the Agent Card.
AGENT_CARD_PORT PORT The port for the URL 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.
LANGFUSE_HOST https://cloud.langfuse.com The base URL of the Langfuse observability server.
LANGFUSE_PUBLIC_KEY (None/Required) The public key for the Langfuse observability server.
LANGFUSE_SECRET_KEY (None/Required) The secret key for the Langfuse observability server.

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:9000/health

# Windows PowerShell:
Invoke-RestMethod -Uri "http://localhost:9000/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.

Release files for mosaico-ip-agent 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mosaico-ip-agent 0.1.3
File Size Uploaded
mosaico_ip_agent-0.1.3.tar.gz 191.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mosaico-ip-agent 0.1.3
File Interpreter ABI Platform
mosaico_ip_agent-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 208.9 kB

Release files / mosaico_ip_agent-0.1.3.tar.gz

Download URL mosaico_ip_agent-0.1.3.tar.gz
Size 191.0 kB
Tags Source
SHA-256 checksum
How to use checksums
dea1d7a46df953f6735c4a0873f678154e5ce259f9864133daa61cee4d2f51c6
BLAKE2b-256 checksum
How to use checksums
140ff90306f2d480878a80d57cf4b88db0b044a1a04297c60f0f8b7ab9f0b8f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / mosaico_ip_agent-0.1.3-py3-none-any.whl

Download URL mosaico_ip_agent-0.1.3-py3-none-any.whl
Size 17.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
431b80b329eebb6bfafc64ce48caced61faf46fe2cc66c8e95b5e5418f59e020
BLAKE2b-256 checksum
How to use checksums
8808a41f69f533398ed275449dfa06ea36fb46df1b1f376497008e8353214550
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page