Skip to main content
Glama
mulangph

ERP MCP Server

by mulangph

ERP MCP Server

A Model Context Protocol server that exposes ERP data (sales orders, inventory and vendors) as tools any MCP-compatible client or AI agent can discover and call. Built with FastMCP and served over streamable HTTP.

Pairs with ERP MCP Client, a Gradio chatbot that uses these tools to answer business questions in plain language.

How it fits together

flowchart LR
    U[User] --> C[ERP MCP Client<br/>Gradio + OpenAI]
    C -- "list_tools / call_tool<br/>(streamable HTTP)" --> S[ERP MCP Server<br/>FastMCP]
    S --> D[(JSON data<br/>orders, stock, vendors)]

The client asks the server which tools exist, hands them to the LLM, and runs whichever tools the model chooses. The server never talks to the LLM directly, so any MCP client (Claude Desktop, MCP Inspector, your own agent) can use it.

Related MCP server: Small Business MCP Server

Tools

Tool

Input

Returns

get_sales_order

order_id (e.g. 12345)

Customer, status, date, currency, total, line items

get_stock

product_id (e.g. 501)

On-hand / reserved / available quantity, warehouse, reorder status

get_vendor

vendor_id (e.g. 2001)

Status, contact, payment terms, rating, supplied products

get_vendors_information

none

All vendors

Unknown IDs return a JSON error object such as {"error": "Product not found", "product_id": 999} so the model can explain the problem instead of failing.

Quick start

Requires Python 3.12 and uv.

git clone https://github.com/mulangph/AI_MCP_Server.git
cd AI_MCP_Server
uv sync
uv run server.py

The server listens on http://127.0.0.1:8000/mcp. Leave it running, then start the client in a second terminal.

To use a different host or port, set MCP_HOST and MCP_PORT before starting:

MCP_PORT=9000 uv run server.py

Inspect the tools without a client

The MCP Inspector lets you browse and call tools in your browser:

uv run mcp dev server.py

Sample data

The data/ folder holds mock records you can query straight away:

File

IDs

orders.json

12345, 12346, 12347

stock_quant.json

501, 502, 503

vendors.json

2001, 2002, 2003

Project structure

AI_MCP_Server/
├── server.py          # MCP tool definitions and entry point
├── data/              # Mock ERP records
├── pyproject.toml
└── uv.lock

Roadmap

  • Replace JSON files with a real ERP API (e.g. Odoo)

  • Search tools (orders by customer, products by name)

  • Authentication on the HTTP endpoint

  • Tests for each tool

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An extensible MCP server that integrates Odoo with LLMs to enable querying and managing business data like partners, quotations, and sales orders. It supports custom tool registration and multiple transport protocols for both local and remote communication.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to interact with small business data systems through tools for document processing, data queries, and report generation, using MCP primitives for structured context.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A production-grade MCP server for enterprise sales analytics, enabling LLM clients to query, analyze, and visualize sales data from a SQLite database through structured tools, resources, and prompts.
    6
    MIT