diff --git a/.replit b/.replit deleted file mode 100644 index 0cdbe71c..00000000 --- a/.replit +++ /dev/null @@ -1,38 +0,0 @@ -modules = ["python-3.10", "bash"] - -[nix] -channel = "stable-24_05" -packages = ["libxcrypt"] - -[workflows] -runButton = "Run MCP Demo" - -[[workflows.workflow]] -name = "Run Tests" -author = 13983571 -mode = "sequential" - -[[workflows.workflow.tasks]] -task = "shell.exec" -args = "python -m unittest tests/test_basic_example.py -v" - -[[workflows.workflow.tasks]] -task = "shell.exec" -args = "python -m unittest tests/tools/test_mcp_integration.py -v" - -[[workflows.workflow]] -name = "Run MCP Demo" -author = 13983571 -mode = "parallel" - -[[workflows.workflow.tasks]] -task = "shell.exec" -args = "python examples/mcp_example/mock_math_server.py" - -[[workflows.workflow.tasks]] -task = "shell.exec" -args = "sleep 2" - -[[workflows.workflow.tasks]] -task = "shell.exec" -args = "python examples/mcp_example/mcp_client.py" diff --git a/mcp_integration_summary.md b/mcp_integration_summary.md deleted file mode 100644 index 1d90ff58..00000000 --- a/mcp_integration_summary.md +++ /dev/null @@ -1,134 +0,0 @@ - -# MCP Protocol Integration Implementation Summary -Duration: 30 minutes - -## 1. Implementation Overview - -### Core Files Implemented -1. **Mock Multi-Agent System** (`examples/mcp_example/mock_multi_agent.py`) - - Implemented a multi-agent system with Calculator and Stock Analyst agents - - Uses MCP servers for math and stock operations - - Created interactive system for testing - -2. **Test Integration** (`examples/mcp_example/test_integration.py`) - - Basic integration test setup with MCP server connection - - Tests math operations through MCP protocol - -3. **MCP Integration Core** (`swarms/tools/mcp_integration.py`) - - Implemented core MCP server classes (MCPServerStdio, MCPServerSse) - - Added tool schema handling and batch operations - -### Testing Implementation -Located in `tests/tools/test_mcp_integration.py`: - -1. Basic Server Connectivity -```python -def test_server_connection(): - params = {"url": "http://localhost:8000"} - server = MCPServerSse(params) - asyncio.run(server.connect()) - assert server.session is not None -``` - -2. Tool Listing Tests -```python -def test_list_tools(): - params = {"url": "http://localhost:8000"} - server = MCPServerSse(params) - tools = asyncio.run(server.list_tools()) - assert isinstance(tools, list) -``` - -3. Tool Execution Tests -```python -def test_tool_execution(): - params = {"url": "http://localhost:8000"} - function_call = { - "tool_name": "add", - "arguments": {"a": 5, "b": 3} - } - result = mcp_flow(params, function_call) - assert result is not None -``` - -## 2. Implementation Details - -### MCP Server Integration -1. Added MCP server parameters to Agent class: -```python -mcp_servers: List[MCPServerSseParams] = [] -``` - -2. Implemented tool handling in Agent initialization: -```python -if exists(self.mcp_servers): - self.mcp_tool_handling() -``` - -3. Added MCP execution flow: -```python -def mcp_execution_flow(self, response): - response = str_to_dict(response) - return batch_mcp_flow(self.mcp_servers, function_call=response) -``` - -## 3. Testing Results - -### Interactive Testing Session -From `mock_multi_agent.py`: - -``` -Multi-Agent Math System -Enter 'exit' to quit - -Enter a math problem: calculate moving average of [10,20,30,40,50] over 3 periods - -Results: -Calculator: Math operation processing -StockAnalyst: Moving averages: [20.0, 30.0, 40.0] -``` - -### Unit Test Results -- Server Connection: ✓ Passed -- Tool Listing: ✓ Passed -- Tool Execution: ✓ Passed -- Batch Operations: ✓ Passed -- Error Handling: ✓ Passed - -## 4. Implementation Status -- Basic MCP Protocol Integration: ✓ Complete -- Server Communication: ✓ Complete -- Tool Schema Handling: ✓ Complete -- Multi-Agent Support: ✓ Complete -- Error Handling: ✓ Complete -- Testing Suite: ✓ Complete - -## 5. Next Steps -1. Expand test coverage -2. Add more complex MCP server interactions -3. Improve error handling and recovery -4. Add documentation for custom tool implementations - -## 6. Usage Example -```python -from swarms import Agent -from swarms.tools.mcp_integration import MCPServerSseParams - -# Configure MCP server -server = MCPServerSseParams( - url="http://0.0.0.0:6274", - headers={"Content-Type": "application/json"} -) - -# Initialize agent with MCP capabilities -agent = Agent( - agent_name="Math-Agent", - system_prompt="You are a math processing agent", - mcp_servers=[server], - max_loops=1 -) - -# Run the agent -response = agent.run("Use the add tool to add 2 and 2") -print(response) -``` diff --git a/project_structure.txt b/project_structure.txt deleted file mode 100644 index 1af3a6f2..00000000 --- a/project_structure.txt +++ /dev/null @@ -1,137 +0,0 @@ -Swarms Project Structure -======================= - -1. Core Package (swarms/) ------------------------ -├── agents/ -│ ├── agent_judge.py -│ ├── agent_print.py -│ ├── ape_agent.py -│ ├── auto_generate_swarm_config.py -│ ├── consistency_agent.py -│ ├── create_agents_from_yaml.py -│ ├── flexion_agent.py -│ ├── gkp_agent.py -│ ├── i_agent.py -│ ├── openai_assistant.py -│ ├── reasoning_agents.py -│ ├── reasoning_duo.py -│ ├── tool_agent.py -│ └── __init__.py - -├── prompts/ -│ ├── accountant_swarm_prompts.py -│ ├── agent_judge_prompt.py -│ ├── agent_prompt.py -│ ├── agent_prompts.py -│ ├── agent_system_prompts.py -│ ├── autoswarm.py -│ ├── finance_agent_prompt.py -│ ├── finance_agent_sys_prompt.py -│ ├── math_agent_prompt.py -│ ├── security_team.py -│ ├── support_agent_prompt.py -│ └── many more prompt files... - -├── structs/ -│ ├── agent.py -│ ├── agents_available.py -│ ├── agent_registry.py -│ ├── agent_roles.py -│ ├── agent_router.py -│ ├── async_workflow.py -│ ├── base_structure.py -│ ├── base_swarm.py -│ ├── base_workflow.py -│ ├── concurrent_workflow.py -│ ├── deep_research_swarm.py -│ ├── graph_swarm.py -│ ├── groupchat.py -│ ├── majority_voting.py -│ ├── matrix_swarm.py -│ ├── mixture_of_agents.py -│ ├── sequential_workflow.py -│ └── many more structure files... - -├── tools/ -│ ├── base_tool.py -│ ├── mcp_integration.py -│ ├── tool_registry.py -│ ├── tool_utils.py -│ └── many more tool files... - -├── utils/ -│ ├── any_to_str.py -│ ├── file_processing.py -│ ├── formatter.py -│ ├── loguru_logger.py -│ ├── pdf_to_text.py -│ └── many more utility files... - -├── schemas/ -│ ├── agent_input_schema.py -│ ├── agent_step_schemas.py -│ ├── base_schemas.py -│ └── __init__.py - -├── telemetry/ -│ ├── bootup.py -│ ├── main.py -│ └── __init__.py - -├── client/ -│ ├── main.py -│ └── __init__.py - -└── cli/ - ├── create_agent.py - ├── main.py - ├── onboarding_process.py - └── __init__.py - -2. Examples (examples/) ---------------------- -├── advanced_market_analysis/ -├── crypto/ -├── document_processing/ -├── forest_swarm_examples/ -├── groupchat_examples/ -├── healthcare/ -├── mcp_example/ -├── sequential_workflow/ -├── tools_examples/ -└── many more example directories... - -3. Documentation (docs/) ----------------------- -├── swarms/ -├── swarms_cloud/ -├── swarms_memory/ -├── swarms_platform/ -├── swarms_tools/ -└── many more documentation sections... - -4. Tests (tests/) ---------------- -├── agents/ -├── artifacts/ -├── prompts/ -├── structs/ -├── utils/ -└── many more test directories... - -5. Configuration Files --------------------- -├── pyproject.toml -├── requirements.txt -├── poetry.lock -├── Dockerfile -└── .env.example - -6. Main Project Files -------------------- -├── CODE_OF_CONDUCT.md -├── CONTRIBUTING.md -├── LICENSE -├── README.md -└── SECURITY.md \ No newline at end of file