
mrugankpednekar-mcp-optimizer
ai.smithery/mrugankpednekar-mcp-optimizer
Optimize crew and workforce schedules, resource allocation, and routing with linear and mixed-inte…
Documentation
Crew Optimizer
Crew Optimizer rebuilds the original optimisation project around the CrewAI ecosystem. It provides reusable CrewAI tools and agents capable of solving linear programs via SciPy's HiGHS backend, exploring mixed-integer models with a lightweight branch-and-bound search (or OR-Tools fallback), translating natural language prompts into LP JSON, and diagnosing infeasibility. You can embed the tools inside your own crews or call them programmatically through the OptimizerCrew
convenience wrapper, or serve them over the MCP protocol for clients such as Smithery.
Installation
python -m venv .venv
source .venv/bin/activate
pip install -e .[mip]
This installs Crew Optimizer together with optional OR-Tools support for MILP solving. Add pytest
, ruff
, or other dev tools as needed (pip install pytest
).
Quick Usage
from crew_optimizer import OptimizerCrew
crew = OptimizerCrew(verbose=False)
lp_model = {
"name": "diet-toy",
"sense": "min",
"objective": {
"terms": [
{"var": "x", "coef": 3},
{"var": "y", "coef": 2},
],
"constant": 0,
},
"variables": [
{"name": "x", "lb": 0},
{"name": "y", "lb": 0},
],
"constraints": [
{
"name": "c1",
"lhs": {
"terms": [
{"var": "x", "coef": 1},
{"var": "y", "coef": 2},
],
"constant": 0,
},
"cmp": ">=",
"rhs": 8,
},
{
"name": "c2",
"lhs": {
"terms": [
{"var": "x", "coef": 3},
{"var": "y", "coef": 1},
],
"constant": 0,
},
"cmp": ">=",
"rhs": 6,
},
],
}
solution = crew.solve_lp(lp_model)
print(solution)
To integrate with a wider multi-agent workflow, call crew.build_crew()
to obtain a Crew
populated with the LP, MILP, and parser agents. Provide model inputs through CrewAI’s shared context as usual.
MCP / Smithery Hosting
Crew Optimizer ships an MCP server (python -m crew_optimizer.server
) that wraps the same solvers. The repository already contains a Smithery manifest (smithery.json
) and build config (smithery.yaml
).
- Push the repository to GitHub.
- In Smithery, choose Publish an MCP Server, connect GitHub, and select the repo.
- Smithery installs the package (
pip install .
) and launchesmcp http src/crew_optimizer/server.py --port 3333
using the bundled startup script. - The server exposes the following tools:
solve_linear_program
solve_mixed_integer_program
parse_natural_language
diagnose_infeasibility
For local testing:
mcp http src/crew_optimizer/server.py --port 3333 --cors "*"
Testing
Install test dependencies (pip install pytest
) and run:
python -m pytest
The suite covers the LP solver, MILP branch-and-bound, and the NL parser.
Licence
Distributed under the MIT Licence. See LICENSE
for details.
No installation packages available.