Skip to main content

Reusable tools and utilities for Universal Agent stack

Project description

Universal Agent Tools

Reusable tools and utilities extracted from the Universal Agent Nexus examples.

Overview

This package contains production-ready, reusable components for:

  • Ollama + Tools Integration - Working pattern for Ollama LLMs with MCP tools
  • Code Chunking - Multi-format intelligent chunking (Python, YAML, Markdown, JSON)
  • MCP Server Framework - Base classes for creating MCP-compliant servers
  • Tool Registry - Centralized tool discovery and management
  • Codebase Analyzer - AST parsing, dependency graphs, PageRank scoring
  • GitHub Integration - CLI-based GitHub operations
  • Document Generator - Structured document generation
  • Sync State Management - Generic sync state tracking

Installation

pip install universal-agent-tools

Or install with optional dependencies:

# With Qdrant support
pip install universal-agent-tools[qdrant]

# With GitHub API support
pip install universal-agent-tools[github]

# Development dependencies
pip install universal-agent-tools[dev]

Quick Start

Ollama + Tools

from universal_agent_tools.ollama_tools import (
    MCPToolLoader,
    create_llm_with_tools
)

# Load tools from MCP server
tools = MCPToolLoader.load_from_server("http://localhost:8000/mcp")

# Create LLM with tools
llm, tools = create_llm_with_tools(tools, model="qwen2.5-coder:14b")

Code Chunking

from universal_agent_tools.code_chunking import chunk_content

# Chunk any file type
chunks = chunk_content(content, "example.py")

# Each chunk has: type, name, content, line_start, line_end, docstring
for chunk in chunks:
    print(f"{chunk['type']}: {chunk['name']} (lines {chunk['line_start']}-{chunk['line_end']})")

Tool Registry

from universal_agent_tools.tool_registry import get_registry

registry = get_registry()
registry.register_server("filesystem", "http://localhost:8000/mcp")
tools = registry.discover_tools()

for tool in registry.list_tools():
    print(f"{tool.name}: {tool.description}")

Architecture

This package follows SOLID design principles:

  • Single Responsibility - Each module has one clear purpose
  • Open/Closed - Extensible without modification (e.g., custom chunkers)
  • Liskov Substitution - Protocols/interfaces ensure substitutability
  • Interface Segregation - Focused, minimal interfaces
  • Dependency Inversion - Depend on abstractions, not concretions

Components

Priority 1 (Production-Ready)

  1. ollama_tools/ - Ollama + LangChain + MCP integration
  2. code_chunking/ - Multi-format chunking system
  3. mcp_framework/ - MCP server framework

Priority 2 (Well-Tested)

  1. tool_registry/ - Tool discovery system
  2. codebase_analyzer/ - AST analysis and dependency graphs
  3. github_tools/ - GitHub CLI integration

Priority 3 (Useful Patterns)

  1. document_generator/ - Structured document generation
  2. sync_state/ - Generic sync state tracking

Testing

# Run all tests
pytest

# With coverage
pytest --cov=universal_agent_tools

# Specific component
pytest tests/test_chunking.py

License

MIT License

Contributing

This package is extracted from universal_agent_nexus_examples. See REFACTORING_ANALYSIS.md in the examples repo for extraction details.

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

universal_agent_tools-1.1.2.tar.gz (40.3 kB view details)

Uploaded Source

Built Distribution

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

universal_agent_tools-1.1.2-py3-none-any.whl (53.4 kB view details)

Uploaded Python 3

File details

Details for the file universal_agent_tools-1.1.2.tar.gz.

File metadata

  • Download URL: universal_agent_tools-1.1.2.tar.gz
  • Upload date:
  • Size: 40.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for universal_agent_tools-1.1.2.tar.gz
Algorithm Hash digest
SHA256 64e997f9ece8c44a415b0faf2f4ae54074cf6d1b6a74ef5def4be8c54addcda6
MD5 cba18f90d26bf790c66e8308073a3042
BLAKE2b-256 b4d95617362e3f4affd17e6a7e15d7d5f4cc9b08936b3258ec4e27e7cba2da42

See more details on using hashes here.

File details

Details for the file universal_agent_tools-1.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for universal_agent_tools-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d8cf1fdb0ff0d5fd9718cc54b739f557b2f0bfcfeb97caececb485ef86fd5bc4
MD5 2fa1b6b1efa6ee4f2e028416976167cf
BLAKE2b-256 3478b4fac2cd5e5ed018a47ad8e08cbb2604ae24ec78b9278db7d58f9913e841

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