Visdemo Fusion
FreeNot checkedMCP server that connects Claude Desktop to an Oracle Fusion Cloud instance. It exposes suppliers, purchase orders, invoices, and project costs as callable tools
About
MCP server that connects Claude Desktop to an Oracle Fusion Cloud instance. It exposes suppliers, purchase orders, invoices, and project costs as callable tools.
README
MCP server that connects Claude Desktop to the Visdemo Oracle Fusion Cloud instance
(https://dabpqy.ds-fa.oraclepdemos.com/) via Basic Auth, exposing suppliers,
purchase orders, invoices, and project costs as callable tools.
⚠️ Security notes (read first)
- No real credentials are committed here.
.envis git-ignored; only.env.example(with placeholder values) is tracked. Fill in the real password locally, never in a commit. - This repo will be public. Do not paste the real
FUSION_PASSWORDinto any file that gets pushed, including screenshots, issues, or commit messages. If it's ever committed, rotate the Oracle password immediately, even after removing it from history. - If you're reusing an install command from another project that embeds a GitHub token in
the URL (
git+https://x-access-token:[email protected]/...), that token grants push/pull access to whatever repo it's scoped to. Don't reuse someone else's token — since this repo is public, you don't need any token at all to install from it (see below).
1. Local setup
git clone https://github.com/yedla26/visdemo-fusion-mcp.git
cd visdemo-fusion-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# edit .env and set FUSION_PASSWORD to the real value
2. Test the connection
python test_connection.py
Expected output on success:
Testing connection to https://dabpqy.ds-fa.oraclepdemos.com as PPM_IMPL ...
[OK] Authenticated successfully.
Common failures:
| Result | Meaning |
|---|---|
401 Unauthorized |
Wrong password, or MFA is enabled on PPM_IMPL (Basic Auth needs MFA off) |
403 Forbidden |
User lacks the data role for that resource |
| Connection/DNS error | VPN required, or the demo instance is down |
3. Create the public GitHub repo
I don't have GitHub write access from here, so create it yourself (one time):
Option A — web UI
- Go to https://github.com/new
- Owner:
yedla26, Repository name:visdemo-fusion-mcp, Visibility: Public - Don't initialize with a README/license (this folder already has one)
- Create repository, then from this folder:
git init git add . git commit -m "Initial commit: Visdemo Fusion MCP server" git branch -M main git remote add origin https://github.com/yedla26/visdemo-fusion-mcp.git git push -u origin main
Option B — GitHub CLI (if gh is installed and authenticated):
gh repo create yedla26/visdemo-fusion-mcp --public --source=. --remote=origin --push
Before pushing, double check .env is NOT staged:
git status # .env should not appear; only .env.example should
4. Connect it to Claude Desktop
Edit your Claude Desktop config (claude_desktop_config.json) and add an entry. Two ways to run it:
A. Run from a local clone (works immediately, no publish step needed):
{
"mcpServers": {
"visdemo-fusion-mcp": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/visdemo-fusion-mcp", "run", "python", "server.py"],
"env": {
"FUSION_BASE_URL": "https://dabpqy.ds-fa.oraclepdemos.com",
"FUSION_USER": "PPM_IMPL",
"FUSION_PASSWORD": "REPLACE_WITH_REAL_PASSWORD",
"FUSION_MAX_ROWS": "100",
"LOG_LEVEL": "INFO"
}
}
}
}
See claude_desktop_config.example.json for a copy of this.
B. Run straight from GitHub via uvx (once step 3 is pushed) — since the repo is
public, no access token is needed in the URL at all:
{
"mcpServers": {
"visdemo-fusion-mcp": {
"command": "uvx",
"args": ["--from", "git+https://github.com/yedla26/visdemo-fusion-mcp", "visdemo-fusion-mcp"],
"env": {
"FUSION_BASE_URL": "https://dabpqy.ds-fa.oraclepdemos.com",
"FUSION_USER": "PPM_IMPL",
"FUSION_PASSWORD": "REPLACE_WITH_REAL_PASSWORD",
"FUSION_MAX_ROWS": "100",
"LOG_LEVEL": "INFO",
"UV_LINK_MODE": "copy"
}
}
}
}
Restart Claude Desktop after editing the config. Then ask Claude to run the test_connection
tool to confirm it's wired up correctly.
Tools exposed
| Tool | Purpose |
|---|---|
test_connection |
Verify auth/connectivity |
get_suppliers |
Search suppliers by name |
get_purchase_orders |
Look up POs |
get_invoices |
Look up payables invoices by supplier |
get_project_costs |
Look up PPM project costs by project number |
Troubleshooting
| Symptom | Fix |
|---|---|
| 401 + MFA error | Use a dedicated implementation user with MFA disabled, or add OAuth 2.0 |
| 429 Too Many Requests | Oracle rate limit (~5000/hr); add retry/backoff |
| Claude Desktop doesn't show the tool | Check config JSON syntax, restart the app, check logs |
Install Visdemo Fusion in Claude Desktop, Claude Code & Cursor
unyly install visdemo-fusion-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add visdemo-fusion-mcp -- uvx --from git+https://github.com/yedla26/visdemo-fusion-mcp visdemo-fusion-mcpFAQ
Is Visdemo Fusion MCP free?
Yes, Visdemo Fusion MCP is free — one-click install via Unyly at no cost.
Does Visdemo Fusion need an API key?
No, Visdemo Fusion runs without API keys or environment variables.
Is Visdemo Fusion hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Visdemo Fusion in Claude Desktop, Claude Code or Cursor?
Open Visdemo Fusion on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Visdemo Fusion with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
