Code codex aid ai.
Project description
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
- Start the Tool Server:
python mcp_service/tool_server.py
- 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)
- 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 healthGET /reset- Reset the MCP managerGET /get_tool- Get available toolsGET /get_tool/{agent_name}- Get tools for a specific agentPOST /call_tool/{tool_name}- Call a specific toolPOST /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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_sleeeepyzhou_codexaid-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_sleeeepyzhou_codexaid-0.1.0.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
867dc9d2f18e449c2f2720574e4717a19dacde7c7162c515cfb45526528ad6fc
|
|
| MD5 |
a5db6fabaf8ff439e9ea86dc75835d30
|
|
| BLAKE2b-256 |
45eb3ddbc16e7cbf1b796549ba062f2ee76ca09588ceaa57b24c315e2e387f7e
|
File details
Details for the file iflow_mcp_sleeeepyzhou_codexaid-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_sleeeepyzhou_codexaid-0.1.0-py3-none-any.whl
- Upload date:
- Size: 33.7 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7411974050895c8a26b5a1da45a916461c70644378d65373f39e18e2f580cd91
|
|
| MD5 |
7ab1616967037f6db43c202d8cd1485d
|
|
| BLAKE2b-256 |
7f3ded0e11d4a633de99361dd89772d66ff3c45681432f61f0f279a09ea70e3c
|