Skip to main content
Glama
pratri

sap-mcp-server

by pratri

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v2.0.0

  • Disambiguation4/5

    The three entity-specific getters are clearly distinct, and list-entity-fields serves an obvious separate purpose. get-sap-data overlaps with all getters, but its description clearly positions it as a fallback for other entities and advanced OData queries, so confusion is unlikely.

    Naming Consistency4/5

    The first three tools consistently use get-<plural-resource>, and get-sap-data follows the get- prefix. list-entity-fields is the only deviation, using list instead of get, but the pattern is still readable and predictable overall.

    Tool Count5/5

    Five tools is well-scoped for a read-only SAP S/4HANA connector. Each tool has a clear role, and the generic get-sap-data tool avoids the need to multiply entity-specific tools.

    Completeness5/5

    The server covers common entities with dedicated tools and provides a generic OData path for everything else, plus field discovery to support custom field requests. For a read-only data access server, the surface is complete with no obvious dead ends.

  • Average 4.3/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 1 commit in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

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

    With no annotations, the description carries the behavioral burden and does useful work: it discloses that results are the first N records, that ordering is ascending by Purchase Order number, and that `fields` changes which columns are returned. It does not discuss auth or side effects, but the read-only nature is clear from 'List' and 'Returns'.

    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?

    Three short sentences, each earning its place: purpose, ordering behavior, and field customization. The most important information is front-loaded and there is no filler.

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

    Completeness4/5

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

    For a simple read-only list tool with three optional parameters and a rich schema, the description covers purpose, ordering, default columns, and field selection. It does not explain the exact return shape, but 'Returns the first N' plus the schema's empty-array note is sufficient for an agent to invoke and interpret results.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3 and the description need not repeat parameter details. The description adds useful context for `fields` by stating it returns different columns, but it does not add meaning beyond the schema for `top` or `supplier`.

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

    Purpose5/5

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

    States a specific verb and resource ('List Purchase Orders from SAP S/4HANA') and even names the default return content ('including supplier and address'). The resource is clearly distinct from sibling tools like get-sales-orders and get-business-partners.

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

    Usage Guidelines3/5

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

    Usage context is implied by the resource name and origin, but the description does not explicitly say when to use this tool versus alternatives or when not to use it. The `fields` schema hint mentions list-entity-fields, but no explicit routing guidance appears in the description itself.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It states that results are limited to the first N records, ordered ascending by Business Partner ID, and describes the default field set and how to override it via the `fields` parameter. This is strong coverage of the tool's observable behavior, though it doesn't mention response envelope or failure semantics beyond what the schema covers.

    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?

    Two tight sentences front-load the core behavior and default output, then direct the user to `fields` for extensions. No filler or redundant restating of the tool name.

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

    Completeness4/5

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

    The description sufficiently covers the main return behavior, ordering, and default projection. Given the simple parameter set and lack of nested objects, it is adequately complete. A small gap is the lack of any explicit statement about empty results or pagination, but those are partially handled by the `top` parameter description.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema already documents all three parameters. The description adds context for `fields` ('pass fields for anything else') and implies `top` through 'Returns the first N', but it doesn't add meaningful semantics beyond the schema for `nameContains`. Baseline 3 is appropriate.

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

    Purpose5/5

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

    The description gives a specific verb ('List') and resource ('Business Partners from SAP S/4HANA'), clarifies that it covers customers, suppliers, and organizations, and notes the ordering by Business Partner ID. This clearly differentiates it from sibling tools like get-sales-orders and get-purchase-orders.

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

    Usage Guidelines4/5

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

    The description makes the intended use clear: retrieving business partner master data. While it doesn't explicitly say 'use get-sap-data for other entities,' the resource name and sibling tool names provide enough context for an agent to select it appropriately for business partner list queries.

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

  • Behavior4/5

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

    No annotations are present, so the description carries the disclosure burden. It usefully states that results come back as the first N records in ascending Sales Order number order and explains the effect of the `fields` parameter. It does not cover pagination or error behavior, but for a list operation it discloses the key non-obvious behaviors.

    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 three concise sentences: the first states the core purpose, the second adds ordering and limit semantics, and the third flags column customization. Every sentence earns its place and there is no redundant restating of schema details.

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

    Completeness4/5

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

    For a read-only list tool with three optional parameters and no output schema, the description covers the resource, notable output fields, ordering, and limiting behavior. Parameter specifics are fully delegated to the schema, so nothing essential is missing for correct invocation.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description adds only a brief note that `fields` changes returned columns; the schema already explains `top` and `soldToParty` thoroughly. This meets the minimum but does not go far beyond the schema.

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

    Purpose5/5

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

    The description opens with a specific verb and resource: 'List Sales Orders from SAP S/4HANA.' It also names concrete included data (net value, currency, processing status), which makes the tool's purpose unmistakable and distinguishes it from siblings like get-purchase-orders.

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

    Usage Guidelines4/5

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

    The description gives clear usage context: use this tool when you need Sales Orders from SAP S/4HANA. It does not explicitly name alternative tools or exclusion conditions, but the resource-specific language makes selection unambiguous relative to the sibling tools.

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

  • Behavior4/5

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

    With no annotations present, the description carries the full burden. It discloses the operation is read-only and GET-only, warns that output is raw SAP JSON including __metadata, and advises keeping $top small. This covers the main safety and payload traits an agent needs; it does not mention error behavior or pagination, but those are less critical here.

    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?

    Four dense, purposeful sentences with no filler. The core purpose and safety trait are front-loaded, and every sentence adds either a routing rule, a usage case, or an important behavior warning.

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

    Completeness4/5

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

    For a generic OData fetch tool with a single parameter and no output schema, this description is nearly complete: it names when to use alternatives, enumerates intended use cases, describes the return shape, and warns about response size. The only notable omissions are error handling or pagination details, which are minor for this tool's purpose.

    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 already documents the endpoint parameter at 100% coverage, so the baseline is 3. The description adds value by giving concrete endpoint examples and usage patterns such as A_BusinessPartner('1'), navigation properties, $expand, $count, and $metadata, which clarify what belongs in the parameter.

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

    Purpose5/5

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

    Description opens with a specific action on a concrete resource: 'Fetch data from any SAP S/4HANA OData path (read-only, GET only).' It also explicitly distances itself from sibling tools by name, so an agent can tell exactly what this generic endpoint tool is for.

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

    Usage Guidelines5/5

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

    The description gives explicit routing guidance: prefer get-business-partners, get-sales-orders, or get-purchase-orders when applicable because they return less data, and use get-sap-data for other entities, key reads, navigation, $expand, $count, and $metadata. This is a clear when-to-use vs. alternatives statement.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses the read-only, metadata-listing nature ('List the field names') and the intended sequencing ('before passing fields to get-* tools'). It does not mention return format or error behavior, but for a simple enum-limited tool this is adequate.

    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?

    Two sentences with no filler. The core purpose is front-loaded in the first sentence, and the second sentence adds immediate actionable usage guidance. Every word earns its place.

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

    Completeness4/5

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

    For a tool with one parameter and no output schema, the description covers what it does and when to call it. It could be more complete by stating the return shape explicitly, but the phrase 'List the field names' sufficiently conveys the output, and the sibling references orient the agent well.

    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?

    Schema description coverage is 100% since the 'entity' parameter includes an enum and its own description. The tool description adds context beyond the schema by explaining that the parameter selects which entity's field names to retrieve for use with get-* tools, enriching the parameter's semantic role.

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

    Purpose5/5

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

    The description clearly states the tool's function with a specific verb and resource: 'List the field names available on a SAP entity.' It distinguishes itself from sibling data-retrieval tools by positioning itself as a helper for the get-* tools, so an agent immediately understands this returns metadata, not entity data.

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

    Usage Guidelines5/5

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

    Explicit usage guidance is given: 'Call this before passing `fields` to one of the get-* tools, instead of guessing field names.' This tells the agent when to invoke the tool and frames it as the alternative to guessing, which is clear direction for tool selection.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

sap-mcp-server MCP server

Copy to your README.md:

Score Badge

sap-mcp-server MCP server

Copy to your README.md:

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

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