<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="https://geoprise.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Geoprise Technologies - AI Agents</title>
 <link>https://geoprise.com/tags/ai-agents</link>
 <description></description>
 <language>en</language>
<item>
 <title>Tales From The Front: Building MCP Servers From GM-X Auto OpenAPI Documentation</title>
 <link>https://geoprise.com/blog/tales-front-building-mcp-servers-gm-x-auto-openapi-documentation</link>
 <description>&lt;div class=&quot;field field-name-field-blog-image field-type-image field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;figure class=&quot;clearfix field-item even&quot;&gt;&lt;img typeof=&quot;foaf:Image&quot; class=&quot;image-style-none&quot; src=&quot;https://geoprise.com/sites/default/files/Proof.jpg&quot; width=&quot;796&quot; height=&quot;527&quot; alt=&quot;&quot; /&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;By:&lt;/em&gt; Nelson M. Nones CPIM&lt;/strong&gt;, Founder, Chairman and President, Geoprise Technologies Corporation&lt;/p&gt;
&lt;p&gt;My first boss, Ken Bordner, was fond of constantly telling me, “you may know theory but, goddammit, I know it practical!”&lt;/p&gt;
&lt;p&gt;So it is with building Model Context Protocol (MCP) servers from OpenAPI documentation. In this post, I’ll explain:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;How hard it is to produce production-grade OpenAPI specifications;&lt;/li&gt;
&lt;li&gt;Once they are production-ready, how easy it is to generate MCP servers; and&lt;/li&gt;
&lt;li&gt;Gotchas you won’t have to worry about when deploying our newly-published GM-X Auto OpenAPI MCP Bridge documentation.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Preparing OpenAPI Documentation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The OpenAPI specification, established in 2016, is derived from Swagger, an application programming interface (API) project which first appeared in 2011―13 years before Anthropic introduced the MCP standard. Over the years it evolved to become the de facto standard for describing Representational State Transfer (REST) APIs because it facilitates the automated production of machine-readable contracts between providers and consumers of Web services. According to Riya Sethi, a Senior Software Engineer for Truto, a unified API and embedded integration platform, raw OpenAPI specifications are&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;written for humans who read documentation and machines that validate payloads.&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;One prominent feature of the OpenAPI specification is its support for modularization and re-use by references that point to objects or components defined elsewhere in the same file, in a separate file on the same local machine, or even on a remote machine. The specification strongly encourages references to eliminate redundancy, improve readability, and simplify maintenance―exactly the same benefits developers reap from normalizing databases or writing subroutines. Accordingly, all source code for Geoprise’s GM-X Auto OpenAPI documentation is generated and maintained in highly modular “referenced” form wherein each path has its own file, and re-usable schema components are documented in a separate file.&lt;/p&gt;
&lt;p&gt;The creators of Swagger and OpenAPI never envisioned supporting MCP; instead, MCP relies upon OpenAPI-compliant documentation as a complete, machine-readable contract setting out API endpoints, parameters, and schemas that the protocol requires to make remote procedure calls (RPCs) on behalf of Large Language Model (LLM) applications such as Claude Desktop or the ChatGPT Desktop App. Sethi explains that LLMs neither read documentation nor validate payloads; they&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;read schemas as prompts. A &lt;strong&gt;description&lt;/strong&gt; field is not metadata to them; it is the instruction.&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Furthermore, according to Sethi, MCP requires schemas to be &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;completely self-contained, meaning they cannot reference anything outside themselves. This requires ‘dereferencing’ – a process of resolving all references and inlining them into a single schema,&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;including detection of recursive references to avoid infinite loops.&lt;/p&gt;
&lt;p&gt;For us, dereferencing meant having to undo all the hard work already invested in modularizing our GM-X API documentation by reference. We discovered through trial and error that to ward off server-side request forgery (SSRF) attacks and threats posed by path traversal vulnerabilities, the most forgiving of the MCP server generators we tested would only resolve references to components within the same document―even when an option to allow external references is available. To work around those safeguards, we had to copy and bundle together the schemas for each path by API, and also append a copy of the re-usable components to every bundle.&lt;/p&gt;
&lt;p&gt;Even after bundling, however, we found that none of the MCP server generators were capable of successfully resolving internal references to path item or schema objects outside the &lt;strong&gt;components&lt;/strong&gt; section of the API documentation, despite the fact that, for e.g. path item objects, &lt;a href=&quot;https://learn.openapis.org/referencing/overview.html&quot;&gt;Versions 3.x of the OpenAPI specification&lt;/a&gt; allow us to&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;logically replace the &lt;/em&gt;[referencing object]&lt;em&gt; with a Path Item Object that combines the &lt;/em&gt;[referenced object’s]&lt;em&gt; fields with [other] fields of the &lt;/em&gt;[referencing object]&lt;em&gt;, as long as none of those fields conflict.&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;We ultimately overcame that limitation by re-labeling all remaining path item and schema object references within API bundles using the &lt;strong&gt;description&lt;/strong&gt; keyword. This tactic eliminates resolution errors when generating MCP servers, while preserving our API bundles’ human readability.&lt;/p&gt;
&lt;p&gt;Such limitations, I believe, reflect the relative immaturity of MCP server generation software. Let’s not forget that, as I write this, the MCP protocol isn’t quite two years old, and getting AI agents up to speed using MCP has been a much higher industry priority than making MCP server generator software smarter.&lt;/p&gt;
&lt;p&gt;Moreover, our workaround has no adverse impact whatsoever on out-of-the-box performance of automatically generated MCP servers, because only in output schema do we re-label references as descriptions in our API bundles. Unlike input schema, output schema are optional for MCP server tools, according to &lt;a href=&quot;https://modelcontextprotocol.io/specification/2025-06-18/server/tools#data-types&quot;&gt;Sections 5.1 and 5.2.7 of the MCP Specification&lt;/a&gt;, and MCP server generator developers apparently assume that LLM applications require no further assistance when parsing whatever output they receive from tool responses. Should such assumptions prove wrong, then the human-readable descriptions inside our API bundles will make it much easier to add output schemas manually where needed to improve the performance of MCP server tools.&lt;/p&gt;
&lt;p&gt;All of our 452 API bundles are available from GitHub as OpenAPI documents in JavaScript Object Notation (JSON) format. Each bundle is a single file artifact comprising a fully self-contained assembly of OpenAPI components to promote error-free use. This is the preferred way of interacting with Geoprise GM-X Auto OpenAPI descriptions when generating MCP servers automatically.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Generating MCP Servers Automatically&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This process is highlighted in Figure 1, below.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;Transformation of OpenAPI Documents Into a Model Context Protocol Server&quot; src=&quot;../sites/default/files/OpenAPIDiagram_MCPGeneration.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 1 –  Automatic MCP Server Generation Process&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;You can install and use the self-hosted open-source &lt;a href=&quot;https://github.com/harsha-iiiv/openapi-mcp-generator&quot;&gt;openapi-mcp-generator&lt;/a&gt; to generate MCP servers automatically. We successfully tested it by following these steps:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Install Node.js first, if you haven’t done so already. Point your browser to the &lt;a href=&quot;https://nodejs.org/en/download&quot;&gt;official Node.js download page&lt;/a&gt; and follow the instructions to get and run a prebuilt Node.js Installer or Binary.&lt;/li&gt;
&lt;li&gt;To install the generator software, open a command line interface (CLI) on your computer and use your keyboard to type the &lt;strong&gt;npm install -g openapi-mcp-generator&lt;/strong&gt; command, followed by the Enter key. When the installation is complete, you’ll see something like:&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;added 108 packages in 17s&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;35 packages are looking for funding&lt;br /&gt;
  run `npm fund` for details&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now that the generator software is installed, create one MCP server for each GM-X Auto API that the LLM application will utilize. For example, to create an MCP server for the GM-X Auto &lt;strong&gt;logon&lt;/strong&gt; API:&lt;/p&gt;
&lt;ol start=&quot;3&quot;&gt;&lt;li&gt;Point your browser to the &lt;a href=&quot;https://github.com/geoprise/GMXAuto/tree/main/models&quot;&gt;Geoprise GM-X Auto GitHub models page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;On the GM-X Auto GitHub models page, or at its left sidebar, browse for and click or tap the &lt;strong&gt;GMXAuto_logon.json&lt;/strong&gt; link. The API documentation page appears for the &lt;strong&gt;logon&lt;/strong&gt; API.&lt;/li&gt;
&lt;li&gt;Near the upper right corner of the API documentation page, click the Download raw file button. The &lt;strong&gt;GMXAuto_logon.json&lt;/strong&gt; file is copied to the Downloads folder on your computer.&lt;/li&gt;
&lt;li&gt;Navigate to the Downloads folder on your computer, cut (or copy) the &lt;strong&gt;GMXAuto_logon.json&lt;/strong&gt; file you downloaded at Step 5, above, and paste it into the folder you wish to use as your source document repository. This is the &lt;strong&gt;path/to/&lt;/strong&gt; folder at Step 8, below.&lt;/li&gt;
&lt;li&gt;Create a new folder for the MCP server on your computer. This is the &lt;strong&gt;path/to/output/directory&lt;/strong&gt; folder at Step 8, below.&lt;/li&gt;
&lt;li&gt;In the CLI, use your keyboard to type the &lt;strong&gt;openapi-mcp-generator --input path/to/GMXAuto_logon.json --output path/to/output/directory&lt;/strong&gt; command, followed by the Enter key. Substitute &lt;strong&gt;path/to/&lt;/strong&gt; and &lt;strong&gt;path/to/output/directory&lt;/strong&gt;, respectively, with the paths to the folders described at Steps 6 and 7, above. In a split second, you’ll see the result illustrated in Figure 2, below.&lt;/li&gt;
&lt;li&gt;Repeat Steps 3 through 8, above, for each additional GM-X Auto API that requires an MCP server.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Note that for obvious reasons it is mandatory to create an MCP server for the GM-X Auto &lt;strong&gt;logon&lt;/strong&gt; API, unless you’ve configured your AI agents to use &lt;a href=&quot;https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-authenticate-users.html&quot;&gt;Amazon Web Services (AWS) application load balancer (ALB) authentication session cookies&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It is also mandatory to create a separate MCP server for the GM-X Auto &lt;strong&gt;menu&lt;/strong&gt; API (&lt;strong&gt;GMXAuto_menu.json&lt;/strong&gt; file), which provides access to all GM-X ERP functions, forms, and reports while strictly enforcing all role-based access controls that prevent AI agents from escaping and running wildly free.&lt;/p&gt;
&lt;p&gt;Note also that our API bundles available at GitHub describe a reference implementation of the GM-X ERP application, not live sites. For MCP servers generated from those bundles to actually work, you must first modify the files you downloaded at Step 5, above, so Line 17 points to a real running server that hosts the GM-X ERP application. Lines 17 and 21 show exemplary uniform resource locators (URLs) for production using different authentication methods. Line 25 shows an exemplary URL for final staging QA, while Line 29 shows an exemplary URL for integrating testing and Line 33 shows an exemplary URL for development. As you can see in Figure 2, the MCP server generator uses the first URL (Line 17) by default.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;Transformation of OpenAPI Documents Into a Model Context Protocol Server&quot; src=&quot;../sites/default/files/OpenAPIMCPGeneratorScreenshot.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 2 – Automatic MCP Server Generation Using Open-Source openapi-mcp-generator&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Alternatively, you can subscribe to various MCP generator services such as &lt;a href=&quot;https://www.postman.com/explore/mcp-generator&quot;&gt;Postman&lt;/a&gt;, &lt;a href=&quot;https://www.speakeasy.com/&quot;&gt;Speakeasy Gram&lt;/a&gt;, &lt;a href=&quot;https://liblab.com/products/mcp&quot;&gt;liblab&lt;/a&gt;, &lt;a href=&quot;https://github.com/PrefectHQ/fastmcp&quot;&gt;Prefect FastMCP&lt;/a&gt;, and &lt;a href=&quot;https://www.stainless.com/mcp/from-rest-api-to-mcp-server/&quot;&gt;Stainless&lt;/a&gt;. We successfully tested the Speakeasy Gram service for the GM-X Auto &lt;strong&gt;logon&lt;/strong&gt; API by following these steps:&lt;/p&gt;
&lt;ol start=&quot;10&quot;&gt;&lt;li&gt;Point your browser to the &lt;a href=&quot;https://app.getgram.ai/&quot;&gt;Speakeasy service&lt;/a&gt; and log on to your Speakeasy account. The Speakeasy Dashboard screen appears.&lt;/li&gt;
&lt;li&gt;On the Speakeasy Dashboard screen, in the PROJECTS section, search or browse for and then tap, or click, the project for which you wish to create the new MCP server. The Project Overview section appears on the Speakeasy Dashboard screen.&lt;/li&gt;
&lt;li&gt;At the left sidebar of the Speakeasy Dashboard screen, select the MCP Gateway link. The MCP Servers section appears on the Speakeasy Dashboard screen.&lt;/li&gt;
&lt;li&gt;Within the MCP Servers section on the Speakeasy Dashboard screen, tap or click the &lt;strong&gt;+ Add new&lt;/strong&gt; button. The Add MCP server screen appears.&lt;/li&gt;
&lt;li&gt;In the Advanced section on the Add MCP server screen, click the &lt;strong&gt;Continue -&amp;gt;&lt;/strong&gt; link in the From your API box. The Import OpenAPI specification screen appears.&lt;/li&gt;
&lt;li&gt;Navigate to the &lt;strong&gt;path/to/&lt;/strong&gt; folder on your computer described at Step 6, above.&lt;/li&gt;
&lt;li&gt;On the Import OpenAPI specification screen, drag and drop the &lt;strong&gt;GMXAuto_logon.json&lt;/strong&gt; file into the box beneath the &lt;strong&gt;UPLOAD&lt;/strong&gt; button of the Upload OpenAPI Specification section, which is activated by default. The name of this file appears by default (in lowercase) in the Name Your API text box below. Optionally, in the Name Your API text box, you can rename the API to your liking&lt;/li&gt;
&lt;li&gt;Tap or click the &lt;strong&gt;CONTINUE&lt;/strong&gt; button to the right of the Name Your API text box. The Speakeasy Gram service creates the MCP server and displays the &lt;strong&gt;Continue -&amp;gt;&lt;/strong&gt; button in the Generate Tools section in a second or two.&lt;/li&gt;
&lt;li&gt;In the Generate Tools section, tap or click Deployment details to view a log of the outcome. Figure 3, below, illustrates.&lt;/li&gt;
&lt;li&gt;Tab or click the &lt;strong&gt;Continue -&amp;gt;&lt;/strong&gt; button beneath the Deployment details. The MCP Servers section re-appears on the Speakeasy Dashboard screen displaying the new server you added at Steps 13-18, above.&lt;/li&gt;
&lt;li&gt;Repeat Steps 13 through 19, above, for each additional GM-X Auto API that requires an MCP server.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;Transformation of OpenAPI Documents Into a Model Context Protocol Server&quot; src=&quot;../sites/default/files/OpenAPIMCPGeneratorSpeakeasy.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 3 – Automatic MCP Server Generation Using Speakeasy Gram Service&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Both of the above examples prove that GM-X Auto API bundles can be input to MCP generators to create new MCP services without errors. Geoprise has produced all the production-ready OpenAPI specifications for the GM-X Auto ERP application, so you don’t have to.&lt;/p&gt;
&lt;p&gt;To see for yourself, I invite you to visit our &lt;a href=&quot;https://github.com/geoprise/GMXAuto&quot;&gt;GitHub&lt;/a&gt; site, choose one or more models of greatest interest to you, and follow the steps I&#039;ve set out here. There&#039;s no need to book any demos.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Additional Self-Hosting Configuration Steps&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As you can see from the Figure 2, the self-hosting option requires you to complete a few additional configuration steps before AI agents can reach the new MCP servers. You’ll need to:&lt;/p&gt;
&lt;ol start=&quot;21&quot;&gt;&lt;li&gt;In the CLI, use your keyboard to type the &lt;strong&gt;npm install&lt;/strong&gt; command, followed by the Enter key, to install the MCP server’s dependencies.&lt;/li&gt;
&lt;li&gt;In the CLI, use your keyboard to type the &lt;strong&gt;npm run build&lt;/strong&gt; command, followed by the Enter key, to generate TypeScript code for the MCP server.&lt;/li&gt;
&lt;li&gt;In the CLI, use your keyboard to type the &lt;strong&gt;npm start&lt;/strong&gt; command, followed by the Enter key, to start and run the MCP server.&lt;/li&gt;
&lt;li&gt;Open the settings or desktop configuration file for your LLM application; for e.g., navigate to &lt;strong&gt;Settings -&amp;gt;&lt;/strong&gt;&lt;strong&gt; Connectors -&amp;gt;&lt;/strong&gt;&lt;strong&gt; Create&lt;/strong&gt; for the ChatGPT Web or desktop client, or open the &lt;strong&gt;claude_desktop_config.json&lt;/strong&gt; file for Claude Desktop.&lt;/li&gt;
&lt;li&gt;Modify the settings or desktop configuration file you opened at Step 24, above, to insert the MCP server, and then re-save the settings or desktop configuration file.&lt;/li&gt;
&lt;li&gt;Repeat Steps 21-25, above, for each additional GM-X Auto API that requires an MCP server.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gotchas You Won&#039;t Have To Worry About When Deploying The GM-X Auto OpenAPI MCP Bridge&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Riya Sethi, the Truto Software Engineer, doesn’t mince words in her blog post &lt;a href=&quot;https://truto.one/blog/openapi-to-mcp-how-mcp-servers-auto-generate-tools-from-api-docs/&quot;&gt;OpenAPI to MCP: How MCP Servers Auto-Generate Tools From API Docs&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;If you are building AI agents that interact with external SaaS platforms, you have likely hit a wall. Manually writing and maintaining JSON Schema tool definitions for every API endpoint across dozens of providers is an unscalable architecture.&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Why? Because:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;Vendor APIs change constantly. Endpoints are deprecated, required fields shift, and documentation often lies. Hardcoding your AI agent&#039;s tools against these moving targets guarantees your engineering team will spend their cycles patching broken schemas instead of improving agent reasoning … Auto-generating MCP tools from OpenAPI specifications is not a simple parsing exercise. It is a solved problem in the trivial case and a hard problem at production quality.&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Having done all that work, even if you successfully:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;take a vendor&#039;s OpenAPI specification, run it through a script, and expose every single endpoint as an MCP tool &lt;/em&gt;[, such]&lt;em&gt; naive 1:1 mapping fails in production immediately.&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;That’s because of “tool explosion” or “context bloat” which means:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;A REST API with 200 endpoints becomes 200 tools. LLMs struggle with tool selection accuracy when presented with more than 25 to 50 tools at once. Frontier models degrade sharply once the tool list crosses a few dozen entries because every tool description competes for the same context budget and the router has to disambiguate more candidates per call. Ship all 200, dump an entire spec into an MCP server, and the agent starts guessing while wasting massive amounts of valuable context window space.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Every tool description you expose to an LLM costs tokens on every request. A 200-endpoint API shipped as 200 MCP tools burns 15-30k tokens before the model has read the user&#039;s message. Context bloat is not a rounding error; it is the dominant cost driver for agent workloads … Because LLMs degrade when exposed to more than 50 tools, you cannot serve a massive API surface on a single MCP endpoint. You must implement filtering. The fix is tool scoping. Group endpoints by functional area and let the MCP server owner select which groups to expose … Combined tag and method filters routinely cut a 200-tool provider dump down to 12-30 relevant tools per server, which is the sweet spot where models stop hallucinating tool names and context windows are preserved.&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The GM-X Auto OpenAPI MCP Bridge documentation consists of 452 API bundles that expose a total of 7,870 endpoints, or 17 endpoints per API on average. This means only four of the APIs (less than one percent) expose more than 50 tools per MCP server, of which the largest (&lt;strong&gt;GMXAuto_invoice_header.json&lt;/strong&gt;) ships with 87―far short of the 200-tool “dumps” that SaaS vendors tend to provide.&lt;/p&gt;
&lt;p&gt;By contrast, 398 of the GM-X Auto API bundles (88 percent) ship with 30 or fewer tools per server, and those API bundles expose just 14 endpoints per API on average.&lt;/p&gt;
&lt;p&gt;In short, the overwhelming majority of GM-X Auto API bundles fit well within the “sweet spot” that preserves context windows and avoids hallucinations, without requiring any additional filtering. Only the judicious selection of APIs to fit specific narrowly-scoped AI deployments is needed. &lt;/p&gt;
&lt;p&gt;Sethi mentions another important architectural aspect concerning “snake case,” the naming convention for objects, properties, and methods which replaces spaces with underscore (_) characters, and uses lowercase letters only:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;LLMs handle &lt;strong&gt;get_single_hubspot_contact_by_id&lt;/strong&gt; or &lt;strong&gt;create_a_crm_contact&lt;/strong&gt; more reliably than &lt;strong&gt;getContact&lt;/strong&gt;. The tool name doubles as a strong semantic hint about the operation. Names derived from the provider label plus resource plus method survive tokenization better and reduce hallucinated tool calls.&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The good news is that nearly all objects and properties within the GM-X ERP application are natively identified using “snake case,” as our &lt;a href=&quot;https://www.radicore.org/viewarticle.php?article_id=64&quot;&gt;Programming Guidelines&lt;/a&gt; have strongly recommended for the past twenty years. Names that comply with those guidelines not only provide the optimal semantic hints for LLMs; they eliminate difficulties that LLMs encounter when trying to comprehend labels used in legacy ERP systems.&lt;/p&gt;
&lt;p&gt;To illustrate, as shown in the &lt;strong&gt;GMXAuto_unit_of_measure_conv.json&lt;/strong&gt; API, the GM-X object name is &lt;strong&gt;uom_conversion&lt;/strong&gt; and one of its property names is &lt;strong&gt;conversion_factor&lt;/strong&gt;. The name of the path which adds a new conversion factor is &lt;strong&gt;uom_conversion(add2) &lt;/strong&gt;which is derived from the resource and method. Comparable names within the legacy SAP S/4HANA ERP system offer much weaker semantic hints for LLMs; for example, &lt;strong&gt;BAPI_MATERIAL_SAVEDATA &lt;/strong&gt;(the method for adding a new conversion factor for material), &lt;strong&gt;BAPIMATMRM&lt;/strong&gt; (unit of measure conversions object for material), &lt;strong&gt;UMREZ&lt;/strong&gt; (conversion numerator), and &lt;strong&gt;UMREN&lt;/strong&gt; (conversion denominator). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In conclusion, the foregoing constitutes irrefutable proof that the GM-X Auto OpenAPI Bridge documentation can genererate working Model Context Protocol (MCP) servers automatically, without the explosion of tools, context bloat, or token consumption waste that plagues APIs provided by vendors of most ERP applications, including Software-as-a-Service (SaaS) as well as legacy ERP APIs.  &lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;section class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above view-mode-rss&quot;&gt;&lt;h2 class=&quot;field-label&quot;&gt;Tags:&amp;nbsp;&lt;/h2&gt;&lt;ul class=&quot;field-items&quot;&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/gm-x-auto&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GM-X Auto&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/tags/mcp&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MCP&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/ai-agents&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;AI Agents&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/tags/openapi&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;OpenAPI&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/headless-erp&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;Headless ERP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;</description>
 <pubDate>Mon, 21 Sep 2026 04:44:43 +0000</pubDate>
 <dc:creator>admin</dc:creator>
 <guid isPermaLink="false">142 at https://geoprise.com</guid>
 <comments>https://geoprise.com/blog/tales-front-building-mcp-servers-gm-x-auto-openapi-documentation#comments</comments>
</item>
<item>
 <title>GM-X Auto OpenAPI Bridge Documentation Now Available at GitHub</title>
 <link>https://geoprise.com/content/gm-x-auto-openapi-bridge-documentation-now-available-github</link>
 <description>&lt;div class=&quot;field field-name-field-news-image field-type-image field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;figure class=&quot;clearfix field-item even&quot;&gt;&lt;img typeof=&quot;foaf:Image&quot; class=&quot;image-style-none&quot; src=&quot;https://geoprise.com/sites/default/files/GMXAuto.jpg&quot; width=&quot;354&quot; height=&quot;270&quot; alt=&quot;&quot; /&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;BANGKOK, September 8, 2026―Today, just 3 weeks after its launch announcement, Geoprise published machine-readable documentation at &lt;a href=&quot;https://github.com/geoprise/GMXAuto&quot; tabindex=&quot;0&quot; target=&quot;_self&quot;&gt;GitHub&lt;/a&gt; for GM-X Auto, the first and only enterprise resources planning (ERP) application suite in the world to expose all of its 3,887 functions, screens, and reports to Model Context Protocol (MCP) servers through 452 published application programming interfaces (APIs) that are compatible with the OpenAPI Specification (OAS).&lt;/p&gt;
&lt;p&gt;All 452 OpenAPI documents are available in bundled format, and are located in the &lt;a class=&quot;iufxJiHlMivbACJhQsVicjbcpbUIHXgnvjM &quot; href=&quot;https://github.com/geoprise/GMXAuto/tree/main/models&quot; tabindex=&quot;0&quot; target=&quot;_self&quot;&gt;models&lt;/a&gt; folder.[1] They are single file JavaScript Object Notation (JSON) artifacts comprising assemblies of OpenAPI components to promote useability and portability. This is the preferred way of interacting with Geoprise GM-X Auto OpenAPI descriptions. They reflect a reference implementation of the GM-X ERP application, Version 11.3.0.&lt;/p&gt;
&lt;p&gt;Because all GM-X Auto APIs are documented in compliance with the OAS (formerly known as the Swagger Specification), they can be transformed automatically into functional MCP servers that expose them as tools to frontier large language model (LLM) applications, such as Claude Desktop, that have titles, descriptions, and input schema which AI agents can discover and interpret to create natural-language requests. The MCP server converts those requests into API calls which activate the documented Web application functions that generate and return the results to the AI agent.&lt;/p&gt;
&lt;p&gt;The documentation is licensed under the &lt;a class=&quot;iufxJiHlMivbACJhQsVicjbcpbUIHXgnvjM &quot; href=&quot;https://github.com/geoprise/GMXAuto/blob/main/LICENSE&quot; tabindex=&quot;0&quot; target=&quot;_self&quot;&gt;GNU Affero General Public License v3.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;[1] The final tallies of APIs, functions, screens, and reports are slightly different from what Geoprise announced last month, and were primarily motivated by the firm&#039;s decision to disable four APIs reserved for developers and implementors only, and therefore deemed to introduce unacceptable security risks for GM-X end users.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;About Geoprise&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Geoprise Technologies Corporation was formed in 1999 by a group of software executives with over a century of previous cumulative experience building ERP and manufacturing operations management systems and implementing them worldwide. The privately held company&#039;s mission, then and now, is to create exceptional value for its customers by harnessing the power and economy of information technology to enable lean, world-class industrial operations on a global scale. Today, Geoprise focuses exclusively on delivering its state-of-the-art GM-X Auto ERP solution to businesses operating in North America, Europe, Asia, and the Pacific Rim. Geoprise values integrity by maintaining strict independence, intense commitment to business ethics and profound respect for intellectual property rights. For further information, visit the company&#039;s website at &lt;a href=&quot;https://www.geoprise.com/&quot;&gt;geoprise.com&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;section class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above view-mode-rss&quot;&gt;&lt;h2 class=&quot;field-label&quot;&gt;Tags:&amp;nbsp;&lt;/h2&gt;&lt;ul class=&quot;field-items&quot;&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/gm-x-auto&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GM-X Auto&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/tags/github&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GitHub&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/mcp&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MCP&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/tags/ai-agents&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;AI Agents&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/openapi&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;OpenAPI&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;</description>
 <pubDate>Thu, 10 Sep 2026 10:23:30 +0000</pubDate>
 <dc:creator>admin</dc:creator>
 <guid isPermaLink="false">141 at https://geoprise.com</guid>
 <comments>https://geoprise.com/content/gm-x-auto-openapi-bridge-documentation-now-available-github#comments</comments>
</item>
<item>
 <title>Geoprise Announces First-Ever OpenAPI Bridge To Fully Connect ERP and Agentic AI</title>
 <link>https://geoprise.com/content/geoprise-announces-first-ever-openapi-bridge-fully-connect-erp-and-agentic-ai</link>
 <description>&lt;div class=&quot;field field-name-field-news-image field-type-image field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;figure class=&quot;clearfix field-item even&quot;&gt;&lt;img typeof=&quot;foaf:Image&quot; class=&quot;image-style-none&quot; src=&quot;https://geoprise.com/sites/default/files/DualModeGMXAutoERP_news.jpg&quot; width=&quot;1536&quot; height=&quot;885&quot; alt=&quot;&quot; /&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;BANGKOK, August 12, 2026 ― Geoprise Technologies today released GM-X Auto, the first and only enterprise resources planning (ERP) application suite in the world to expose every single one of its 3,871 functions, screens, and reports to Model Context Protocol (MCP) servers through 456 published application programming interfaces (APIs) that are compatible with the OpenAPI Specification (OAS). Previously, according to Openapi, Europe’s biggest API Marketplace, no commercial ERP applications exposed all their screens, internal functions, and reports as OpenAPI-conforming APIs out of the box.&lt;/p&gt;
&lt;p&gt;“GM-X Auto is a truly revolutionary breakthrough,” said Geoprise Founder Nelson Nones. “Not one of the legacy ERP applications on the market today exposes its entire set of functions, screens, and reports through OAS-compatible APIs. Although a few challengers offer API-first, metadata-driven ‘headless ERP’ systems, none has screens that people can use, nor do any of them address the mission-critical finance requirements that GM-X Auto does, such as general ledger, receivables, payables, or assets,” he added.&lt;/p&gt;
&lt;p&gt;Nones likens the new GM-X Auto OpenAPI Bridge to a famous high-speed input-output bridge introduced 44 years ago that enabled IBM mainframes to offload scientific number crunching to Cray supercomputers for the first time. In 1985, the &lt;em&gt;New York Times&lt;/em&gt; reported that “manufacturers, and now even movie companies, are also buying the machines, which provide far-greater computing power than any mainframe can deliver,” quoting an industry analyst who proclaimed, “It’s clear the market is poised for explosive growth.”&lt;/p&gt;
&lt;p&gt;According to Nones, “just as Cray connected its powerful new supercomputers to existing business mainframes in the past, MCP today harnesses the reasoning, planning, and decision-making capabilities of advanced, state-of-the-art frontier large language models (LLMs) by giving LLM Applications like Claude Desktop a reliable way to discover, rationalize, and interact with Web applications” such as the GM-X Auto ERP system. The business opportunity driving LLM adoption is the automation of repetitive, tedious ERP data entry and reporting tasks using AI agents. &lt;/p&gt;
&lt;p&gt;The Geoprise motto for GM-X Auto is, “ERP for AI when you can; for people when you must,” signifying that when tasks must be entrusted to people instead of AI, GM-X Auto is fully functional using any smartphone, tablet, or desktop browser; yet when the same tasks can be safely delegated to AI agents, MCP servers expose them as tools that AI agents learn to execute in exactly the same way, and between the same guardrails, that human users would.&lt;/p&gt;
&lt;p&gt;The GM-X Auto Audit subsystem holds both people and AI agents accountable by keeping complete histories of who (or which agent) changed what, what they changed, and when they changed it. The GM-X Auto ERP system also mitigates AI risks by employing exactly the same role-based access controls for AI agents that enterprises can configure the system to enforce for human users.&lt;/p&gt;
&lt;p&gt;For further information, please visit the &lt;a href=&quot;https://geoprise.com/blog/erp-ai-when-you-can-people-when-you-must&quot;&gt;blog post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;About Geoprise&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Geoprise Technologies Corporation was formed in 1999 by a group of software executives with over a century of previous cumulative experience building ERP and manufacturing operations management systems and implementing them worldwide. The privately held company&#039;s mission, then and now, is to create exceptional value for its customers by harnessing the power and economy of information technology to enable lean, world-class industrial operations on a global scale. Today, Geoprise focuses exclusively on delivering its state-of-the-art GM-X Auto ERP solution to businesses operating in North America, Europe, Asia, and the Pacific Rim. Geoprise values integrity by maintaining strict independence, intense commitment to business ethics and profound respect for intellectual property rights. For further information, visit the company&#039;s website at &lt;a href=&quot;https://www.geoprise.com/&quot;&gt;geoprise.com&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;section class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above view-mode-rss&quot;&gt;&lt;h2 class=&quot;field-label&quot;&gt;Tags:&amp;nbsp;&lt;/h2&gt;&lt;ul class=&quot;field-items&quot;&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/gm-x-auto&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GM-X Auto&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/tags/mcp&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MCP&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/ai-agents&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;AI Agents&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/tags/openapi&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;OpenAPI&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/headless-erp&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;Headless ERP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;</description>
 <pubDate>Wed, 12 Aug 2026 09:18:35 +0000</pubDate>
 <dc:creator>admin</dc:creator>
 <guid isPermaLink="false">140 at https://geoprise.com</guid>
 <comments>https://geoprise.com/content/geoprise-announces-first-ever-openapi-bridge-fully-connect-erp-and-agentic-ai#comments</comments>
</item>
<item>
 <title>ERP For AI When You Can; For People When You Must</title>
 <link>https://geoprise.com/blog/erp-ai-when-you-can-people-when-you-must</link>
 <description>&lt;div class=&quot;field field-name-field-blog-image field-type-image field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;figure class=&quot;clearfix field-item even&quot;&gt;&lt;img typeof=&quot;foaf:Image&quot; class=&quot;image-style-none&quot; src=&quot;https://geoprise.com/sites/default/files/DualModeGMXAutoERP.jpg&quot; width=&quot;1536&quot; height=&quot;885&quot; alt=&quot;&quot; /&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;field field-name-body field-type-text-with-summary field-label-hidden view-mode-rss&quot;&gt;&lt;div class=&quot;field-items&quot;&gt;&lt;div class=&quot;field-item even&quot; property=&quot;content:encoded&quot;&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;By:&lt;/em&gt; Nelson M. Nones CPIM&lt;/strong&gt;, Founder, Chairman and President, Geoprise Technologies Corporation&lt;/p&gt;
&lt;p&gt;Nearly a half-century ago, Cray Research, Inc. owned the high-end scientific computing market. It faced practically no direct commercial competition ever since launching its CRAY-1 supercomputer in 1975.&lt;/p&gt;
&lt;p&gt;But the niche market for high-end scientific computers was small, so the company’s president, John Rollwagen, engaged my father, Walter Nones, to conduct a marketing strategy study to discover new growth opportunities.&lt;/p&gt;
&lt;p&gt;Drawing upon in-depth interviews with senior business executives across the United States, my father concluded that the commercial business data processing market long dominated by International Business Machines Corporation (IBM) was ripe for exploitation, but required a new kind of high-speed input-output bridge allowing IBM mainframe computers to offload scientific number crunching to Cray supercomputers at the back end.&lt;/p&gt;
&lt;p&gt;Accepting those findings, Rollwagen initiated a strategic shift to multi-processor architectures and parallel computing, culminating in the launch of the CRAY X-MP in 1982. Thereafter, Cray’s revenues and net earnings grew over fourfold, from 516 million to 2.2 billion USD of revenue and 69 to 289 million USD of net earnings in today’s dollars by 1991, and the number of employees grew apace from about 1,300 to nearly 5,400.&lt;/p&gt;
&lt;p&gt;According to a &lt;a href=&quot;https://www.nytimes.com/1985/03/01/business/the-surge-in-supercomputers.html&quot;&gt;1985 &lt;em&gt;New York Times&lt;/em&gt; article&lt;/a&gt;,&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;“all three of the nation&#039;s largest auto makers have installed supercomputers in their design centers, seeking to test-drive their prototypes without ever building them … Aerospace and chemical manufacturers, and now even movie companies - seeking to create three-dimensional special effects for science fiction films - are also buying the machines, which provide far-greater computing power than any mainframe can deliver. ‘It&#039;s clear the market is poised for explosive growth,’ said Jeffry Canin, an analyst at Hambrecht &amp;amp; Quist Inc., ‘because now it&#039;s not just the Defense Department and the universities that are grabbing them up.’”&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;The Model Context Protocol Bridge&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Cray Research story reminds me of the way many businesses are adopting advanced, state-of-the-art frontier large language models (LLMs) today. Just as the CRAY X-MP connected powerful new supercomputers to existing business mainframes, Model Context Protocol (MCP) harnesses the reasoning, planning, and decision-making capabilities of LLMs such as &lt;a href=&quot;https://www.anthropic.com/&quot;&gt;Anthropic Claude&lt;/a&gt;, &lt;a href=&quot;https://copilot.microsoft.com/&quot;&gt;Microsoft Copilot&lt;/a&gt;, &lt;a href=&quot;https://gemini.google.com/app&quot;&gt;Google Gemini&lt;/a&gt;, and &lt;a href=&quot;https://chatgpt.com/&quot;&gt;OpenAI ChatGPT&lt;/a&gt; by reliably connecting autonomous AI agents to application programming interface (API) endpoints exposed by Web applications.&lt;/p&gt;
&lt;p&gt;Simply put, MCP gives LLMs a way to discover, rationalize, and interact with Web applications including mission-critical enterprise resources planning (ERP) software. The business opportunity driving the adoption of LLMs is the automation of repetitive, tedious data entry and reporting tasks using AI agents.  &lt;/p&gt;
&lt;p&gt;First released by Anthropic in November 2024, MCP is today’s universal standard for connecting AI agents to APIs. Any API that is documented according to the &lt;a href=&quot;https://spec.openapis.org/oas/v3.1.1.html&quot;&gt;OpenAPI Specification&lt;/a&gt;―formerly known as the Swagger Specification―can be transformed automatically into functional MCP servers that expose the API as a tool to LLM Applications such as Claude Desktop, as shown in the illustration below. Transformation is done using popular MCP generator services including &lt;a href=&quot;https://www.postman.com/explore/mcp-generator&quot;&gt;Postman&lt;/a&gt;, &lt;a href=&quot;https://www.speakeasy.com/&quot;&gt;Speakeasy Gram&lt;/a&gt;, &lt;a href=&quot;https://liblab.com/products/mcp&quot;&gt;liblab&lt;/a&gt;, &lt;a href=&quot;https://github.com/PrefectHQ/fastmcp&quot;&gt;Prefect FastMCP&lt;/a&gt;, and &lt;a href=&quot;https://www.stainless.com/mcp/from-rest-api-to-mcp-server/&quot;&gt;Stainless&lt;/a&gt; (now part of Anthropic); and self-hosted generators such as the open-source &lt;a href=&quot;https://github.com/harsha-iiiv/openapi-mcp-generator&quot;&gt;openapi-mcp-generator&lt;/a&gt; are also available.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;Transformation of OpenAPI Documents Into a Model Context Protocol Server&quot; src=&quot;../sites/default/files/OpenAPIDiagram.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Each tool visible and available to an LLM Application has a title, description, and input schema which AI agents can discover and interpret to create natural-language requests. The MCP server converts those requests into API calls which activate specific Web application functions that generate and return the results to the AI agent.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Legacy ERP Conundrum&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Generally, ERP applications are a class of business software dominated by well-known legacy incumbents including SAP ECC and older SAP R/3 releases, Oracle E-Business Suite (Oracle EBS), Oracle NetSuite, PeopleSoft, JD Edwards, Infor, and older Microsoft products like Dynamics Great Plains (GP) and Dynamics NAV.&lt;/p&gt;
&lt;p&gt;Those mission-critical systems were expensive to buy, even more expensive to customize and implement, and are proving exceedingly difficult to replace due to their broad enterprise footprint. Increasingly, they are obstructing the adoption of AI agents for the purpose of automating repetitive, tedious data entry and reporting tasks, because they expose few―if any―APIs that comply with the OpenAPI Specification (OAS).&lt;/p&gt;
&lt;p&gt;In fact, not one single legacy ERP application on the market exposes its entire set of transactions (functions, screens, and reports) as OAS-compatible APIs today, and many of them require proprietary adapters or API gateways to generate OAS-compatible documentation for specific transactions like Accounts Payable or Order Management.&lt;/p&gt;
&lt;p&gt;According to &lt;a href=&quot;https://labwyze.com/blog/headless-erp-architecture-explained.html&quot;&gt;Seth Ravin&lt;/a&gt;, CEO of Rimini Street, a global provider of end-to-end enterprise software support,&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;“A Censuswide survey of 4,295 CFOs, CISOs, CIOs, and CEOs found that 70% do not see traditional ERP as the future of enterprise software. That is not a fringe opinion from a handful of disgruntled IT directors — it is a majority position among the people who sign off on enterprise technology budgets. The alternative they are increasingly pointing to is headless ERP: an architecture that separates the system that runs your business from the interface your employees actually use.”&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Headless ERP Architecture And Its Pitfalls&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ravin continues,&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;“Traditional ERP systems are monolithic: the database, the business logic, and the user interface are bundled together and shipped as one product … Headless ERP inverts this. It separates the backend, the database, business logic, and core operational functions like finance, inventory, and HR, from the ‘head,’ the user interface layer that employees, customers, and partners actually interact with. In a headless architecture, the ERP engine exposes its functions through APIs rather than through a fixed set of screens.”&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;A much newer class of “API-first” or “metadata-driven” ERP applications is emerging that expose all their transactions as OAS-compatible APIs requiring no proprietary middleware or custom-coded wrappers, but the leading headless ERP challengers have two major weaknesses.&lt;/p&gt;
&lt;p&gt;First, they are truly headless in that they provide no user interface whatsoever, which makes them impossible to use when businesses must entrust the execution of specific transactions (such as the approval and initiation of electronic payments) to people because AI agents are too risky.&lt;/p&gt;
&lt;p&gt;Second, the leading headless ERP challengers have a much narrower ERP footprint than legacy ERP incumbents. As just one example, none of them offer any finance capabilities such as General Ledger, Accounts Payable, Accounts Receivable, or Fixed Assets.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GM-X Auto – A Revolutionary Breakthrough&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Today, Geoprise Technologies became the first and only ERP software house in the world to offer an ERP application—GM-X Auto—that exposes every single one of its 3,871 functions, screens, and reports to MCP servers through 456 OAS-compatible APIs requiring no proprietary middleware or custom-coded wrappers.&lt;/p&gt;
&lt;p&gt;Unlike the offerings of headless ERP challengers, GM-X Auto also provides a browser user interface for each of those 3,871 transactions, so they are equally accessible and useable by people as they are by AI agents. Originally introduced in 2018, the GM-X Auto user interface is fully responsive, allowing it to &lt;a href=&quot;https://geoprise.com/blog/gm-x-worlds-first-mobile-first-erp&quot;&gt;run equally well on smartphone, tablet, and desktop browsers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;GM-X Auto, therefore, can function in either headless or traditional (“headful”) modes. The motto for our unique capability is, &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
&lt;em&gt;“ERP for AI when you can; for people when you must.”&lt;/em&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;When tasks must be entrusted to people instead of AI, the GM-X Auto ERP application works exactly the same as GM-X itself has done for many years.&lt;/p&gt;
&lt;p&gt;When tasks can be delegated to AI agents, on the other hand, MCP servers expose them as tools that execute those transactions in exactly the same way that human users would when using a smartphone, tablet, or desktop browser.&lt;/p&gt;
&lt;p&gt;Also, unlike the software capabilities of headless ERP challengers, 21 different GM-X Auto subsystems cover an &lt;a href=&quot;https://geoprise.com/content/gm-x-application-suite&quot;&gt;exceptionally broad enterprise footprint&lt;/a&gt; encompassing finance (General Ledger, Accounts Receivable, Accounts Payable, Fixed Assets), customer relationship management (CRM), supplier relationship management (SRM), supply chain management (SCM, including manufacturing and logistics), strategic human resources (HR), and business process management (BPM).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How GM-X Auto Mitigates Autonomous AI Agent Risks&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Without human oversight, it’s no secret that AI agents introduce major security and governance risks because of their ability to plan, decide, and act autonomously. Those risks can multiply exponentially when AI agents hold broad, long-lasting API keys or tokens, potentially allowing attackers to move laterally through an ERP system.&lt;/p&gt;
&lt;p&gt;The GM-X Auto ERP application substantially mitigates those risks by employing exactly &lt;a href=&quot;https://geoprise.com/content/gm-x-menu-subsystem-features&quot;&gt;the same role-based access controls&lt;/a&gt; for AI agents that you can configure the application to enforce for human users.&lt;/p&gt;
&lt;p&gt;As a non-negotiable best practice, Geoprise strongly recommends assigning a permanent and unique GM-X User Id to each running AI agent instance, just as you would assign a unique User Id to each human user. This practice will hold every AI agent accountable for its actions through the built-in GM-X Audit subsystem which automatically maintains a complete history of who (or which agent) changed what, what they changed, and when they changed it.&lt;/p&gt;
&lt;p&gt;It also allows you to assign roles you configure for AI agents that grant access to the narrowest possible scope of data and transactions needed to perform the tasks delegated to AI agents, thereby enabling you to erect strong guardrails that prevent autonomous AI agents from spawning cascading streams of errors, unforeseen liabilities and financial costs, or leaking vital secrets, should they escape and run amok. &lt;/p&gt;
&lt;p&gt;GM-X Auto also saves you money. Assigning a permanent and unique User Id to each AI agent instance can become prohibitively expensive under user-based ERP licenses or Software-as-a-Service (SaaS) subscriptions, because each one requires a separate paid-up account no matter when or how often the instance runs. But this is never a problem with the GM-X Auto ERP application, which is licensed and paid for by application server. Each GM-X Auto server supports unlimited users, whether AI agents or people.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;section class=&quot;field field-name-field-tags field-type-taxonomy-term-reference field-label-above view-mode-rss&quot;&gt;&lt;h2 class=&quot;field-label&quot;&gt;Tags:&amp;nbsp;&lt;/h2&gt;&lt;ul class=&quot;field-items&quot;&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/gm-x-auto&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;GM-X Auto&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/tags/mcp&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;MCP&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/ai-agents&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;AI Agents&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item odd&quot;&gt;&lt;a href=&quot;/tags/openapi&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;OpenAPI&lt;/a&gt;&lt;/li&gt;&lt;li class=&quot;field-item even&quot;&gt;&lt;a href=&quot;/tags/headless-erp&quot; typeof=&quot;skos:Concept&quot; property=&quot;rdfs:label skos:prefLabel&quot; datatype=&quot;&quot;&gt;Headless ERP&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/section&gt;</description>
 <pubDate>Tue, 11 Aug 2026 09:46:05 +0000</pubDate>
 <dc:creator>admin</dc:creator>
 <guid isPermaLink="false">139 at https://geoprise.com</guid>
 <comments>https://geoprise.com/blog/erp-ai-when-you-can-people-when-you-must#comments</comments>
</item>
</channel>
</rss>
