llm-as-a-teacher
by martin-prillard
Overview
An intelligent tool that uses Large Language Models (LLMs) to evaluate student GitHub projects against project descriptions.
Installation
./run.shEnvironment Variables
- OPENAI_API_KEY
- GITHUB_TOKEN
- PORT
- GRADIO_SHARE
Security Notes
The server uses `subprocess.run` to `git clone` arbitrary GitHub repository URLs provided by the user. While `subprocess.run` with a list of arguments is safer than shell injection, cloning and processing code from untrusted external sources (student projects) without a robust sandboxing mechanism poses a moderate security risk to the host system. Malicious repositories could potentially exploit vulnerabilities in the Git client or other tools, or contain harmful files. There are no direct `eval` calls or hardcoded secrets, and API calls are to standard services (GitHub, OpenAI). Input files (project descriptions) are parsed by established libraries, but handling of `description_file.name` in the Gradio app might warrant extra caution depending on Gradio's internal handling of uploaded file paths.
Similar Servers
context7
Provides up-to-date, version-specific documentation and code examples to Large Language Models (LLMs) and AI coding assistants to improve code generation accuracy and relevance, preventing outdated or hallucinated information.
mcp
Provides AI assistants with direct, secure access to the latest official Microsoft documentation to prevent hallucinations and verify code.
cortexgraph
A Model Context Protocol (MCP) server providing AI assistants with ephemeral, local short-term memory, temporal decay, reinforcement, and automatic promotion to long-term storage.
Skolverket-MCP
Provides AI assistants access to Skolverket's open APIs (Curriculum, School Units, Planned Educations) to search, find, compare, and analyze educational data and statistics.