How edyoda/genai-aiagent works
This repository is a collection of GenAI agent examples rather than one unified application: standalone agents, MCP client/server demos, and document-processing experiments. The clearest user-to-result flow is a question entering an agent, which uses a model and tools before returning a response. The MCP demo adds OAuth-protected weather, document-search, and read-only SQL services. The README provides no feature map, so the graph preserves substantial modules listed in the source index; some subsystem links are omitted where sampled source does not establish runtime wiring.
Main entry points: docs_server/server.py Document search · config.py Server configuration · weather_server/server.py Weather tools · sql_server/server.py SQL analytics
Components 31
Agent examples
- Deep agent app
src/deepagents/main.py - Agent runtime
src/deepagents/agent.py - Model factory
src/deepagents/models.py - Custom tools
src/deepagents/tools.py - Skills agent
src/agent-with-skills/agent.py - Skills app
src/agent-with-skills/main.py - Human-review agent
src/hitl_agent/agent.py - Review models
src/hitl_agent/models.py - Review app
src/hitl_agent/main.py
MCP clients
- Codebase chat UI
src/mcp_codebase/streamlit_app.py - SQLite MCP client
src/mcp_codebase/sqlite_server/client.py - Tool demo client
src/mcp_codebase/test_servers/client.py - Model instance
src/mcp_codebase/model_instance.py - MCP demo client
src/projects/mcp-demo/client/main.py - MCP connections
src/projects/mcp-demo/client/mcp_connections.py - Client auth
src/projects/mcp-demo/client/auth.py
MCP services
- Server supervisor
src/projects/mcp-demo/server/main.py - OAuth issuer
src/projects/mcp-demo/server/auth_server/app.py - Server configuration
src/projects/mcp-demo/server/common/config.py - Token verifier
src/projects/mcp-demo/server/common/auth.py - Server runtime
src/projects/mcp-demo/server/common/serve.py - Request logging
src/projects/mcp-demo/server/common/logs.py - Weather tools
src/projects/mcp-demo/server/weather_server/server.py - Document search
src/projects/mcp-demo/server/docs_server/server.py - Document index store
src/projects/mcp-demo/server/docs_server/store.py - SQL analytics
src/projects/mcp-demo/server/sql_server/server.py - SQL database seeding
src/projects/mcp-demo/server/sql_server/seed_db.py
Document processing
- Document processing
src/projects/unstructured_documents/process_document.py - Response generation
src/projects/unstructured_documents/generate_response.py - Inference and vectors
src/projects/unstructured_documents/model_inference.py
Other components
- User
Connections 44
- User → Deep agent app: asks
src/deepagents/main.py - Deep agent app → Agent runtime: builds agent
src/deepagents/main.py - Deep agent app → Model factory: uses model
src/deepagents/main.py - Agent runtime → Model factory: builds with
src/deepagents/agent.py - Agent runtime → Custom tools: loads tools
src/deepagents/agent.py - Skills agent → Model factory: uses model
src/agent-with-skills/agent.py - Skills agent → Custom tools: uses tools
src/agent-with-skills/agent.py - Skills app → Agent runtime: uses runtime
src/agent-with-skills/main.py - Skills app → Model factory: uses model
src/agent-with-skills/main.py - Human-review agent → Review models: uses models
src/hitl_agent/agent.py - Review app → Human-review agent: uses agent
src/hitl_agent/main.py - Review app → Review models: uses models
src/hitl_agent/main.py - Codebase chat UI → SQLite MCP client: invokes
src/mcp_codebase/streamlit_app.py - Codebase chat UI → Tool demo client: invokes
src/mcp_codebase/streamlit_app.py - SQLite MCP client → Model instance: uses model
src/mcp_codebase/sqlite_server/client.py - Tool demo client → Model instance: uses model
src/mcp_codebase/test_servers/client.py - User → MCP demo client: asks
src/projects/mcp-demo/client/main.py - MCP demo client → Agent runtime: uses agent
src/projects/mcp-demo/client/main.py - MCP demo client → Model factory: uses model
src/projects/mcp-demo/client/main.py - MCP demo client → MCP connections: opens connections
src/projects/mcp-demo/client/main.py - MCP connections → Client auth: uses auth
src/projects/mcp-demo/client/mcp_connections.py - Server supervisor → OAuth issuer: starts service
src/projects/mcp-demo/server/main.py - Server supervisor → Weather tools: starts service
src/projects/mcp-demo/server/main.py - Server supervisor → Document search: starts service
src/projects/mcp-demo/server/main.py - Server supervisor → SQL analytics: starts service
src/projects/mcp-demo/server/main.py - OAuth issuer → Server configuration: reads settings
src/projects/mcp-demo/server/auth_server/app.py - Token verifier → Server configuration: reads settings
src/projects/mcp-demo/server/common/auth.py - Server runtime → Server configuration: reads settings
src/projects/mcp-demo/server/common/serve.py - Weather tools → Token verifier: configures auth
src/projects/mcp-demo/server/weather_server/server.py - Weather tools → Server configuration: reads settings
src/projects/mcp-demo/server/weather_server/server.py - Weather tools → Request logging: uses logging
src/projects/mcp-demo/server/weather_server/server.py - Weather tools → Server runtime: runs through
src/projects/mcp-demo/server/weather_server/server.py - Document search → Token verifier: configures auth
src/projects/mcp-demo/server/docs_server/server.py - Document search → Server configuration: reads settings
src/projects/mcp-demo/server/docs_server/server.py - Document search → Request logging: uses logging
src/projects/mcp-demo/server/docs_server/server.py - Document search → Document index store: searches index
src/projects/mcp-demo/server/docs_server/server.py - Document search → Server runtime: runs through
src/projects/mcp-demo/server/docs_server/server.py - SQL analytics → Token verifier: configures auth
src/projects/mcp-demo/server/sql_server/server.py - SQL analytics → Server configuration: reads settings
src/projects/mcp-demo/server/sql_server/server.py - SQL analytics → Request logging: uses logging
src/projects/mcp-demo/server/sql_server/server.py - SQL analytics → Server runtime: runs through
src/projects/mcp-demo/server/sql_server/server.py - SQL database seeding → Server configuration: reads settings
src/projects/mcp-demo/server/sql_server/seed_db.py - Document processing → Inference and vectors: uses inference
src/projects/unstructured_documents/process_document.py - Response generation → Inference and vectors: uses inference
src/projects/unstructured_documents/generate_response.py