LineSight
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LineSightwhich shift on line-2 has the quality problem?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LineSight
An MCP server that turns plant-floor data into continuous-improvement insight.
LineSight gives an AI assistant the same toolkit a CI engineer carries onto the shop floor — OEE math, downtime Pareto analysis, SPC control charts, and yield-loss dollars — exposed through Anthropic's Model Context Protocol. Ask it "why is line-3 slowing down?" and it doesn't guess: it pulls the control chart, finds the Western Electric violations, checks the downtime log, and answers with evidence.
Built by a CI/OE practitioner (marcoaguzmanjr.com) to bring the DMAIC discipline of the factory floor to AI tooling: every number the model reports traces back to a formula in plant/analytics.py.
What you can ask it
> /daily_huddle line-1 # 3-minute tier-1 meeting brief, built from live data
> /dmaic line-2 # full Define-Measure-Analyze-Improve-Control investigation
> /a3_report line-3 # one-page A3 problem-solving report
> why is @line-3 slowing down? # @-mention a line to inject its KPI snapshot
> which shift on line-2 has the quality problem, and what is it costing us per year?The kind of exchange this produces (every number below is what the tools actually return on the demo dataset):
You: which shift on line-2 has the quality problem?
Claude: (calls
get_oeewithline_id=line-2, group_by=shift) Shift C. Its quality rate is 96.8% vs ~98.8% on shifts A and B — roughly 3× the scrap. (callsget_yield_loss) At standard cost that's about $480K annualized across the line, with shift C driving the majority. Worth checking what's different on C: staffing, changeover timing, or equipment settings that drift outside day-shift support hours.
Related MCP server: Predictive Maintenance MCP Server
The three MCP primitives, applied
Primitive | What LineSight exposes |
Tools (model-controlled) |
|
Resources (app-controlled) |
|
Prompts (user-controlled) |
|
The split matters: analysis lives in tools so the model can chain them freely; context the user chooses to bring in (an @-mentioned line) comes from resources; and multi-step CI rituals with a defined shape (a DMAIC, an A3) ship as prompts so they run the same way every time.
flowchart LR
U[You] --> CLI[Chat CLI<br/>prompt-toolkit]
CLI --> C[Claude<br/>Anthropic API]
C <-->|MCP stdio| S[LineSight MCP server<br/>FastMCP]
S --> A[analytics.py<br/>OEE · Pareto · SPC · yield $]
A --> D[(production_log.csv<br/>downtime_log.csv)]
S --> R[(action_register.json)]The demo dataset tells a story
data/ holds 90 days of seeded, reproducible shift-level records for a
three-line condiment plant (810 production records, ~2,300 downtime events).
Three problems are hidden in it — the same patterns you'd hunt for in a real
plant:
line-2 bleeds availability to changeovers — one reason code carries ~52% of all downtime minutes. A Pareto finds it instantly.
line-2, shift C has a quality problem — scrap runs ~3× the other shifts (cap-seal torque drift). Invisible in the line-level average; obvious the moment you group by shift.
line-3 is degrading, not broken — filler-head bearing wear drags performance down over the final three weeks. No single bad day; the SPC chart catches the run below center line and the cascade of below-LCL points that a "top losses yesterday" report would miss.
Regenerate identical data anytime: python -m plant.data_gen (seeded).
Quick start
Requires Python 3.10+ and an Anthropic API key.
git clone https://github.com/marcoaguzman/linesight.git && cd linesight
python3 -m venv .venv && source .venv/bin/activate
pip install "anthropic>=0.51.0" "mcp[cli]>=1.8.0" "prompt-toolkit>=3.0.51" "python-dotenv>=1.1.0"
cp .env.example .env # then add your ANTHROPIC_API_KEY
python main.pyOr with uv: uv sync, set USE_UV=1 in .env,
then uv run main.py.
Verify without an API key
The smoke test drives every tool, resource, and prompt over a real MCP stdio connection — no Anthropic key needed:
python scripts/smoke_test.py # 18 checks, should all PASSUse it from Claude Desktop instead
LineSight is a standard MCP server, so any MCP client can host it. For Claude
Desktop, add to claude_desktop_config.json:
{
"mcpServers": {
"linesight": {
"command": "/absolute/path/to/linesight/.venv/bin/python",
"args": ["/absolute/path/to/linesight/mcp_server.py"]
}
}
}Project structure
linesight/
├── mcp_server.py # the MCP server: 7 tools, 4 resources, 3 prompts
├── mcp_client.py # generic MCP stdio client
├── main.py # chat CLI entry point
├── core/ # chat loop, Claude wrapper, tool dispatch, terminal UI
├── plant/
│ ├── analytics.py # OEE, Pareto, XmR control charts, yield-loss math
│ ├── store.py # CSV-backed data layer (swap for a historian/MES)
│ └── data_gen.py # seeded demo-data generator
├── data/ # the demo dataset (committed, reproducible)
└── scripts/smoke_test.pySwapping the demo CSVs for a real historian or MES connection only touches
plant/store.py — the MCP surface stays identical.
Credits
The chat-client scaffolding (core/, mcp_client.py) is adapted from the
project built in Anthropic's MCP course;
the plant domain — server, analytics, dataset — is original work.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marcoaguzman/linesight'
If you have feedback or need assistance with the MCP directory API, please join our Discord server