Infor M3 MCP server

Prebuilt SnapLogic agentic-tool pipelines that let an LLM read from and act on Infor M3, callable as MCP tools via Pipeline Execute. Published in the SnapLogic pattern catalog.

Overview

These tools give agents read and write access to Infor M3 data through three generic tools: one for read transactions, one for write transactions, and one to look up the field definitions a transaction requires. Use them to query, create, update, or delete M3 business records across any supported program.

For setup instructions, see SnapLogic MCP Server quickstart.

Example Prompts

  • Create a new customer in M3: company 100, customer number NEW01, name 'New Corp', address '123 Main St', country US
  • Run CRS610MI/AddBasicData for this customer record
  • Update the customer name on CUNO ACME01 in company 100
  • Delete item A100 from company 100 using MMS200MI
  • Change the delivery address on that M3 customer to the new one
  • What fields does CRS610MI/LstByNumber take?
  • Describe the input fields for the M3 customer add transaction
  • Which field codes do I need to create a customer in M3?
  • Show me the output fields returned by MMS200MI/GetItmBasic
  • That M3 write failed on a missing field — list what AddBasicData actually requires

Tools

Tool Name Functions
InforM3Action Execute a write M3 MI transaction (Add/Update/Delete) on a program.
InforM3Describe List the field definitions for an M3 program/transaction from the M3 metadata API.
InforM3Query Run any read/List M3 MI transaction and return the matching records.

Set up the MCP Server tools

  1. Download infor-m3_tools.zip.
  2. In SnapLogic Designer, open the target project space (or create one), then choose Import Project / Import Pipelines and select the downloaded infor-m3_tools.zip. Designer unpacks each pipeline into the project.
  3. Attach the required account to the connectivity snaps (see Connection Setup).
  4. Expose the project as an MCP server — each pipeline becomes a tool named after its label. New to this? Start with the MCP quickstart, then use the MCP Server Pipeline Builder to generate the server from the imported pipelines.

Configure account

Attach an API Suite account (OAuth 2.0 or Bearer token) to the HTTP Client snap in Designer after import.

These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute.

See the SnapLogic account documentation for this connector: API Suite Account Configuration.

Important: These pipelines ship without credentials by design — attach a valid account in Designer before the tools will execute. Credentials live in the SnapLogic account store, never in the pipeline JSON.

InforM3Action

Executes a write M3 MI transaction, covering Add, Update, Delete, and Change operations on master or transactional data. Use InforM3Describe first if you are unsure which field codes the transaction requires.

Parameter Type Default Description
program* string

M3 MI program to call, e.g. CRS610MI.

transaction* string

Write transaction on that program, e.g. AddBasicData, UpdBasicData, DelBasicData.

fields* object

Map of M3 four-character field codes to values making up the record, e.g. {"CONO": "100", "CUNO": "NEW01", "CUNM": "New Corp"}. Each key becomes a URL-encoded query argument.

* Required parameter.

Try asking:

  • Create a new customer in M3: company 100, customer number NEW01, name 'New Corp', address '123 Main St', country US
  • Run CRS610MI/AddBasicData for this customer record
  • Update the customer name on CUNO ACME01 in company 100
  • Delete item A100 from company 100 using MMS200MI
  • Change the delivery address on that M3 customer to the new one

InforM3Describe

Returns the field definitions for an M3 MI transaction, so you can discover the field codes a program expects before calling it. Use it when field codes are unknown or when a write transaction fails on a missing field.

Parameter Type Default Description
program* string

M3 MI program to describe, e.g. CRS610MI. Sent as MINM.

transaction* string

Transaction on that program to describe, e.g. LstByNumber. Sent as TRNM.

field_type string I

M3 field-type selector, sent as TRTP. Defaults to 'I' when blank.

* Required parameter.

Try asking:

  • What fields does CRS610MI/LstByNumber take?
  • Describe the input fields for the M3 customer add transaction
  • Which field codes do I need to create a customer in M3?
  • Show me the output fields returned by MMS200MI/GetItmBasic
  • That M3 write failed on a missing field — list what AddBasicData actually requires

InforM3Query

Runs a read M3 MI transaction and returns the matching records, with optional controls for the number of rows and the columns returned. Use it to query any M3 business object when the program and transaction are known or have been discovered with InforM3Describe.

Parameter Type Default Description
program* string

M3 MI program to call, e.g. CRS610MI, MMS200MI, OIS100MI.

transaction* string

Transaction on that program, e.g. LstByNumber, GetBasicData.

fields* object

Map of M3 four-character field codes to values used as the transaction's input, e.g. {"CONO": "100", "CUNO": "ACME01"}. Each key becomes a URL-encoded query argument.

max_records string 100

Maximum rows to return; sent as the maxrecs modifier. Defaults to 100 when blank.

return_columns string

Subset of columns to return; sent as the returncols modifier. Omit to return every column the transaction produces.

* Required parameter.

Try asking:

  • List the customers in company 100 from CRS610MI
  • Run CRS610MI/LstByNumber for CONO 100 and give me the first 25 rows
  • Look up item MMS200MI details for item number A100 in company 100
  • Get open order lines from OIS100MI for company 100, but only return the order number and status columns
  • Show me 500 records from that M3 list transaction instead of the default 100