Skip to main content
Glama
GithubSuj

MCP Sales Order Server

by GithubSuj

MCP Sales Order Server

This TypeScript MCP server exposes two tools for SAP Sales Order operations using the API_SALES_ORDER_SRV OData v2 service.

Available tools

  • read_sales_order

    • Retrieve a specific sales order by ID or list sales orders with optional $filter, $top, and $skip.

  • create_sales_order

    • Create a new sales order header and deep insert line items using the to_Item navigation property.

Setup

  1. Copy the example environment file:

cp .env
  1. Install dependencies:

npm install
  1. Start the MCP server:

npm run start:mcp

Environment variables

  • SAP_API_URL - Full base URL of the SAP OData service (without trailing slash)

  • 'SAP_API_KEY' - API key from BusinessHub to access sandbox system

Development

  • npm run build - compile the TypeScript sources

  • npm run start:mcp - run the MCP server with ts-node

Architecture Overview

The system is split into three core layers: your desktop AI client, an intermediate bridging server running securely on SAP Business Technology Platform (BTP), and your main SAP backend data source.

Architecture Diagram

[ Claude Desktop App ] (Local PC) │ ▼ (Configured via local standard I/O file) [ SAP CAP MCP Server ] (Hosted on SAP BTP Cloud Foundry) │ ▼ (Uses SAP Cloud SDK & OData Protocol via SAP_API_URL) [ SAP Sales Order API ] (Backend System)

  1. Claude Desktop App (The AI Client): Reads a local configuration file on your machine. When you ask it a sales order question, it uses standard inputs/outputs to securely query the bridge server.

  2. SAP CAP MCP Server (The Bridge): Runs on SAP BTP Cloud Foundry. It exposes a secure POST /mcp/call API endpoint via server.js that catches commands from the AI.

  3. SAP Cloud OData Client SDK: Found inside the core application files, it translates the AI's requests into official SAP-compliant language to safely process data over your secure SAP_API_URL.

Core Libraries & Dependencies

This project relies on two major ecosystems to seamlessly handle both the AI protocol definitions and the secure SAP enterprise connections:

🤖 Model Context Protocol (@modelcontextprotocol/sdk) This official SDK from Anthropic implements the architectural standard that allows LLMs to interact with external data sources and tools. It defines the schemas, tools, and protocols used in index.ts to expose the read_sales_order and create_sales_order capabilities to Claude in a standardized format.

☁️ SAP Cloud SDK (@sap-cloud-sdk/core) SAP’s official software development kit for JavaScript/TypeScript. Utilized heavily inside OdataClient.ts, it automatically abstracts complex enterprise connectivity tasks like managing destinations, payload serialization, and handling authentication headers when interacting with the OData V2/V4 Sales Order API.

Linking Claude to the Server

To point your desktop client to your BTP deployment, add the server setup details to your local Claude configuration profile.

File Path (Windows): %APPDATA%\Claude\claude_desktop_config.json

File Path (Mac): ~/Library/Application Support/Claude/claude_desktop_config.json

Open or create the file and append your connection arguments:

"mcpServers": { "sap-sales-order-mcp": { "command": "node", "args": [ "C:\\sales-mcp-stdio.js" ] }

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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/GithubSuj/sales_mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server