Skip to content

Home

Connect all the agents!

Key Features

🔌 ACP Integration

First-class support for the Agent Client Protocol (ACP):

  • Integrate directly into IDEs like Zed, VS Code, and others
  • Wrap external agents (Claude Code, Goose, Codex, fast-agent) as nodes
  • Unified node abstraction - ACP agents work like native agents
  • Compose ACP agents into teams with native agents

📝 Easy Agent Configuration

LLMling-agent excels at static YAML-based agent configuration:

  • Define agents with extreme detail in pure YAML (Pydantic-backed)
  • Expansive JSON schema for IDE autocompletion and validation, backed by an extremely detailed schema.
  • Multi-Agent setups with native as well as remote (ACP / AGUI) agents

🧩 Unified Node Architecture

Everything is a MessageNode - enabling seamless composition:

  • Native agents with a large set of default tools
  • ACP agents
  • AG-UI agents
  • Teams (parallel and sequential)
  • Human-in-the-loop-agents
  • All nodes share the same interface

Dependencies

Name Summary Marker
ast-grep-py Structural Search and Rewrite code at large scale using precise AST pattern. extra == "coding"
toprompt Convert python objects to LLM-friendly descriptions
sounddevice Play and Record Sound with Python extra == "tts"
jinjarope Jinja2 utilities, loaders & fsspec integration.
evented Event emitters.
anyenv Compatibility layer for some basic operations to allow painless operation in PyOdide and Python pre-releases
httpx The next generation HTTP client.
yamling Enhanced YAML loading and dumping.
logfire The best Python observability tool! 🪵🔥
fastapi FastAPI framework, high performance, easy to learn, fast to code, ready for production extra == "server"
composio SDK for integrating Composio with your applications. extra == "composio"
uvicorn The lightning-fast ASGI server. extra == "server"
platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a user data dir.
tree-sitter Python bindings to the Tree-sitter parsing library extra == "tree-sitter"
epregistry A registry for entry points (cached and generically typed)
grep-ast A tool to grep through the AST of a source file extra == "tree-sitter"
mcpx-py An mcp.run client for Python extra == "mcp-run"
openai The official Python library for the openai API extra == "tts"
promptantic Generate pydantic models using prompts
tree-sitter-cpp C++ grammar for tree-sitter extra == "tree-sitter"
pydantic Data validation using Python type hints
promptlayer PromptLayer is a platform for prompt engineering and tracks your LLM requests. extra == "promptlayer"
tree-sitter-c C grammar for tree-sitter extra == "tree-sitter"
searchly Search tools for agents
apprise Push Notifications that work with just about every platform! extra == "notifications"
clipman Python3 module for working with clipboard. Created because pyperclip is discontinued. extra == "clipboard"
markitdown Utility tool for converting various files to Markdown python_full_version < "3.14" and extra == "markitdown"
autoevals Universal library for evaluating AI models extra == "braintrust"
rustworkx A High-Performance Graph Library for Python extra == "tree-sitter"
psygnal Fast python callback/event system modeled after Qt Signals
braintrust SDK for integrating Braintrust extra == "braintrust"
tree-sitter-yaml YAML grammar for tree-sitter extra == "tree-sitter"
keyring Store and access your passwords safely. extra == "oauth"
slashed Slash commands and autocompletions
llmling-models Pydantic-AI models for LLMling-agent
ag-ui-protocol extra == "ag-ui"
textual Modern Text User Interface framework extra == "textual"
fasta2a Convert an AI Agent into a A2A server! ✨ extra == "a2a"
numpy Fundamental package for array computing in Python extra == "tts"
typer Typer, build great CLIs. Easy to code. Based on Python type hints.
fsspec File-system specification
mcp Model Context Protocol SDK
upathtools UPath utilities
python-dotenv Read key-value pairs from a .env file and set them as environment variables
sqlmodel SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.
tree-sitter-typescript TypeScript and TSX grammars for tree-sitter extra == "tree-sitter"
fastmcp The fast, Pythonic way to build MCP servers and clients.
schemez Pydantic shim for config stuff
tokonomics Calcuate costs for LLM Usage based on token count
tree-sitter-go Go grammar for tree-sitter extra == "tree-sitter"
tree-sitter-json JSON grammar for tree-sitter extra == "tree-sitter"
typeagent Incremental message indexing and querying pipelines using Structured RAG extra == "memory"
docstring_parser Parse Python docstrings in reST, Google and Numpydoc format
structlog Structured Logging for Python
tiktoken tiktoken is a fast BPE tokeniser for use with OpenAI's models extra == "tiktoken"
starlette The little ASGI library that shines. extra == "a2a"
tree-sitter-javascript JavaScript grammar for tree-sitter extra == "tree-sitter"
exxec Execution environments
docler Abstractions & Tools for OCR / document processing
pydantic-ai-slim Agent Framework / shim to use Pydantic with LLMs, slim package
rich Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal
SQLAlchemy Database Abstraction Library
langfuse A client library for accessing langfuse extra == "langfuse"
tree-sitter-python Python grammar for tree-sitter extra == "tree-sitter"
tree-sitter-rust Rust grammar for tree-sitter extra == "tree-sitter"
Jinja2 A very fast and expressive template engine.

License

MIT License - see LICENSE for details.

Quick Start

Basic Agent Configuration

# agents.yml
agents:
  assistant:
    name: "Technical Assistant"
    model: openai:gpt-4
    system_prompts:
      - You are a helpful technical assistant.
    toolsets:
      - type: file_access

Python Usage

from llmling_agent import AgentPool

async def main():
    async with AgentPool("agents.yml") as pool:
        agent = pool.get_agent("assistant")
        response = await agent.run("What is Python?")
        print(response.data)

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())