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 |
| Run a read-only SELECT against Oracle Fusion and return the rows | read |
| Run a deployed BI Publisher report and return its output | read |
| Download a catalog object definition ( | read |
| Deploy a BI Publisher data model ( | write |
| Deploy a BI Publisher report ( | write |
| 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/.xdoartifact 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.