Skip to main content

CodexAid - MCP Self-Learning Service

A powerful service for building, managing, and deploying self-learning and self-generating MCP (Model Context Protocol) agents.

Overview

CodexAid is a framework that allows you to create intelligent MCP agents that can learn from tasks and generate new skills on their own. The system follows a design-develop-deploy pipeline that turns natural language prompts into functional MCP servers with custom tools.

Features

  • Self-Learning: Create agents that can learn from user interactions
  • Self-Generation: Generate new MCP servers based on natural language prompts
  • Tool Generation: Automatically create and deploy new tools based on requirements
  • FastAPI Integration: Expose MCP functionality through an HTTP API
  • Design-Develop Pipeline: Structured approach to converting tasks into working code

Architecture

The system consists of several key components:

  • Designer: Analyzes tasks and creates specifications for development
  • Developer: Implements tools based on specifications
  • MCP Builder: Constructs MCP servers from developed tools
  • Tool Server: FastAPI server that hosts and manages MCP tools

Getting Started

Prerequisites

  • Python 3.12 or higher
  • Dependencies listed in pyproject.toml

Installation

# Clone the repository
git clone <repository-url>
cd CodexAid

# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -e .

Usage

  1. Start the Tool Server:
python mcp_service/tool_server.py
  1. Create a new MCP from a prompt:
from scr.work import mcp_create

# Generate a new MCP server from a natural language prompt
mcp_str = mcp_create("Create a tool that summarizes web content")

# Save the generated server
with open("my_new_mcp.py", "w") as f:
    f.write(mcp_str)
  1. Use the HTTP API to generate new MCPs:
curl -X POST "http://localhost:8848/new_mcp" \
     -H "Content-Type: application/json" \
     -d '{"prompt": "Create a tool that searches for information"}'

API Endpoints

  • GET /health - Check server health
  • GET /reset - Reset the MCP manager
  • GET /get_tool - Get available tools
  • GET /get_tool/{agent_name} - Get tools for a specific agent
  • POST /call_tool/{tool_name} - Call a specific tool
  • POST /new_mcp - Generate a new MCP from a prompt

Configuration

Edit the config.py file to configure:

  • LLM API endpoints and keys
  • MCP service paths
  • Server port

Examples

Creating a Learning Timer

from mcp.server.fastmcp import FastMCP
mcp = FastMCP("LearningTimer")

@mcp.tool(description='Start a learning timer when detected')
async def start_learning_timer():
    # Implementation details
    pass

if __name__ == '__main__':
    mcp.run(transport='stdio')

License

See the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Metadata

Release files for iflow-mcp_sleeeepyzhou-codexaid 0.1.0

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

Source distribution (sdist)

Source distribution for iflow-mcp_sleeeepyzhou-codexaid 0.1.0
File Size Uploaded
iflow_mcp_sleeeepyzhou_codexaid-0.1.0.tar.gz 23.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_sleeeepyzhou-codexaid 0.1.0
File Interpreter ABI Platform
iflow_mcp_sleeeepyzhou_codexaid-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 56.8 kB

Release files / iflow_mcp_sleeeepyzhou_codexaid-0.1.0.tar.gz

Download URL iflow_mcp_sleeeepyzhou_codexaid-0.1.0.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
867dc9d2f18e449c2f2720574e4717a19dacde7c7162c515cfb45526528ad6fc
BLAKE2b-256 checksum
How to use checksums
45eb3ddbc16e7cbf1b796549ba062f2ee76ca09588ceaa57b24c315e2e387f7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / iflow_mcp_sleeeepyzhou_codexaid-0.1.0-py3-none-any.whl

Download URL iflow_mcp_sleeeepyzhou_codexaid-0.1.0-py3-none-any.whl
Size 33.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7411974050895c8a26b5a1da45a916461c70644378d65373f39e18e2f580cd91
BLAKE2b-256 checksum
How to use checksums
7f3ded0e11d4a633de99361dd89772d66ff3c45681432f61f0f279a09ea70e3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

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