Skip to main content
Glama
brainmakeassistant

Fusion BIP MCP Server

Fusion BIP MCP Server

An MCP server that gives an AI agent safe, described access to Oracle Fusion BI Publisher. Instead of handing an agent raw credentials, you expose a small set of scoped tools it can call — run a query, run a report, fetch or deploy catalog objects — and the server talks to Fusion's BI Publisher SOAP service directly. No database and no middle tier to stand up.

This is a public, source-only mirror of the core server for people who want to read the code or point their own agent at their own Fusion instance.

The tools

Tool

What it does

Access

query_fusion

Run a read-only SELECT against Oracle Fusion and return the rows

read

run_report

Run a deployed BI Publisher report and return its output

read

get_catalog_object

Download a catalog object definition (.xdm / .xdo) for inspection

read

deploy_data_model

Deploy a BI Publisher data model (.xdm) to a catalog folder

write

deploy_report

Deploy a BI Publisher report (.xdo) linked to a data model

write

delete_catalog_object

Delete a data model or report from the catalog

write, off by default

The destructive delete_catalog_object tool stays unregistered unless you explicitly opt in with FUSION_MCP_ENABLE_DELETE=1, so an agent cannot delete anything it was never given.

How it fits together

AI agent (Claude Code, etc.)
      │  MCP (stdio)
      ▼
  server.py        registers the tools, meters usage
      │
  client.py ─────► direct_client.py ──► BI Publisher SOAP  ──►  Oracle Fusion
      │                                   (soap.py builds the envelopes,
  context.py                               execute.py runs them,
  (credentials/targets)                    builders.py shapes .xdm/.xdo)
  • server.py — the MCP server; registers each tool and its description.

  • client.py — the backend seam the server imports.

  • direct_client.py — the six operations implemented against BI Publisher SOAP.

  • soap.py / execute.py / builders.py — envelope construction, execution, and .xdm/.xdo artifact building.

  • context.py — where the Fusion pod and user credentials are resolved for a call. The defaults in this mirror are placeholders (your-pod, bip_user); wire in your own.

  • metering.py — an append-only, metadata-only usage log.

Running it locally

pip install -e ".[stdio]"    # installs the mcp runtime
# set your Fusion pod + user in context.py (or via environment) and register
# fusion-mcp with your MCP client (Claude Code / Desktop) over stdio.

Notes

  • This mirror is the direct-over-SOAP path only. Credential wiring is intentionally left as placeholders — it does not run as-is against any real instance until you supply your own Fusion pod and a user with the BI Publisher Author role.

  • No credentials, tokens, or private endpoints are included.

License

MIT — see LICENSE.