genpilot

MCP.Pizza Chef: yanmxa

GenPilot is an MCP client designed to streamline the creation, development, and management of single and multi-agent systems powered by Generative AI. It fully adheres to the Model Context Protocol (MCP), ensuring seamless integration with various MCP servers. GenPilot enables developers and end-users to efficiently transform concepts and prototypes into fully functional AI solutions. It offers an intuitive terminal and web interface, including support for Streamlit UI, allowing multiple agents to share a unified chat interface. GenPilot requires Python 3.10 or later and integrates with litellm for provider flexibility, supporting a wide range of LLM providers such as OpenAI, Claude, and Gemini.

Use This MCP client To

Build and manage multi-agent AI systems Integrate generative AI agents with MCP servers Develop AI prototypes into production-ready solutions Use terminal or web UI for agent interaction Create shared chat interfaces for multiple agents Facilitate multi-agent collaboration and orchestration

README


GenPilot

GenPilot streamlines the creation, development, and management of single and multi-agent systems powered by Generative AI. Adhering to the Model Context Protocol (MCP), it ensures seamless integration with a variety of MCP servers, enabling both developers and end-users to efficiently transform concepts and prototypes into fully realized solutions. All of this is facilitated through an intuitive, user-friendly terminal and web interface.

Installation

Require Python 3.10 or later.

pip install genpilot

Usage

The client is initialized using litellm. Please refer to the guide for details on different providers.

import genpilot as gp
import asyncio

# 1. User Interface: Also supports Streamlit UI, allowing all agents to share the same chat interface.
terminal = gp.TerminalChat()

# 2. Define a Tool to search and summarize information
def search_and_summarize(query):
    """Search for information on the internet and return a summary."""
    return f"Here's the summary for '{query}': [Summarized info]."

# 3. Define an Agent for summarizing search results
info_explorer = gp.Agent(
    name="Information Explorer",
    model_config={
        "name": "groq/llama-3.3-70b-versatile",
    },
    chat=terminal,
    tools=[search_and_summarize],
    system=(
        "Your role is to search the internet and summarize relevant information for a given query. "
        "Use the search tool to find and condense information for the user, ensuring clarity and relevance."
    ),
)

# 4. Run the Agent with a query
response = asyncio.run(info_explorer("What's the latest news about AI advancements?"))
print(response)

Why GenPilot?

  • MCP Agent: Leverage the MCP servers provided by the ecosystem to empower agents, allowing them to connect and interact within a richer, more expansive environment.

  • Multi-Agent System: Seamlessly scale from single-agent tasks to complex multi-agent workflows, inspired by Routines and Handoffs.

  • User-Friendly Interface: Offers an intuitive interface for prototyping and quick implementation, whether through a web UI (Streamlit, Chainlit) or terminal. Get started quickly and effortlessly with minimal effort.

  • Enhanced Autonomy: GenPilot can internally register and invoke tools, reducing reliance on external agents and minimizing unnecessary interactions.

  • Governed Actions

    governed action

    GenPilot's actions are governed by three permission levels:

    • auto: Permission requested only for system/environment-modifying actions
    • always: Permission requested for all actions
    • none: No permission requests
  • Memory [PROCESSING]: GenPilot enhances accuracy with customizable memory:

    1. ChatBufferMemory A short-term memory solution designed to retrieve the most recent message along with the current session context.

    2. ChatVectorMemory A long-term memory implementation based on LlamaIndex vector memory.

    MemGPT: Towards LLMs as Operating Systems CLIN: A CONTINUALLY LEARNING LANGUAGE AGENT FOR RAPID TASK ADAPTATION AND GENERALIZATION

    1. ChatPgMemory ...
  • RAG Support: GenPilot integrates a retrieval agent that allows local resource or knowledge integration into the multi-agent system. The default implementation leverages LlamaIndex's ChatEngine.

  • Typed Prompt and Auto Optimizer

Samples

This demo provides advice on what to wear when traveling to a city

Watch the demo

This demo uses multi-agent troubleshooting for issues in RedHat ACM

Cluster Unknown

Watch the demo

Addons Aren't Created

Watch the demo

genpilot FAQ

How do I install GenPilot?
Install GenPilot using pip with Python 3.10 or later: `pip install genpilot`.
What interfaces does GenPilot support?
GenPilot supports an intuitive terminal interface and a web interface, including Streamlit UI for shared agent chats.
How does GenPilot integrate with MCP servers?
GenPilot adheres to the MCP standard, enabling seamless communication and integration with any MCP-compliant server.
Can I use GenPilot with different LLM providers?
Yes, GenPilot uses litellm for initialization, supporting providers like OpenAI, Claude, and Gemini.
Is GenPilot suitable for both developers and end-users?
Yes, it is designed to be user-friendly for both developers building agents and end-users interacting with them.
What Python version is required for GenPilot?
GenPilot requires Python 3.10 or later.
Does GenPilot support multi-agent collaboration?
Yes, it facilitates the creation and management of multi-agent systems with shared interfaces.
Where can I find usage examples for GenPilot?
Usage examples are available in the GitHub repository and documentation, including how to initialize with litellm.