mrugankpednekar-mcp-optimizer
RemoteAbout mrugankpednekar-mcp-optimizer
Crew Optimizer provides optimization tools and agents for CrewAI workflows, solving linear and mixed-integer programs and translating natural-language descriptions into models. It can be embedded in crews, called programmatically, or run as an MCP server.
Key features
- 01Solve linear programs with SciPy HiGHS
- 02Solve mixed-integer models
- 03Parse natural language into LP JSON
- 04Diagnose infeasible models
- 05Use CSV, JSON, and Excel data
Use cases
- 01Optimize crew or workforce schedules
- 02Allocate resources using a data file
- 03Investigate why an optimization model is infeasible
MCP support
Its MCP server exposes tools for linear and mixed-integer solving, natural-language parsing, infeasibility diagnosis, and solving word problems using file data.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://server.smithery.ai/@mrugankpednekar/mcp-optimizer/mcpclaude mcp add --transport http ai-smithery-mrugankpednekar-mcp-optimizer https://server.smithery.ai/@mrugankpednekar/mcp-optimizer/mcp{"mcpServers":{"ai-smithery-mrugankpednekar-mcp-optimizer":{"type":"http","url":"https://server.smithery.ai/@mrugankpednekar/mcp-optimizer/mcp"}}}Open in Cursor{"servers":{"ai-smithery-mrugankpednekar-mcp-optimizer":{"type":"http","url":"https://server.smithery.ai/@mrugankpednekar/mcp-optimizer/mcp"}}}Open in VS Code{"mcpServers":{"ai-smithery-mrugankpednekar-mcp-optimizer":{"type":"http","url":"https://server.smithery.ai/@mrugankpednekar/mcp-optimizer/mcp"}}}{"mcpServers":{"ai-smithery-mrugankpednekar-mcp-optimizer":{"serverUrl":"https://server.smithery.ai/@mrugankpednekar/mcp-optimizer/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://server.smithery.ai/@mrugankpednekar/mcp-optimizer/mcpAuth requiredTools
Details
From the project READMECrew 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 3333using the bundled startup script. - The server exposes the following tools:
solve_linear_programsolve_mixed_integer_programparse_natural_languagediagnose_infeasibilitysolve_word_problem_with_data- Solve optimization problems using data from files
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.
Solving Word Problems with Data Files
The MCP server includes a solve_word_problem_with_data tool that can parse data files (CSV, JSON, Excel) and use them to solve optimization word problems. This is particularly useful when you have data in files and want to formulate and solve optimization problems based on that data.
Example Usage
# Example: Solve a production planning problem with data from a CSV file
csv_data = """product,cost,capacity,demand
Widget,10,100,50
Gadget,15,80,60
Thing,12,120,40"""
problem = """
Minimize total cost subject to:
- Production of each product cannot exceed capacity
- Production must meet demand
- All production quantities are non-negative
"""
# The tool will parse the CSV, extract the cost, capacity, and demand values,
# and formulate the optimization problem automatically.
The tool supports:
- CSV/TSV files: Automatically detects and parses comma or tab-separated values
- JSON files: Parses JSON arrays or objects
- Excel files: Requires
pandasandopenpyxl(install withpip install crew-optimizer[excel]) - Auto-detection: Automatically detects file format if not specified
The parsed data is incorporated into the problem description, allowing the natural language parser to extract values and formulate constraints and objective functions based on the actual data.
Licence
Distributed under the MIT Licence. See LICENSE for details.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.