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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_sleeeepyzhou_codexaid-0.1.0.tar.gz | 23.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|