A production-ready LangGraph agent platform with MCP tool integrations, multi-agent orchestration, voice interaction, Streamlit UI, and rich CLI for building intelligent AI assistants.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http · sse counts 6 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
calculator
-
convert_timezone
-
get_current_datetime
-
read_csv
-
read_excel
-
read_text_file
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 78b2374 · analyzer v33 · 4w ago
danger signals3
- over-broad OAuth scope https://www.googleapis.com/auth/drive thisisrobyn-nova-agent-78b2374/connections/providers.py :73
"https://www.googleapis.com/auth/drive", - over-broad OAuth scope https://www.googleapis.com/auth/spreadsheets thisisrobyn-nova-agent-78b2374/connections/providers.py :74
"https://www.googleapis.com/auth/spreadsheets", - over-broad OAuth scope https://www.googleapis.com/auth/documents thisisrobyn-nova-agent-78b2374/connections/providers.py :75
"https://www.googleapis.com/auth/documents",
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 168
filesystem 11
- fs thisisrobyn-nova-agent-78b2374/agent/llm.py :15
from pathlib import Path - fs thisisrobyn-nova-agent-78b2374/api/routes.py :8
from pathlib import Path - fs thisisrobyn-nova-agent-78b2374/api/system_metrics.py :20
import shutil - fs thisisrobyn-nova-agent-78b2374/connections/crypto.py :16
from pathlib import Path - fs thisisrobyn-nova-agent-78b2374/connections/store.py :14
from pathlib import Path - fs thisisrobyn-nova-agent-78b2374/memory/database.py :13
from pathlib import Path - fs thisisrobyn-nova-agent-78b2374/memory/rag/ingestion.py :10
import shutil - fs thisisrobyn-nova-agent-78b2374/nova_mcp/client.py :11
from pathlib import Path - fs thisisrobyn-nova-agent-78b2374/scheduler/store.py :11
from pathlib import Path - fs (weak) thisisrobyn-nova-agent-78b2374/scripts/fetch_roadmap.py :24
from pathlib import Path - fs thisisrobyn-nova-agent-78b2374/tools/files.py :9
from pathlib import Path
shell / exec 4
- shell thisisrobyn-nova-agent-78b2374/agent/ollama_service.py :17
import subprocess - shell thisisrobyn-nova-agent-78b2374/agent/ui_formatter.py :267
os.system("mode con: cols=120 lines=40") - shell thisisrobyn-nova-agent-78b2374/api/system_metrics.py :21
import subprocess - shell thisisrobyn-nova-agent-78b2374/tools/code_executor.py :17
import subprocess
network 14
- net thisisrobyn-nova-agent-78b2374/agent/llm.py :18
import httpx - net thisisrobyn-nova-agent-78b2374/agent/ollama_service.py :20
import httpx - net thisisrobyn-nova-agent-78b2374/api/auth.py :14
import httpx - net thisisrobyn-nova-agent-78b2374/api/github_roadmap.py :13
import httpx - net thisisrobyn-nova-agent-78b2374/api/main.py :167
import httpx - net thisisrobyn-nova-agent-78b2374/api/routes.py :11
import httpx - net thisisrobyn-nova-agent-78b2374/connections/github_app.py :16
import httpx - net thisisrobyn-nova-agent-78b2374/connections/oauth.py :21
from urllib.parse import urlencode - net thisisrobyn-nova-agent-78b2374/nova_a2a/client.py :83
import httpx - net thisisrobyn-nova-agent-78b2374/nova_a2a/registry.py :236
import httpx - net thisisrobyn-nova-agent-78b2374/nova_mcp/servers/_common.py :15
import httpx - net (weak) thisisrobyn-nova-agent-78b2374/tests/test_connections.py :6
from urllib.parse import parse_qs, urlparse
show 2 more
- net (weak) thisisrobyn-nova-agent-78b2374/tests/test_llm_config.py :10
import httpx - net (weak) thisisrobyn-nova-agent-78b2374/tests/test_streaming.py :86
import httpx
secrets 4
- secrets thisisrobyn-nova-agent-78b2374/agent/llm.py :100
OPENAI_API_KEY: str = os.getenv("OPENAI_API_KEY", "") - secrets thisisrobyn-nova-agent-78b2374/api/github_roadmap.py :98
token = os.getenv("GITHUB_TOKEN", "") - secrets thisisrobyn-nova-agent-78b2374/connections/crypto.py :30
env_key = os.getenv("NOVA_ENCRYPTION_KEY") - secrets thisisrobyn-nova-agent-78b2374/tools/web_search.py :20
api_key = os.getenv("TAVILY_API_KEY", "").strip()
tool registrations 6
- calculator thisisrobyn-nova-agent-78b2374/nova_mcp/server.py :30
- get_current_datetime thisisrobyn-nova-agent-78b2374/nova_mcp/server.py :42
- convert_timezone thisisrobyn-nova-agent-78b2374/nova_mcp/server.py :50
- read_csv thisisrobyn-nova-agent-78b2374/nova_mcp/server.py :58
- read_excel thisisrobyn-nova-agent-78b2374/nova_mcp/server.py :66
- read_text_file thisisrobyn-nova-agent-78b2374/nova_mcp/server.py :74
declared dependencies 30
- fastmcp@>=3.0.2
- mcp@>=1.0
- langchain@>=1.1.3
- langchain-ollama@>=0.3.2
- langchain-openai@>=0.2.0
- langchain-anthropic@>=0.3.0
- langchain-community@>=0.3.0
- langchain-text-splitters@>=0.3.0
- langgraph@>=1.0.4
- langgraph-prebuilt@>=1.0.5
- langchain-mcp-adapters@>=0.1.0
- httpx@>=0.28.0
show 18 more
- python-dotenv@>=1.2.1
- streamlit@>=1.54.0
- pandas@>=2.3.3
- openpyxl@>=3.1.5
- tiktoken@>=0.5.0
- fastapi@>=0.115.0
- uvicorn@>=0.34.0
- python-jose@>=3.4.0
- chromadb@>=1.0.0
- langchain-chroma@>=0.2.0
- pymupdf@>=1.25.0
- tavily-python@>=0.5.0
- duckduckgo-search@>=7.0.0
- aiosqlite@>=0.20.0
- apscheduler@>=3.10,<4
- sqlalchemy@>=2.0.0
- structlog@>=24.1.0
- psutil@>=6.0.0