Loading repository data…
Loading repository data…
jenasuraj / repository
This is a repository of collection of many agents build on top of Langchain , Langgraph, MCP and so many amazing tools
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
AI Agents with MCP and LangGraph is a multi-agent experimentation hub where each agent is designed around a specific real-world workflow. The project demonstrates how autonomous agents can reason, use tools, call APIs, retrieve data, generate content, and coordinate multiple workers through graph-based control flow.
The repository is being organized as an agent platform instead of only a collection of scripts. Experimental agents live inside projects/, while shared platform code lives inside src/ai_agents/.
This gives the project a cleaner path toward:
ToolNode routing and then resume their own reasoning.| Agent | Name | Purpose | Key Tools / APIs |
|---|---|---|---|
| Agent 1 | Scraper Agent | Performs intelligent web research and extracts useful information from websites. | Tavily, Firecrawl |
| Agent 2 | Podcast Agent | Generates podcast-style content and converts text into speech. | ChatGroq, ElevenLabs, Streamlit |
| Agent 3 | Stock Agent | Analyzes market data, stock-related news, and financial insights. | Alpha Vantage, NSE, MoneyControl |
| Agent 4 | GitHub Agent | Automates repository tasks such as documentation, repo analysis, and GitHub workflows. | GitHub API, MCP SDK, PyGithub |
| Agent 5 | Notion Copilot | Helps with research, content structuring, and Notion workspace automation. | Notion API, Tavily, Firecrawl |
| Agent 6 | Agentic RAG | Performs retrieval-augmented generation over external knowledge sources. | Hugging Face |
| Agent 7 | Orchestration Worker Agent | Breaks complex user goals into independent subtasks, routes them to worker agents, and synthesizes outputs. | LangGraph Send API, ChatOpenAI, OpenRouter |
| Agent 8 |
The new projects/supervisor workflow demonstrates a proper supervisor-worker graph.
Flow:
User Input
|
Supervisor
|-- creates a plan
|-- selects ordered worker routes
v
Worker Agent
|-- coding
|-- research
|-- weather
v
Tool Routing
|-- if the worker requests a tool, run ToolNode
|-- return to the same worker after tool output
v
Synthesizer
|
Final Answer
Current worker nodes:
coding: programming, debugging, architecture, and code explanationsresearch: fact gathering, comparison, and general research-style reasoningweather: weather-related questions using the available weather toolThe supervisor returns a structured route list, for example:
routes = ["research", "coding"]
Each selected worker runs in order. If a worker calls a tool, tool_routing() sends the graph to ToolNode, then route_after_tool() returns the graph back to the worker that requested the tool. Once all selected workers finish, the synthesizer creates one final response.
Run it:
cd projects/supervisor
python app.py
Required environment variables:
OPENROUTER_API_KEY=replace_me
OPENROUTER_BASE_URL=replace_me
Ai_agents/
|-- src/
| `-- ai_agents/
| |-- core/
| | |-- base.py
| | |-- registry.py
| | `-- schemas.py
| |-- config/
| | `-- settings.py
| `-- cli.py
|-- projects/
| |-- scraper/
| |-- podcast/
| |-- stock/
| |-- github/
| |-- notion/
| |-- agentic_rag/
| |-- orchestration_workers/
| |-- supervisor/
| |-- travel/
| `-- deep_agent/
|-- public/
|-- projects/requirements.txt
|-- pyproject.toml
`-- README.md
src/ai_agents/This is the shared platform layer. It contains common contracts, configuration helpers, and registry logic used by future production-ready agents.
projects/This contains the experimental agents. These agents can be gradually migrated into the shared architecture without breaking the current code.
The target platform flow is:
User Input
|
AgentRequest
|
Agent Registry
|
Selected Agent
|
Tools / APIs / LLM / MCP
|
AgentResponse
|
CLI / FastAPI / Frontend
Every mature agent should eventually follow this contract:
class MyAgent(BaseAgent):
info = AgentInfo(
name="My Agent",
slug="my-agent",
description="What this agent does",
tools=["tool-a", "tool-b"],
)
def run(self, request: AgentRequest) -> AgentResponse:
...
git clone git@github.com:jenasuraj/Ai_agents.git
cd Ai_agents
python -m venv venv
For Windows:
venv\Scripts\activate
For macOS/Linux:
source venv/bin/activate
pip install -r projects/requirements.txt
For editable development:
pip install -e .
Keep your real keys only in a local .env file. The repository ignores .env files by default.
Example pattern:
OPENAI_API_KEY=replace_me
OPENROUTER_API_KEY=replace_me
OPENROUTER_BASE_URL=replace_me
TAVILY_API_KEY=replace_me
Only add the keys required by the agent you are running.
Run an existing experimental agent:
cd projects/scraper
python main.py
Run the supervisor agent:
cd projects/supervisor
python app.py
Run the platform CLI:
python -m ai_agents.cli
Some agents may use Streamlit:
streamlit run app.py
Recommended structure:
projects/my-new-agent/
|-- main.py
|-- tools.py
|-- prompts.py
|-- graph.py
`-- README.md
A good agent should have:
For production-style agents, use the shared base classes inside src/ai_agents/core/.
BaseAgent interfaceSuraj Jena
| Uses a supervisor node to plan, choose worker agents, route tool calls, and synthesize the final answer. |
| LangGraph, ToolNode, ChatOpenAI, OpenRouter |
| Agent 9 | Travel Agent | Creates travel plans with planning, tool usage, and structured frontend-friendly output. | LangGraph, ToolNode, Pydantic |
| Agent 10 | Deep Agent | Experimental deeper agent workflow split across app, state, and tool modules. | LangGraph, custom tools |