github re-analysis due

OpenStudy-dev/OpenStudy

github

Self-hostable study dashboard with a built-in MCP server, so that your Claude/ChatGPT subscription becomes x10 more effective for your semester

maintainer
OpenStudy-dev
license
MIT
first seen
2026-06-01
last seen
2026-06-04
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport streamable-http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

no tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 4eab7ba · analyzer v17 · 2d ago

danger signals3

code evidence vv0.7.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 9

  • fs OpenStudy-dev-OpenStudy-4eab7ba/app/db.py :108 await _pool.open()
  • fs OpenStudy-dev-OpenStudy-4eab7ba/app/main.py :4 from pathlib import Path
  • fs OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :1065 doc = fitz.open(stream=data, filetype="pdf")
  • fs OpenStudy-dev-OpenStudy-4eab7ba/app/services/email.py :14 from pathlib import Path
  • fs OpenStudy-dev-OpenStudy-4eab7ba/app/services/file_index.py :19 from pathlib import Path
  • fs OpenStudy-dev-OpenStudy-4eab7ba/app/services/storage.py :31 import shutil
  • fs OpenStudy-dev-OpenStudy-4eab7ba/app/services/telegram.py :10 from pathlib import Path
  • fs OpenStudy-dev-OpenStudy-4eab7ba/scripts/index_files.py :15 from pathlib import Path
  • fs OpenStudy-dev-OpenStudy-4eab7ba/scripts/run_migrations.py :26 from pathlib import Path

network 6

  • net OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :1102 import httpx
  • net OpenStudy-dev-OpenStudy-4eab7ba/app/routers/files.py :23 import httpx
  • net OpenStudy-dev-OpenStudy-4eab7ba/app/routers/oauth.py :16 from urllib.parse import quote, urlencode
  • net OpenStudy-dev-OpenStudy-4eab7ba/app/routers/settings.py :3 import httpx
  • net OpenStudy-dev-OpenStudy-4eab7ba/app/services/storage.py :35 from urllib.parse import quote
  • net OpenStudy-dev-OpenStudy-4eab7ba/app/services/telegram.py :14 import httpx

secrets 5

  • secrets OpenStudy-dev-OpenStudy-4eab7ba/app/db.py :82 pw = os.environ["POSTGRES_PASSWORD"]
  • secrets OpenStudy-dev-OpenStudy-4eab7ba/app/routers/internal.py :27 expected = os.environ.get("INTERNAL_API_SECRET", "").strip()
  • secrets OpenStudy-dev-OpenStudy-4eab7ba/app/tools/hashpw.py :8 import getpass
  • secrets OpenStudy-dev-OpenStudy-4eab7ba/scripts/run_migrations.py :36 pw = os.environ["POSTGRES_PASSWORD"]
  • secrets OpenStudy-dev-OpenStudy-4eab7ba/scripts/seed_operator_password.py :34 app_pw_hash = os.environ.get("APP_PASSWORD_HASH", "").strip()

tool registrations 45

  • get_dashboard OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :127
  • get_fall_behind OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :141
  • list_courses OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :158
  • get_course OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :165
  • create_course OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :172
  • delete_course OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :220
  • update_course OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :231
  • list_schedule_slots OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :273
  • create_schedule_slot OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :282
  • update_schedule_slot OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :321
  • delete_schedule_slot OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :350
  • list_exams OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :361
  • update_exam OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :371
  • list_study_topics OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :407
  • create_study_topic OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :424
  • update_study_topic OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :466
  • mark_studied OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :500
  • set_confidence OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :507
  • add_lecture_topics OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :519
  • delete_study_topic OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :570
  • list_deliverables OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :583
  • create_deliverable OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :606
  • update_deliverable OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :641
  • mark_deliverable_submitted OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :669
  • delete_deliverable OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :676
  • list_tasks OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :688
  • create_task OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :713
  • update_task OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :738
  • complete_task OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :763
  • reopen_task OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :769
  • delete_task OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :775
  • list_lectures OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :786
  • create_lecture OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :795
  • update_lecture OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :829
  • mark_lecture_attended OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :853
  • delete_lecture OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :859
  • reopen_deliverable OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :868
  • list_events OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :876
  • record_event OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :893
  • get_app_settings OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :916
  • update_app_settings OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :927
  • now_here OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :960
  • list_course_files OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :979
  • read_course_file OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :1020
  • notify_telegram OpenStudy-dev-OpenStudy-4eab7ba/app/mcp_tools.py :1081

declared dependencies 3

  • fastapi@>=0.115
  • pydantic@>=2.9
  • pydantic-settings@>=2.6