Multi-Capable Processing (MCP) Smart Agent
by AdadAlShabab
The MCP Smart Agent is a modular AI-driven server system that connects specialized agents through a REST API. These agents can analyze code, fetch data, generate summaries, and remember interactions.
Last updated: N/A
Multi-Capable Processing (MCP) Smart Agent It is a modular and extensible AI-driven agentic server system that connects specialized agents through a central REST API. These agents can analyze code repositories, fetch external data (like weather), generate text summaries, and remember past interactions using a persistent memory manager.
๐ Key Features
- Multi-Agent Architecture: Modular design with specialized agents for code analysis, data lookup, and summarization.
- Tool-Integrated Agents: Each agent uses tools like GitHub API, weather services, or basic NLP techniques.
- Memory System: Keeps a persistent memory of prior tasks for contextual recall.
- RESTful Server: Easily integrate with frontends, CLI tools, or workflows via HTTP.
- Pythonic Structure: Fully testable and extensible project layout.
- Ready for Scaling: You can plug in OpenAI, LangGraph, Vector Databases, and more.
๐๏ธ Project Structure
mcp-smart-agent/
โ
โโโ agents/ # AI agents for specific task domains
โ โโโ code_agent.py # Analyzes GitHub repositories
โ โโโ data_agent.py # Fetches weather data
โ โโโ summary_agent.py # Summarizes input text
โ
โโโ tools/ # External service integrations
โ โโโ github_tool.py # Simulates GitHub API access
โ โโโ weather_tool.py # Simulates weather data fetch
โ
โโโ memory/
โ โโโ memory_manager.py # In-memory key-value storage (can be extended)
โ
โโโ server/
โ โโโ mcp_server.py # Flask API endpoints to interact with all agents
โ
โโโ tests/
โ โโโ test_agents.py # Unit tests for core functionality
โ
โโโ main.py # Entry point to start the server
โโโ requirements.txt # Python dependencies
โโโ README.md # You're reading it!
๐ง How It Works
The system spins up a Flask server that exposes endpoints corresponding to different agents:
1. CodeAgent
(analyze GitHub repo)
- Extracts data from a GitHub-like repository (mocked).
- Returns high-level analysis (e.g., number of files).
- Saves the result in memory.
2. DataAgent
(get weather data)
- Accepts a location input.
- Returns mock weather data (can be connected to OpenWeatherMap, etc.).
3. SummaryAgent
(text summarizer)
- Accepts long text and returns a basic summary.
- You can extend this to use GPT or HuggingFace models.
4. MemoryManager
- Saves outputs for reuse.
- Supports simple key-value memory (can be upgraded to Redis or vector DB).
๐ API Endpoints
| Method | Endpoint | Description |
|--------|----------------------|--------------------------------------|
| POST | /analyze_repo
| Analyze a GitHub repo |
| POST | /get_weather
| Get mock weather data |
| POST | /summarize
| Summarize a block of text |
| POST | /retrieve_memory
| Retrieve stored memory for a task |
๐ง Example Usage
curl -X POST http://localhost:5000/analyze_repo \
-H "Content-Type: application/json" \
-d '{"repo_url": "https://github.com/example/repo"}'
๐งช Testing
Run unit tests with:
python -m unittest discover tests
๐ Installation & Run
Prerequisites
- Python 3.7+
pip
installed
Install dependencies
pip install -r requirements.txt
Start the server
python server/mcp_server.py
Ideas for Expansion
- Replace mock tools with real APIs (GitHub, OpenWeather, LangChain tools).
- Use vector databases like Pinecone or ChromaDB for persistent memory.
- Add LangGraph for long-running planning workflows.
- Replace summary agent with GPT-4 or HuggingFace Transformers.
- Add authentication, logging, and rate-limiting.
๐โโ Author
Made by Adad โ an open-source AI agent framework for rapid prototyping and experimentation.