SAP-Claude Integration via MCP (Model Context Protocol)

SSE

by CostingGeek

6 573 downloads Not rated yet MIT

About

An MCP server to retrieve information like Sales Orders from the SAP Graph API Sandbox

Details

Transport
SSE
License
MIT

Explore

- Connect Claude to SAP systems with minimal setup
- Retrieve real-time sales order data from SAP via Graph API
- Extend the integration with additional SAP entities (Customers, Products, etc.)
- Process SAP data with the full capabilities of Claude's LLM

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name SAP-Claude Integration via MCP (Model Context Protocol)
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Python 3.8+
- SAP API key (sandbox or production)
- Claude Desktop
- Basic understanding of MCP and SAP Graph API

This documentation is written for a Windows environment with administrator rights

uv venv
.venv\Scripts\activate

uv add mcp[cli] httpx requests

sap_protocol_invariants

Free read-only protocol invariant card for agents. Returns the current SAP program id, protocol treasury, source-level expected 0.1 SOL registration fee invariant, hosted write routing rules, local sap_payments routes, identity pipeline, and forbidden actions. Use this before SAP registry writes and whenever fee/treasury behavior is unclear. SAP MCP context: Direct synapse-sap-sdk wrapper served by this MCP. Read tools return on-chain state; write tools require signer policy, configured RPC, …

sap_agent_identity_plan

Free read-only planner for SAP agent registration, profile/image updates, Metaplex/MPL Core identity linking, SNS linking, x402 pricing metadata, and post-write verification. Use this before sap_payments_register_agent or sap_payments_update_agent so agents know the exact local-signer route, metadata contract, forbidden actions, and protocol fee verification checklist. It does not touch chain and never signs. SAP MCP context: Direct synapse-sap-sdk wrapper served by this MCP. Read tools retur…

sap_register_agent

Deprecated raw SDK wrapper. Production registration must use sap_payments_register_agent so the local signer path confirms the account, verifies the 0.1 SOL protocol treasury fee invariant, and returns protocolComplete. Hosted accountless SAP MCP rejects this direct write before x402 payment. SAP MCP context: Do not use this raw SDK wrapper for production registration. The canonical registration path is sap_payments_register_agent, because it confirms the account, audits the protocol treasury…

sap_update_agent

Local-signer-only: update the connected wallet SAP agent using SDK AgentModule.update. Hosted accountless SAP MCP rejects this direct write before x402 payment; hosted users should call sap_payments_update_agent from the local sap_payments bridge. SAP MCP context: Use this after sap_register_agent to refresh name, description, capabilities, pricing, supported protocols, x402 endpoint, or metadataUri. For NFT-backed identity changes, update the Metaplex asset first when needed, then point the …

sap_deactivate_agent

Deactivate the connected wallet SAP agent. SAP MCP context: Direct synapse-sap-sdk wrapper served by this MCP. Read tools return on-chain state; write tools require signer policy, configured RPC, and the active SAP profile.

sap_reactivate_agent

Reactivate the connected wallet SAP agent. SAP MCP context: Direct synapse-sap-sdk wrapper served by this MCP. Read tools return on-chain state; write tools require signer policy, configured RPC, and the active SAP profile.

sap_close_agent

Close the connected wallet SAP agent and reclaim rent. SAP MCP context: Direct synapse-sap-sdk wrapper served by this MCP. Read tools return on-chain state; write tools require signer policy, configured RPC, and the active SAP profile.

sap_report_calls

Report served call count for the connected wallet SAP agent. SAP MCP context: Direct synapse-sap-sdk wrapper served by this MCP. Read tools return on-chain state; write tools require signer policy, configured RPC, and the active SAP profile.

sap_update_reputation_metrics

Update self-reported latency and uptime metrics for the connected wallet SAP agent. SAP MCP context: Reputation and trust flow. Use after verifying the target agent PDA or wallet and keep hashes/attestation metadata stable and auditable.

sap_get_agent

Fetch agent identity by owner wallet. If omitted, fetches the connected wallet agent. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_get_agent_stats

Fetch agent stats by agent PDA. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_get_global_state

Fetch the on-chain global registry through SDK AgentModule.fetchGlobalRegistry. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_get_network_overview

Fetch real network counters from SDK DiscoveryRegistry.getNetworkOverview. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_get_agent_profile

Fetch a hydrated SAP agent profile by owner wallet. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_is_agent_active

Check if a wallet owns an active SAP agent. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_discover_agents

Paid hosted discovery for SAP agents. Search and filter the current on-chain AgentAccount directory by query, wallet, protocol, capability, x402 endpoint presence, and cursor pagination. Use this for targeted agent discovery before calling per-agent fetch tools. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_list_agents

Compatibility alias for sap_discover_agents. Supports query, wallet, protocol, capability, x402 endpoint filtering, and cursor pagination. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_list_all_agents

Paid hosted global SAP agent directory read. Enumerates current on-chain AgentAccount PDAs and supports query, wallet, protocol, capability, x402 endpoint filtering, compact/full views, and cursor pagination. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_find_tools_by_category

Find on-chain tool descriptors by SDK tool category name or numeric category. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_get_tool_category_summary

Fetch SDK discovery summary across SAP tool categories. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_capability_index

Fetch a SAP capability index by capability ID. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_protocol_index

Fetch a SAP protocol index by protocol ID. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_tool_category_index

Fetch a SAP tool category index by numeric category. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_tool

Fetch a tool descriptor by agent PDA and tool name. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_feedback

Fetch a feedback PDA by agent PDA and optional reviewer wallet. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_attestation

Fetch an attestation PDA by agent PDA and optional attester wallet. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_escrow

Fetch a V1 escrow by escrow PDA, or by agent PDA and optional depositor. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_escrow_v2

Fetch a V2 escrow by escrow PDA, or by agent PDA, depositor, and nonce. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_pending_settlement

Fetch a V2 pending settlement PDA. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_dispute

Fetch a V2 dispute PDA. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_vault

Fetch a memory vault by agent PDA. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_session

Fetch a session ledger by session PDA. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_epoch_page

Fetch an epoch page by session PDA and epoch index. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_stake

Fetch agent stake by stake PDA or agent PDA. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_fetch_subscription

Fetch a subscription by PDA or by agent PDA/subscriber/subId. SAP MCP context: Read-only SAP SDK wrapper against the configured Solana RPC and SAP program. Use these reads to inspect current chain state before mutating registry, payment, reputation, memory, or tool accounts.

sap_x402_estimate_cost

Estimate cost for a number of calls using SDK X402Registry.estimateCost. Reads escrow/pricing when available and supports optional volume curve overrides. SAP MCP context: Payment and settlement flow. Estimate or fetch state before creating escrows or settling calls; write operations require an enabled signer mode and MCP policy approval.

sap_x402_calculate_cost

Pure local cost calculation using SDK X402Registry.calculateCost; does not read chain state. SAP MCP context: Payment and settlement flow. Estimate or fetch state before creating escrows or settling calls; write operations require an enabled signer mode and MCP policy approval.

sap_x402_prepare_payment

Prepare an x402 payment context using SDK X402Registry.preparePayment. New production escrow funding should use Escrow V2 fields and nonce-aware flows. SAP MCP context: Payment and settlement flow. Estimate or fetch state before creating escrows or settling calls; write operations require an enabled signer mode and MCP policy approval.

sap_x402_build_payment_headers

Build SAP x402 HTTP headers from a public PaymentContext returned by sap_x402_prepare_payment. SAP MCP context: Payment and settlement flow. Estimate or fetch state before creating escrows or settling calls; write operations require an enabled signer mode and MCP policy approval.

sap_x402_build_headers_from_escrow

Build SAP x402 HTTP headers by fetching escrow data for an agent wallet with SDK X402Registry.buildPaymentHeadersFromEscrow. SAP MCP context: Payment and settlement flow. Estimate or fetch state before creating escrows or settling calls; write operations require an enabled signer mode and MCP policy approval.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "sap-claude integration via mcp (model context protocol)": {
            "sap-mcp": {
                "command": "uv",
                "args": [
                    "init",
                    "saptools"
                ]
            }
        }
    }
}

McpServers

{
    "sap-mcp": {
        "command": "uv",
        "args": [
            "init",
            "saptools"
        ]
    }
}

> Connect Claude AI capabilities directly to your SAP systems through a seamless MCP integration

This repository contains a Python-based solution that enables bidirectional communication between Claude (Anthropic's large language model) and SAP systems via the SAP Graph API. By leveraging the Model Context Protocol (MCP), this integration allows Claude to retrieve and process SAP business data in real-time.

Features

- Connect Claude to SAP systems with minimal setup
- Retrieve real-time sales order data from SAP via Graph API
- Extend the integration with additional SAP entities (Customers, Products, etc.)
- Process SAP data with the full capabilities of Claude's LLM

Prerequisites

- Python 3.8+
- SAP API key (sandbox or production)
- Claude Desktop
- Basic understanding of MCP and SAP Graph API

This documentation is written for a Windows environment with administrator rights

Reference Documentation

- Get started with the Model Context Protocol (MCP) - Introduction to SAP Graph

Installation

1. Get the SAP API Key

Log into the SAP Graph Navigator.
You will find the API key in your profile, under Settings > API Settings.
Save that API key as system environment variable "SAP_API_KEY".
Make sure to restart your machine to load the new environment variable.

3. Set up your environment

Let's follow the Documentation for Server Developers.

First, let’s install uv and set up our Python project and environment:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Make sure to restart your terminal afterwards to ensure that the uv command gets picked up.

Now, let’s create and set up our project:
```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.