AgenticMaid Project

by Buidl-Land

246 downloads
Not rated
GitHub

About

AgenticMaid is a Python library designed to interact with one or more Multi-Capability Protocol (MCP) servers.

Details

Author
Buidl-Land
Downloads
246
Categories
Other

- Multi-server MCP interaction and tool fetching
- Dynamic tool retrieval at runtime
- Flexible configuration via dictionary, JSON, or .env files
- Supports OpenAI, Anthropic, Azure OpenAI, and local LLMs
- Scheduled tasks with cron-like expressions
- Chat service integration framework
- Agent creation using langgraph ReAct agents

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name AgenticMaid Project
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the required dependencies (python-dotenv, langchain-mcp-adapters, langgraph, etc.) and configure the library using either a Python dictionary, a JSON file, or a .env file for API keys. Instantiate ClientAgenticMaid with your configuration, call await client.async_initialize(), then use run_mcp_interaction() to invoke agents that leverage the fetched MCP tools.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "agenticmaid project": {
            "AutoMaid": {
                "command": "python",
                "args": [
                    "-m",
                    "uvicorn",
                    "AgenticMaid.api:app",
                    "--reload"
                ]
            }
        }
    }
}

McpServers

{
    "AutoMaid": {
        "command": "python",
        "args": [
            "-m",
            "uvicorn",
            "AgenticMaid.api:app",
            "--reload"
        ]
    }
}

AgenticMaid Project

Overview

AgenticMaid is a Python library designed to interact with one or more Multi-Capability Protocol (MCP) servers. It allows for dynamic fetching and utilization of tools (capabilities) provided by these servers. The client can also manage configurations for various AI/LLM services, schedule automated tasks, and handle chat service interactions, making it a versatile component for building AI-powered applications.

It leverages langchain-mcp-adapters for communication with MCP servers and langgraph for creating reactive agents that can use the fetched MCP tools.

Features

Multi-Server MCP Interaction: Connects to and utilizes tools from multiple MCP servers.
Dynamic Tool Fetching: Retrieves available tools from MCP servers at runtime.
Flexible Configuration: Supports configuration via Python dictionaries, JSON files, and .env files for sensitive data.
AI Service Management: Configures and utilizes various AI/LLM services (e.g., OpenAI, Anthropic, Azure OpenAI, local models).
Scheduled Tasks: Allows defining and running tasks based on cron-like schedules.
Chat Service Integration: Provides a framework for handling interactions with defined chat services.
Agent Creation: Uses langgraph to create ReAct agents that can leverage MCP tools and configured LLMs.
Environment Variable Support: Loads default configurations and sensitive keys (like API keys) from an .env file.

Installation

1. Prerequisites:
Python 3.8+

2. Clone the repository (if applicable) or add AgenticMaid to your project.

3. Install Dependencies:
The client relies on several libraries. Ensure you have a requirements.txt file in your project or install them directly. Key dependencies include:

    pip install python-dotenv langchain-mcp-adapters langgraph schedule langchain-core langchain-openai langchain-anthropic fastapi pydantic "uvicorn[standard]"

The command above includes core dependencies and those required for the FastAPI service and CLI tool. The file AgenticMaid/requirements.txt lists dependencies primarily for the API and CLI features.

Configuration

The AgenticMaid can be configured in multiple ways:

1. Python Dictionary: Pass a Python dictionary directly to the AgenticMaid constructor.
2. JSON File: Provide a path to a JSON configuration file to the constructor.
3. .env File: For default values and sensitive information like API keys, create a .env file in the AgenticMaid/ directory (i.e., alongside client.py). Values from the .env file can be overridden by the main JSON/dictionary configuration.

Configuration Structure

The main configuration (Python dictionary or JSON) generally includes the following sections:

model (optional): Global default settings for AI models.
ai_services: Definitions for various AI/LLM providers and models.
mcp_servers: Configuration for the MCP servers the client will connect to.
scheduled_tasks: An array of tasks to be run on a schedule.
chat_services: Definitions for chat services the client can interact with.
agents (optional): Pre-defined agent configurations.
default_llm_service_name (optional): A global default LLM service to use if not specified elsewhere.

See the AgenticMaid/config.example.json file for a detailed example with comments explaining each field.

1. Using .env File

Create a file named .env in the AgenticMaid directory (e.g., AgenticMaid/.env). This file is used for API keys and other default settings. Values from here serve as defaults and can be overridden by the main configuration file or dictionary.

Example AgenticMaid/.env:
```env

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.