Skip to main content
Glama
satya01-sap

SAP Ariba MCP Server

by satya01-sap

Welcome to SAP Ariba MCP server.

  1. Intoduction

  2. Running & Inspecting the MCP server locally

  3. Deploy the MCP server in BTP

  4. Setting up the destination for the MCP server

  5. Inspecting the remotely deployed MCP server

Intoduction

Related MCP server: caseware-kb

Running & Inspecting the MCP server locally

  1. To run the mcp sevre locally opn the terminal and type uv run main.py You can in the in the terminal Uvicorn running.

  2. Now open one more terminal and tye the command uv run mcp dev main.py It will opne the inspector, just paste the inspector url in the brower.

  3. Set the parameters as below -
    - Transport Type as STDIO.
    - Command as UV.
    - Arguments as run --with mcp mcp run main.py.

    Now open the ⚙️ Configuration and fill the below fileds -
    - Inspector Proxy Address as http://127.0.0.1:6277 you can find the terminal as shown in the screenshop - Proxy Session Token - copy session id form the terminal ans paste.

  4. Now click on the connect button and it will connect to MCP server. Now you see the resources, prompts, tools now click on tools the choose List Tools and you can see the tool that you have specified.

  5. Provie the tool get_event_summary and provide the below inputs - - doc_id - user - password_adapter - realm

and click on run tool and see the output.

> Conclustion - We have locally tested the MCP server successfully.  

Deploy the MCP server in BTP

Setting up the destination for the MCP server

Inspecting the remotely deployed MCP server

Lest inspect the remotely deployed MCP servr.

  1. Run the inspect command in terminal uv run mcp dev main.py

  2. Set the parameters as below in the inspector as belwo-

    • Transport Type as STDIO.

    • Command as UV.

    • Arguments as run --with mcp mcp run main.py.

Available Tools

1 tool
get_event_summaryB

Retrieve supplier bids for a sourcing event.

Args: doc_id: Document ID (e.g., 'Doc1213131') user: Username (e.g., myuser) password_adapter: Password adapter (e.g., 'myadaptor') realm: Realm name (e.g., 'myrelm')

ParametersJSON Schema
NameRequiredDescriptionDefault
userYes
realmYes
doc_idYes
password_adapterYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must shoulder the burden of behavioral disclosure. 'Retrieve' implies a read-only operation, and the credential arguments hint at authentication requirements, but the description does not mention error behavior, side effects, return format, or any special constraints. This is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well organized: one purpose sentence followed by a tidy args block. Every element serves a function, and the examples are efficiently embedded. No filler or redundant content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter retrieval tool with an output schema available, the description supplies the call parameters and examples, which is decent. However, it omits when-to-use guidance, where credential values come from, and any operational context such as error conditions or required permissions. It is usable but not fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides only property titles with 0% description coverage, so the description's Args block is essential. It labels each parameter and gives concrete examples (e.g., doc_id as 'Doc1213131', password_adapter as 'myadaptor'), which materially helps an agent understand expected values. It does not explain edge cases or validation, but it compensates well for the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific operation: 'Retrieve supplier bids for a sourcing event.' The verb and resource are explicit, though there is a slight mismatch between the tool name ('event summary') and the described output ('supplier bids'). No sibling tools exist, so differentiation isn't possible, but the core purpose is understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool, what scenarios it applies to, or when to prefer an alternative. The description is purely declarative and provides no context about typical use cases or prerequisites beyond listing required arguments.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.2/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or misselection between tools. The single tool's purpose is clearly defined.

Naming Consistency5/5

The one tool name (get_event_summary) follows a clear verb_noun pattern and is internally consistent. Since there are no other tools, there are no naming inconsistencies.

Tool Count2/5

A single tool is far too few for a server named 'SAP Ariba MCP Server,' which implies a broad procurement/sourcing domain. This is a significant under-provisioning for the apparent scope.

Completeness1/5

The tool only retrieves supplier bids for a sourcing event. There are no operations for managing events, suppliers, bids, or any other typical lifecycle actions, making the surface severely incomplete for the stated domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    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.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables querying procurement documents (invoices, purchase orders, shipping orders, inventory reports) via semantic search, order ID lookups, gap analysis, and source excerpt retrieval.

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/satya01-sap/mcp-server-ariba'

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