PyADM1ODE
by dgaida
Overview
Modeling, simulating, and optimizing agricultural biogas plants using the Anaerobic Digestion Model No. 1 (ADM1), with an MCP server for LLM-driven configuration and control.
Installation
python -m pyadm1.configurator.mcp.serverEnvironment Variables
- OPENAI_API_KEY
- PG_HOST
- PG_PORT
- PG_DATABASE
- PG_USERNAME
- PG_PASSWORD
Security Notes
CRITICAL: The project relies on dynamic loading and execution of external C# DLLs (`biogas`, `substrates`, `plant`, `physchem` DLLs) using Pythonnet (`clr`). The source code for these DLLs is referenced as a separate repository and is not provided for audit within this codebase, introducing a significant supply chain security risk. A malicious or compromised DLL could execute arbitrary code on the system. Additionally, the `pg_dump` utility is called via `subprocess` for database backups, which can be a command injection risk if inputs (like `filepath` or connection string components) are not thoroughly sanitized. While the FastMCP LLM integration appears to expose well-defined tools, potential vulnerabilities in these underlying functions could be exploited by a malicious LLM prompt or compromised LLM.
Similar Servers
npcpy
A comprehensive Python library and framework for building, evaluating, and serving LLM-powered agents and multi-agent systems, integrating fine-tuning capabilities, knowledge graphs, and scalable model operations, with a built-in Flask API server for deployment.
ros-mcp-server
Connects large language models (LLMs) with ROS/ROS2 robots, enabling natural language control and real-time observation without modifying robot code.
abcoder
An AI-oriented code processing framework that parses code into a universal AST, and provides tools for LLMs to understand and interact with code repositories for AI-assisted programming tasks like reviewing, optimizing, or translating code.
LLMling
A framework for declarative LLM application development, focusing on structured resource management, prompt templating, and tool execution.