Skip to main content
Glama
ruya-grp

fusion-query-mcp

by ruya-grp

fusion_adhoc_query

Read-onlyIdempotent

Run a one-off SELECT on Oracle Fusion Cloud with bind parameters, returning rows via a temporary report that is deleted after execution.

Instructions

Run one ad-hoc SELECT by authoring an ephemeral report for it.

This pod refuses lexical substitution, so caller SQL cannot travel through a fixed report -- instead this call turns the SQL into a report: a data-model/report pair is created in the catalog, run once with your bind values (parameter-echo verification included), and deleted again. Guarded (read-only, deny-list), audited with the real SQL, and gated behind fusion.allow_adhoc_queries in config.yaml.

Rules the statement must follow (they are the data-model rules):

  • Single SELECT/WITH, no trailing semicolon, read-only.

  • Alias every projection with a simple name -- aliases become the XML element names. SELECT * is rejected; name the columns.

  • Reference parameters as :bind names and pass a value for every one in binds. Literals work too, but binds keep the audit trail honest.

  • Explore first: fusion_list_tables / fusion_describe_table / fusion_search_columns / fusion_describe_flexfields, and read fusion_get_hints for the _TL/_F/_ALL join traps before joining anything.

Cost note: two catalog uploads + two deletes per call. If the same shape of question will be asked again, mint it once with fusion_author_report and run it as a registered report from then on.

Args: sql: The SELECT. Every projection aliased; binds as :p_name. binds: A value for every bind the SQL references, e.g. {"p_from": "2026-01-01"}. No defaults exist here. columns: Only needed when the select list defeats alias parsing; normally derived from the SQL. max_rows: Rows to return, clamped to the server's hard maximum. timeout_s: Per-call timeout in seconds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sqlYes
bindsNo
columnsNo
max_rowsNo
timeout_sNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.1.0

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Reveals significant behavior beyond annotations: ephemeral catalog report creation/deletion, parameter-echo verification, audit with real SQL, config gate, and a cost note of two uploads plus two deletes per call. Annotations already mark it read-only/idempotent/non-destructive, and the description enriches that with implementation-level detail without contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Long but every sentence earns its place; complex constraints are formatted as scannable bullets, and the critical 'one ad-hoc SELECT' is front-loaded. The cost/alternative guidance is concise but not extraneous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity, this is complete: usage constraints, parameter behavior, security/audit implications, performance cost, and routing to the persistent-report sibling are all present. An output schema exists, so not describing return values is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the Args section fully compensates: each of the five parameters gets beyond-schema meaning (aliasing rule for sql, no defaults for binds, fallback role for columns, clamping for max_rows, units for timeout_s).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb-resource pair: 'Run one ad-hoc SELECT by authoring an ephemeral report for it.' It goes on to distinguish the tool from persistent reports by explaining the SQL is turned into a transient report rather than run through a fixed one, which separates it from fusion_run_query/fusion_run_report.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it (one-off ad-hoc SELECT) and when not to: 'If the same shape of question will be asked again, mint it once with fusion_author_report and run it as a registered report from then on.' It also prescribes exploration workflow and hints at config gating.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ruya-grp/Fusion-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server