Supplyline MCP
Click on "Deploy 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., "@Supplyline MCP what could stop the Aurora Headset launch?"
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.
Supplyline MCP
An MCP server that lets an AI agent answer supply chain questions, such as "what could stop the headset launch?", by calling real tools over supplier, purchase order, inventory, and bill of materials data. Every answer comes back with the IDs of the records it used, so the agent can cite them and a supply manager can check them.
The sample dataset is synthetic: three invented products (Aurora Phone, Aurora Headset, Aurora Watch), ten invented suppliers, 19 parts, and 137 purchase orders, generated from a fixed seed.
Why I built it
Supply managers spend a lot of their week answering the same questions by pulling reports and cross-checking spreadsheets. Which parts are single-sourced? Which POs are late? What happens if one supplier slips? An LLM can answer these well, but only if it reads the actual data instead of guessing. MCP is the standard way to give an agent that access. I wanted to see what the tools need to look like so an agent's answers can be trusted.
The design choices that came out of that:
Every result carries
sources. Part, supplier and PO IDs, so the agent can cite where each fact came from, and a test checks that every cited ID really exists.Read-only. No tool can change data.
Answers explain themselves.
supply_risksdoesn't just return a score. It returns the reasons ("single source", "2.0 weeks of stock vs a 3.0-week lead time", "1 overdue PO, 100 days late") in plain words that a supply manager can act on.Bad input is a helpful error, not a crash. Ask for supplier
S7and the agent gets backUnknown supplier 'S7'. Did you mean: S07?, so it can correct itself.
Related MCP server: ProcureFlow MCP Server
Tools
Tool | What it answers |
| Which parts are most at risk, ranked, with reasons: single sourcing, stock that won't last through the lead time, overdue POs, unreliable suppliers |
| What-if: if this supplier slips N days, which parts and products could run out, and is there a backup supplier? |
| Lead time, quality (defects per million), on-time delivery rate, open and overdue POs, and the parts only this supplier makes |
| Bill of materials cost roll-up and the top cost drivers |
| Open, overdue or late POs, most late first |
| Find parts by name, category or ID |
It also exposes a supplyline://products resource and a weekly_supply_review prompt that walks an agent through a full review: risks, then scorecards for the suppliers behind them, then a delay simulation.
Example
What supply_risks returns for {"product": "Aurora Headset", "limit": 3} (trimmed):
{
"product": "Aurora Headset",
"at_risk_count": 9,
"risks": [
{"part_id": "P115", "name": "Li-ion cell, 4,800 mAh", "risk_score": 12,
"reasons": ["single source (Bluefin Batteries)", "2.0 weeks of stock vs 3.0-week lead time",
"1 overdue PO(s), worst 100 days late", "primary supplier on-time rate 69%"],
"alternate_suppliers": []},
{"part_id": "P102", "name": "Application processor", "risk_score": 9,
"reasons": ["single source (Kestrel Semiconductors)", "4.0 weeks of stock vs 10.0-week lead time",
"primary supplier on-time rate 78%"],
"alternate_suppliers": []},
{"part_id": "P110", "name": "Retail box and inserts", "risk_score": 9,
"reasons": ["2.0 weeks of stock vs 4.0-week lead time", "1 overdue PO(s), worst 56 days late",
"primary supplier on-time rate 75%"],
"alternate_suppliers": ["S06"]}
],
"sources": ["P115", "S03", "PO5118", "P102", "S02", "P110", "S10", "PO5084"]
}And simulate_delay("S03", 60) flags P115 as a stockout risk for the Aurora Headset, with no alternate supplier.
Run it
Needs Python 3.10 or newer.
pip install -e .
supplyline-mcp # starts the server over stdioTo use it from Claude Desktop, add this to claude_desktop_config.json and restart:
{
"mcpServers": {
"supplyline": { "command": "supplyline-mcp" }
}
}To use your own data, put CSVs with the same columns in a folder and set SUPPLYLINE_DATA=/path/to/folder. To regenerate the sample data: python src/supplyline/generate_data.py.
Tests
pip install -e ".[dev]"
pytestUnit tests for each tool: cost roll-ups add up, overdue POs really are overdue, risks are sorted and explained, and every cited source ID exists in the data.
Golden questions (
tests/test_golden.py): questions a supply manager would ask, the tool call an agent should make, and the fact the answer must contain. If a change breaks one, CI fails.End-to-end MCP tests (
tests/test_server.py): start the real server over stdio and call it the way Claude Desktop would, including checking that bad input comes back as a tool error.
CI runs everything on Python 3.10, 3.11 and 3.12.
Simplifications
The stockout check in simulate_delay assumes the delayed supplier's share of demand has to be covered by stock on hand. It doesn't model partial shipments or expediting. The risk score uses fixed weights. Both are easy to swap out, and a real deployment would tune them with supply managers.
Available Tools
6 toolsbom_costC
Roll up the bill of materials cost for a product and show the biggest cost drivers.
Inputs: product (required), units.
purchase_ordersA
List purchase orders, most late first. state is "open" (not yet received), "overdue", "late" (any PO that arrived or is running late), or "all".
Inputs: limit, state, part_id, supplier_id.
search_partsB
Find parts by name, category, or part ID (for example "battery", "Display", or "P104").
Inputs: query (required), limit.
simulate_delayA
What-if: if this supplier's shipments slip by N days, which parts and products could run out?
Inputs: days (required), supplier_id (required).
supplier_scorecardB
Lead time, quality (defects per million), on-time delivery rate, open and overdue POs, and sole-source parts for one supplier.
Inputs: supplier_id (required).
supply_risksA
Rank parts by supply risk, with the reasons: single sourcing, stock that won't last through the lead time, overdue POs, and unreliable suppliers. Leave product empty to check every part.
Inputs: limit, product.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a clearly distinct supply-chain question: part lookup, supplier performance, purchase order status, BOM cost, risk ranking, and delay simulation. There is no meaningful overlap between tools, so an agent can select the right one directly from its purpose.
All names use consistent snake_case and are readable, but the convention is mixed between verb_noun (search_parts, simulate_delay) and compound noun phrases (supplier_scorecard, purchase_orders, bom_cost, supply_risks). This is a minor stylistic deviation rather than a confusing inconsistency.
Six tools is well-scoped for a supply-chain analytics server, with each tool covering a distinct analysis task. The surface is focused rather than padded or thin.
The set covers key workflows: finding parts, evaluating suppliers, tracking POs, rolling up BOM cost, ranking risks, and simulating delays. Minor gaps exist around direct inventory/stock queries and richer part or supplier detail, but agents can largely work around them through the existing tools.
Maintenance
Related MCP Connectors
Read-only finance and operations controls for AI agents with evidence and safe next actions.
Read-only by architecture: ask AI about QuickBooks, Xero and NetSuite, across every entity.
Agent-native supply network for components, fabrication, industrial RFQs, offers, and fulfillment.
Read-only AI coding tools for change verification, release readiness, capacity, and guidance.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to search, retrieve, and answer grounded questions over procurement documents (invoices, purchase orders, contracts, etc.) using hybrid SQL and vector retrieval.-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query and manage ERP procurement data, including suppliers, parts, inventory, and purchase orders, with human approval for write operations.-
- FlicenseNot gradedqualityCmaintenanceEnables natural-language supply-chain analysis over synthetic datasets through governed SQL/Python tools, providing supplier scorecards, forecast accuracy, risk detection, landed-cost comparisons, capacity planning, and quality trend insights without the LLM performing quantitative calculations.-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query and operate on ERP data through a unified tool interface, working across CSV exports, SFTP drop folders, SQLite/ODBC, and optional enterprise APIs. It supports purchase orders, vendors, and inventory lookups while keeping agent-facing tools consistent regardless of backend.MIT