This repository provides a multi-agent research framework using Python and MCP (Message Control Protocol). The default entrypoint is mcp_server.py
, which sets up a FastMCP server named Deep Research and exposes a tool named deep_research
.
-
Clone the Repository:
git clone https://github.com/yourusername/deep-research-mcp.git cd deep-research-mcp
-
Create/Populate Your
.env
File:cp .env.example .env # Then edit the new .env file to fill in your secrets and environment variables # For example: # OPENAI_API_KEY=sk-123-yourkey # Additional environment variables can be placed here
-
Install Dependencies:
pip install -r multi_agents/requirements.txt
-
Edit your
claude_desktop_config.json
file to include the following:{ "mcpServers": { "deep-research-mcp": { "command": "path/to/your/python/interpreter", "args": [ "/path/to/this/project/deep-research-mcp/mcp_server.py" ] } } }
-
Run the MCP Server:
python mcp_server.py
This starts the FastMCP tool server locally. From here, any MCP-compatible client or the CLI can invoke the
deep_research
tool.
- multi_agents
- agents: Contains the various AI agents (ResearchAgent, EditorAgent, etc.).
- memory: Typed dictionaries to store research and draft states.
- main.py: Core logic to load tasks and orchestrate agents.
- README.md: Additional instructions on usage, file output settings, etc.
- mcp_server.py: Main FastMCP server file (entrypoint).
- utils: Shared functions and enums used across the codebase.
- .gitignore, requirements.txt, etc.: Standard setup files.
Below is a copy of the multi_agents/README.md
in a tree-like structure for reference:
multi_agents/
│
├─ README.md
│ └─ (Documentation on file output vs. direct return)
│
├─ agents/
│ ├─ __init__.py
│ ├─ browser.py
│ ├─ researcher.py
│ ├─ editor.py
│ ├─ writer.py
│ ├─ publisher.py
│ └─ ... (other agents)
│
├─ memory/
│ ├─ __init__.py
│ ├─ draft.py
│ └─ research.py
│
├─ main.py
├─ __init__.py
└─ requirements.txt