MCP Hub
Back to servers

SAP Ariba MCP Server

Exposes 48 SAP Ariba APIs as Claude-compatible tools for managing procurement, sourcing, supplier management, and supply chain data. It enables AI agents to interact with contracts, catalogs, and business network transactions through natural language.

glama
Updated
Apr 2, 2026

SAP Ariba MCP Server

A Model Context Protocol (MCP) server that exposes 48 SAP Ariba APIs as Claude-compatible tools. Built with Python and FastMCP.

This enables Claude (or any MCP-compatible AI) to interact with SAP Ariba procurement, sourcing, supplier management, contracts, catalogs, and supply chain data via natural language.

API Reference: https://help.sap.com/docs/ariba-apis Developer Portal: https://developer.ariba.com


Architecture

┌─────────────────────────────────────────────────┐
│  Consumer Layer                                  │
│  Claude Desktop / Claude Code / Custom App       │
└────────────────────┬────────────────────────────┘
                     │ MCP (stdio)
┌────────────────────▼────────────────────────────┐
│  ariba-mcp Server (this project)                 │
│                                                  │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐       │
│  │ 6 Domain │  │ Auth     │  │ Client   │       │
│  │ Folders  │──│ OAuth2.0 │──│ httpx    │       │
│  │ 48 APIs  │  │ cached   │  │ async    │       │
│  └──────────┘  └──────────┘  └────┬─────┘       │
└────────────────────────────────────┼─────────────┘
                                     │ HTTPS
┌────────────────────────────────────▼─────────────┐
│  SAP Ariba APIs                                   │
│  OAuth: api.ariba.com                             │
│  Data:  openapi.ariba.com/api                     │
└──────────────────────────────────────────────────┘

All 48 APIs — 6 Domain Folders

1. Business Network — tools/business_network/

APIOwner
Ariba Network Purchase Orders APIAnil
Purchase Orders Supplier APINitish SM
Order Change Requests API for BuyersAnim
Order Change Requests API for SuppliersShabreen
Ariba Network Invoice Header Data Extraction APIAyub
Ship Notice API for BuyersAyub
Ship Notice API for SuppliersShabreen
Planning Collaboration Buyer APIAnim
Planning Collaboration Supplier APIShabreen
Trading Partner Profile Certification APIAyub
Supplier Information APIShabreen
Proof of Service API for Buyers(unassigned)
Data Replication Status for Multi-ERPAyub
Transaction Monitoring APIAnim

2. Catalog — tools/catalog/

APIOwner
Internal Catalogs Shop APIAnil
Public Catalogs Shop APIAnil
Network Catalog Management APIAnil
SAP Ariba Catalog Content APIAyub
Catalog Connectivity Service APIAyub
Content Lookup APIAnil
Materials and BOM Tag Management APIAnil

3. General — tools/general/

APIOwner
Document Approval APIAnim
Audit Search APIVanshika
Integration Monitoring API for ProcurementVanshika
Integration Monitoring API for Strategic SourcingPranathi
Master Data Integration Job Status APIAnim
Configuration Parameter Review APIVanshika
SAP Ariba Custom Forms APIVanshika
Asset Management APIRohit Naik
Master Data Retrieval API for ProcurementRohit Naik
Guided Buying Functional Documents APIAnim
Create Procurement Workspace APIVanshika
User Qualification APIAnil
Public Procurement Notices Export APIRohit Naik
NDA Data Export APIRohit Naik

4. Procurement — tools/procurement/

APIOwner
Operational Reporting API for ProcurementVanshika
Analytical Reporting API (Strategic & Operational)Anim
Contract Compliance APIVanshika
Contract Workspace Retrieval APIAnim
Contract Workspace Management APIsRohit Naik
Contract Terms Management APIShabreen
Cost Breakdown Data Extraction APIVanshika

5. Strategic Sourcing — tools/strategic_sourcing/

APIOwner
Operational Reporting API for Strategic SourcingPranathi
Sourcing Project Management APIPranathi
Event Management APIAnim
External Approval API for Sourcing & Supplier MgmtPranathi
Master Data Retrieval API for SourcingPranathi
Pricing API for Product SourcingPranathi
Surrogate Bid APIRohit Naik
Product Hierarchy Management APIShabreen
Bill of Materials Import APIAnim

6. Supplier Management — tools/supplier_management/

APIOwner
Supplier Data API with PaginationNitish SM
Supplier Data APINitish SM
Supplier Data Extraction APINitish SM
Ariba Network Supplier Profile APINitish SM
Supplier Invite APINitish SM
Supplier Risk Engagements APINitish SM
Risk Exposure APIAnim
Risk Category Information APIShabreen

Prerequisites

  • Python 3.11+
  • uv (recommended) or pip
  • SAP Ariba API credentials — one person provisions them for the team

Credential Setup (One-time)

One team member registers on the SAP Ariba Developer Portal and shares credentials:

  1. Go to https://developer.ariba.com
  2. Register a new application
  3. Enable the APIs needed
  4. Note: OAuth Client ID, Client Secret, API Key, Realm name
  5. Create .env and share securely:
cp .env.example .env
# Fill in credentials

Never commit .env to git.


Quick Start

# Clone and install
git clone https://github.com/nitishsm2002/ariba-mcp.git
cd ariba-mcp
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"

# Add .env file (get from credentials owner)

# Run the server
python -m ariba_mcp.server

# Test with MCP Inspector
npx @modelcontextprotocol/inspector python -m ariba_mcp.server

Connect to Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ariba": {
      "command": "python",
      "args": ["-m", "ariba_mcp.server"],
      "cwd": "/path/to/ariba-mcp"
    }
  }
}

Project Structure

ariba-mcp/
├── src/ariba_mcp/
│   ├── server.py                       # FastMCP entrypoint
│   ├── config.py                       # Settings (reads .env)
│   ├── auth.py                         # OAuth 2.0 client credentials
│   ├── client.py                       # Async HTTP client (views, jobs, resources)
│   ├── errors.py                       # Error handling
│   ├── models/common.py               # Shared Pydantic models
│   └── tools/
│       ├── __init__.py                 # Registers all 6 domain folders
│       ├── business_network/           # 14 APIs — POs, invoices, ship notices, planning
│       │   ├── __init__.py
│       │   ├── _example.py
│       │   └── <your_api>.py           # ← team members add files here
│       ├── catalog/                    # 7 APIs — catalogs, content, connectivity
│       │   ├── __init__.py
│       │   ├── _example.py
│       │   └── <your_api>.py
│       ├── general/                    # 14 APIs — approvals, audit, monitoring, config
│       │   ├── __init__.py
│       │   ├── _example.py
│       │   └── <your_api>.py
│       ├── procurement/                # 7 APIs — reporting, contracts, compliance
│       │   ├── __init__.py
│       │   ├── _example.py
│       │   └── <your_api>.py
│       ├── strategic_sourcing/         # 9 APIs — sourcing projects, events, bids
│       │   ├── __init__.py
│       │   ├── _example.py
│       │   └── <your_api>.py
│       └── supplier_management/        # 8 APIs — supplier data, risk, profiles
│           ├── __init__.py
│           ├── _example.py
│           └── <your_api>.py
├── tests/
├── .agents/skills/mcp-builder/        # MCP builder reference docs
├── pyproject.toml
├── .env.example
├── CONTRIBUTING.md
└── .gitignore

How to Implement Your API

Each folder has a _example.py with a working tool to copy from. To add your API:

  1. Find the right folder in src/ariba_mcp/tools/ (see table above)
  2. Look at _example.py in that folder for the pattern
  3. Create a new .py file named after your API (e.g. supplier_data_extraction.py)
  4. Define a register(mcp, client) function with your @mcp.tool inside it
  5. Open the folder's __init__.py and add your import + register() call
  6. Look up the exact endpoint path on the Developer Portal
  7. Test with MCP Inspector: npx @modelcontextprotocol/inspector python -m ariba_mcp.server

See CONTRIBUTING.md for detailed coding patterns.


Configuration Reference

VariableRequiredDefaultDescription
ARIBA_REALMYesAriba realm (e.g. mycompany-T)
ARIBA_CLIENT_IDYesOAuth 2.0 client ID
ARIBA_CLIENT_SECRETYesOAuth 2.0 client secret
ARIBA_API_KEYYesApplication key
ARIBA_OAUTH_URLNohttps://api.ariba.comOAuth endpoint
ARIBA_API_URLNohttps://openapi.ariba.com/apiAPI base URL

License

MIT

McpServer

Reviews

No reviews yet

Sign in to write a review