Skip to main content

Oracle Fusion Purchasing MCP Server

A read-Only MCP server uses STDIO transport that connects AI assistants to Oracle Fusion Cloud Procurement REST APIs.

This server provides tools to retrieve and search purchasing information, including purchase orders, PO lines, schedules, receipts, invoices, shipments, suppliers and purchase agreements. (solely for Purchasing module)

Features

  • Retrieve individual purchase orders.
  • Search multiple purchase orders using filters.
  • Filter purchase orders by supplier, buyer, and other supported attributes.
  • Retrieve purchase order lines.
  • Retrieve purchase order schedules.
  • Retrieve purchase order receipt details.
  • Retrieve purchase order invoice details.
  • Retrieve purchase order shipment details.
  • Retrieve supplier information and supplier sites.
  • Search and retrieve purchase agreements.
  • Secure authentication using Oracle Fusion credentials.
  • MCP integration using FastMCP.

Requirements

  • Python 3.12 or later.
  • Oracle Fusion Cloud Procurement instance.
  • Oracle account with appropriate REST API permissions.
  • An MCP-compatible client.

Installation

Install the Oracle Fusion Purchasing MCP server using uv:

uv tool install oracle-fusion-purchasing-mcp

After installation, the server can be launched using:

oracle-fusion-purchasing-mcp

Alternatively, run the server without permanently installing it:

uvx --from oracle-fusion-purchasing-mcp oracle-fusion-purchasing-mcp

Configuration

The server requires Oracle Fusion connection details through environment variables.

Create a .env file for local development with the following configuration:

ORA_BASEURL=https://your-oracle-fusion-instance
ORA_USERNAME=your_username
ORA_PASSWORD=your_password
ORA_API_VERSION=11.13.18.05

Replace the placeholder values with your Oracle Fusion instance details.

Never share or publish your actual .env file or Oracle credentials.

MCP Client Configuration

This server uses stdio transport.

A generic MCP client configuration example:

Add the following configuration to your MCP host configuration file (Claude Desktop, VS Code, or another compatible MCP client).

Using uvx

{
 "mcpServers": {
   "oracle-fusion-purchasing": {
     "command": "uvx",
     "args": [
       "--from",
       "oracle-fusion-purchasing-mcp",
       "oracle-fusion-purchasing-mcp"
     ],
     "env": {
       "ORA_BASEURL": "YOUR_ORACLE_BASE_URL",
       "ORA_USERNAME": "YOUR_ORACLE_USERNAME",
       "ORA_PASSWORD": "YOUR_ORACLE_PASSWORD"
     }
   }
 }
}

Replace the placeholder values with your Oracle Fusion connection details.

Note: Ensure uv is installed and available in your system PATH.

After saving the configuration, restart your MCP host to connect to the Oracle Fusion Purchasing MCP Server. The exact configuration location depends on your MCP client.

Available Tools

The server currently provides the following 12 tools covering Oracle Fusion Purchasing operations:

Purchase Orders

  • get_one_purchase_order_details - Retrieve one purchase order by PO number.
  • get_multiple_purchase_orders_details - Search purchase orders using optional filters.
  • get_purchase_order_line_details - Retrieve the lines belonging to a purchase order.
  • get_purchase_order_schedule_details - Retrieve delivery schedules for a purchase order.
  • get_po_receipt_details - Retrieve receipt details for a purchase order.
  • get_po_invoice_details - Retrieve invoice details for a purchase order.
  • get_po_shipment_details - Retrieve shipment details for a purchase order.

Suppliers

  • get_supplier_details - Retrieve supplier details by supplier name.
  • get_supplier_sites_details - Retrieve sites belonging to a supplier.

Purchase Agreements

  • get_one_purchase_agreement_details - Retrieve one purchase agreement by agreement number.
  • get_multiple_purchase_agreement_details - Search purchase agreements using optional filters.
  • get_purchase_agreement_lines_details - Retrieve the lines belonging to a purchase agreement.

The available capabilities include:

Module Capabilities
Purchase Orders Retrieve individual POs and search multiple POs
PO Lines Retrieve purchase order line details
PO Schedules Retrieve delivery schedule information
PO Receipts Retrieve receipt information
PO Invoices Retrieve invoice information
PO Shipments Retrieve shipment information
Suppliers Retrieve supplier details
Supplier Sites Retrieve supplier site information
Purchase Agreements Search and retrieve purchase agreements

Tool names, arguments, filters, and descriptions are exposed through the MCP server.

Technology Stack

  • Python
  • FastMCP
  • HTTPX
  • python-dotenv
  • Oracle Fusion Cloud REST APIs
  • uv

Logging

The application uses Python's built-in logging module.

Logs are maintained separately from MCP stdio protocol communication.

Log files are stored in the user's home directory:

  • Windows: %USERPROFILE%\.oracle_mcp\oracle_mcp.log
  • Linux/macOS: ~/.oracle_mcp/oracle_mcp.log

Development Setup

Clone the repository and navigate to the project directory.

Install dependencies:

uv sync

Run the MCP server:

uv run oracle-fusion-purchasing-mcp

Building the Package

Build the Python distribution files:

uv build

The generated wheel and source distribution will be available inside the dist/ directory.

Security Considerations

  • Store Oracle credentials securely.
  • Never commit .env files.
  • Use an Oracle integration account with appropriate minimum privileges.
  • Avoid logging sensitive purchasing information.
  • Ensure the Oracle account has access to the required REST resources.

Disclaimer

This is an independent integration project and is not affiliated with, endorsed by, or officially supported by Oracle.

Oracle and Oracle Fusion are trademarks of Oracle and/or its affiliates.

Author

Vijay

License

This project is licensed under the MIT License. See the LICENSE file for details.

Metadata

Release files for oracle-fusion-purchasing-mcp 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for oracle-fusion-purchasing-mcp 0.1.3
File Size Uploaded Provenance Actions
oracle_fusion_purchasing_mcp-0.1.3.tar.gz 9.1 kB Without provenance Details for oracle_fusion_purchasing_mcp-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for oracle-fusion-purchasing-mcp 0.1.3
File Interpreter ABI Platform Actions
oracle_fusion_purchasing_mcp-0.1.3-py3-none-any.whl Python 3 none any Details for oracle_fusion_purchasing_mcp-0.1.3-py3-none-any.whl

Total release size: 21.5 kB

Release files / oracle_fusion_purchasing_mcp-0.1.3.tar.gz

Download URL oracle_fusion_purchasing_mcp-0.1.3.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3db3af7a8597bce97d0516d21baf880ae4e21c8a533cda619a17691135b6567a
BLAKE2b-256 checksum
How to use checksums
15193ea007bef591cd8a2ad6fb684b4f07703dcc4cc5b8a7d168d7a8334f7024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / oracle_fusion_purchasing_mcp-0.1.3-py3-none-any.whl

Download URL oracle_fusion_purchasing_mcp-0.1.3-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44bd74143971ed9102e6e6534af1d7372ac7d0bcf6f9efe7e611eb2150fb03a3
BLAKE2b-256 checksum
How to use checksums
6e9ea9afd906582be586293e885cdda5f301b4edd4b6ef6a955152dfbb18d3b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Security for oracle-fusion-purchasing-mcp 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page