mcp-netsuite-practice
MCP server that exposes read-only NetSuite tools for querying warehouse stock levels and order status, using mock data locally and a pluggable client interface.
README
MCP NetSuite Practice
Python MCP server that exposes read-only NetSuite tools for agents such as Claude Desktop or Claude Code. It lets an LLM query warehouse stock and order status without putting API keys in the client.
| Tool | Arguments | Description |
|---|---|---|
get_stock_level |
sku: str |
Available units for a SKU in warehouse |
get_order_status |
order_id: str |
Current status of an order |
NetSuite access goes through a stable client interface. Local development uses a mock with sample data (A-SAFE barriers); the same interface can later target a real sandbox via environment variables.
Product specification: project.md.
Stack
- Python 3.12+
- uv
- Official
mcpSDK (stdiotransport; HTTP/SSE planned) - Pydantic for request/response schemas
- FastAPI + Docker / K8s / Terraform for remote deployment
- Langfuse / Sentry and an audit trail for observability
Architecture
flowchart TD
Agent[Agent: Claude Desktop / Claude Code]
MCP[MCP Server]
Tools[Tools: get_stock_level / get_order_status]
Schemas[Pydantic schemas]
Client[NetSuite client interface]
Mock[Mock data]
Sandbox[NetSuite sandbox]
Agent -->|MCP stdio or HTTP/SSE| MCP
MCP --> Tools
MCP --> Schemas
Tools --> Client
Client --> Mock
Client -.-> Sandbox
The MCP server exposes typed tools to the agent. Tools call a NetSuite client interface so the protocol layer stays decoupled from the ERP. Locally the client uses mock data; the same interface can target a real sandbox later.
How to use
Requirements: Python 3.12+, uv.
uv sync
uv run python -m mcp_netsuite_practice
The process speaks MCP over stdin/stdout. An MCP host consumes it (it is not a plain HTTP API).
Claude Desktop — add to claude_desktop_config.json (adjust --directory):
{
"mcpServers": {
"netsuite-practice": {
"command": "uv",
"args": [
"--directory",
"C:/Users/antonio/Desktop/MCP-netsuite-practice",
"run",
"python",
"-m",
"mcp_netsuite_practice"
]
}
}
}
Example prompts:
- “How much stock do we have for SKU ASAFE-BARRIER-01?”
- “What is the status of order SO-10042?”
| Variable | Purpose |
|---|---|
NETSUITE_MODE |
mock (default) or sandbox once a real client exists |
NETSUITE_* |
Sandbox credentials (local .env only; never commit) |
uv run pytest
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.