A multi-agent research framework using Python and MCP (Message Control Protocol)
Project description
Deep Research MCP
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.
Setup
-
Clone the Repository:
git clone https://github.com/yourusername/deep-research-mcp.git cd deep-research-mcp
-
Create/Populate Your
.envFile: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.jsonfile 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.pyThis starts the FastMCP tool server locally. From here, any MCP-compatible client or the CLI can invoke the
deep_researchtool.
Project Overview
- 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
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_joshualelon_deep_research_mcp-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_joshualelon_deep_research_mcp-0.1.0.tar.gz
- Upload date:
- Size: 283.6 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 |
ad2d36666c7206a175bc22aeb6746d2ec0a1b298bd586ed7dc3b26618a346f6e
|
|
| MD5 |
1fcaf061cd7b013e804954cdb447fbaf
|
|
| BLAKE2b-256 |
3a6464e0a4ecced9993b76fa6b50b5119cce32028b5a1a1ba4838847aab34a3c
|
File details
Details for the file iflow_mcp_joshualelon_deep_research_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_joshualelon_deep_research_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 299.6 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 |
47f6a6afa685309d3ebe760f6ed1d9334edff060f1e919d7ad316a8d17862b01
|
|
| MD5 |
f54ab6a175d39d1b04004ae716500ade
|
|
| BLAKE2b-256 |
59cb37664d2e6cd652b0d0c14c4305a591f0a797110d334ea8cf79fce3f2631e
|