ERP-lite MCP Server
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., "@ERP-lite MCP ServerCheck inventory levels for material M-100"
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.
ERP-lite MCP Server
An enterprise-ready Model Context Protocol (MCP) server that exposes ERP functionalities to AI agents. Built as a portfolio project to demonstrate AI/ML maturity, this project features a realistic data schema and a critical human-in-the-loop workflow for write actions.
Overview
As enterprise AI adoption accelerates, providing LLMs with direct read/write access to ERPs is becoming essential. However, autonomous agents should not execute consequential operations (like creating purchase orders or altering system configurations) without human oversight.
This server demonstrates a robust "human-in-the-loop" pattern:
The AI agent can query open sales orders, check inventory levels, and identify low-stock items using its read-only tools.
When an agent decides to replenish stock, it can only propose a purchase requisition in a
pending_approvalstate.The agent cannot approve its own requisition. A human must intervene to approve it.
Related MCP server: PyerP MCP Server
Architecture
graph TD
Client[Claude Desktop / Custom Client] -->|MCP (stdio or SSE HTTP)| FastMCP[FastMCP Server]
FastMCP -->|SQLAlchemy| DB[(PostgreSQL Database)]
DB --> Seed[Seed Data]Quick Start (Docker)
To get started quickly, run the entire stack with Docker Compose:
docker compose upThis spins up:
A PostgreSQL database (pre-seeded with realistic enterprise data for sales orders, inventory, and requisitions).
The MCP server exposing SSE transport at
http://localhost:8000/sse.
Tools Exposed
get_open_orders(status="open", limit=20): Retrieves a list of sales orders by status.check_inventory(material_id): Checks the inventory level and computes if it's below the reorder point.get_low_stock_items(): Intelligent query that identifies all inventory items below their reorder threshold.create_requisition(material_id, quantity, requested_by): WRITE TOOL. Creates a new purchase requisition in apending_approvalstate.approve_pending_requisition(requisition_id, approved_by): WRITE TOOL. Approves a pending requisition. Must be explicitly triggered by human confirmation.
Testing Locally
Using the Custom Python Client
To prove that this server supports remote transport via HTTP (Server-Sent Events), you can use the built-in client script:
python client.pyUsing Claude Desktop (Stdio transport)
To test with Claude Desktop, configure your claude_desktop_config.json to use the uv run command:
{
"mcpServers": {
"erp-lite": {
"command": "uv",
"args": [
"run",
"python",
"-m",
"src.server"
]
}
}
}Running Unit Tests
To run the pytest suite testing the tool logic and requisition lifecycle:
uv run pytestFuture Enhancements
Authentication & RBAC: Implement Role-Based Access Control to ensure the
approved_byidentity has the actual rights to approve the specific value/material in the requisition.Audit Logging: Maintain a strict append-only audit trail of who/what queried and executed which tool, crucial for compliance (e.g. SOX).
Policy Search Resource: A RAG-like capability to expose procurement policy documents to the agent as MCP resources.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables AI assistants to interact with Odoo ERP apps like Inventory, CRM, Sales, and Manufacturing. It allows users to read, create, and manage Odoo records and workflows using natural language commands.25321ISC
- Flicense-quality-maintenanceAn MCP server that enables LLM agents to interact with PyerP ERP systems via a REST API. It allows users to search, read, create, and update ERP records such as inventory, clients, and users using natural language.
- Alicense-quality-maintenanceAn enterprise-grade MCP server that enables AI agents to execute SAP RFC functions and read business data securely through the Model Context Protocol.
- Alicense-qualityCmaintenanceAn MCP server that enables AI assistants to interact with Odoo ERP, allowing natural language queries, record creation, updates, and deletions.LGPL 3.0
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server connecting AI agents to non-custodial staking data across 130+ networks.
MCP server for AI access to Swagger by SmartBear.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/josephkamau32/erp-lite-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server